aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2015-01-19 09:15:21 -0500
committerTakashi Iwai <tiwai@suse.de>2015-01-20 02:16:18 -0500
commit84ac9bb12e8158e1affad4ae7718eb653fa5e36d (patch)
treec889e2360957b28edef137264b6d1f8a8838d5ce /sound/usb
parent7d70c81ccaccb74326255fb9549c872bc29193d6 (diff)
ALSA: line6: Drop superfluous irqsave/irqrestore in PCM trigger callback
The PCM trigger callback is guaranteed to be called already in spinlock / irq-disabled context. Tested-by: Chris Rorvick <chris@rorvick.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb')
-rw-r--r--sound/usb/line6/pcm.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/sound/usb/line6/pcm.c b/sound/usb/line6/pcm.c
index 932cc7e194e2..edab3cd7c048 100644
--- a/sound/usb/line6/pcm.c
+++ b/sound/usb/line6/pcm.c
@@ -227,9 +227,8 @@ int snd_line6_trigger(struct snd_pcm_substream *substream, int cmd)
227 struct snd_line6_pcm *line6pcm = snd_pcm_substream_chip(substream); 227 struct snd_line6_pcm *line6pcm = snd_pcm_substream_chip(substream);
228 struct snd_pcm_substream *s; 228 struct snd_pcm_substream *s;
229 int err; 229 int err;
230 unsigned long flags;
231 230
232 spin_lock_irqsave(&line6pcm->lock_trigger, flags); 231 spin_lock(&line6pcm->lock_trigger);
233 clear_bit(LINE6_INDEX_PREPARED, &line6pcm->flags); 232 clear_bit(LINE6_INDEX_PREPARED, &line6pcm->flags);
234 233
235 snd_pcm_group_for_each_entry(s, substream) { 234 snd_pcm_group_for_each_entry(s, substream) {
@@ -240,8 +239,7 @@ int snd_line6_trigger(struct snd_pcm_substream *substream, int cmd)
240 err = snd_line6_playback_trigger(line6pcm, cmd); 239 err = snd_line6_playback_trigger(line6pcm, cmd);
241 240
242 if (err < 0) { 241 if (err < 0) {
243 spin_unlock_irqrestore(&line6pcm->lock_trigger, 242 spin_unlock(&line6pcm->lock_trigger);
244 flags);
245 return err; 243 return err;
246 } 244 }
247 245
@@ -251,8 +249,7 @@ int snd_line6_trigger(struct snd_pcm_substream *substream, int cmd)
251 err = snd_line6_capture_trigger(line6pcm, cmd); 249 err = snd_line6_capture_trigger(line6pcm, cmd);
252 250
253 if (err < 0) { 251 if (err < 0) {
254 spin_unlock_irqrestore(&line6pcm->lock_trigger, 252 spin_unlock(&line6pcm->lock_trigger);
255 flags);
256 return err; 253 return err;
257 } 254 }
258 255
@@ -264,7 +261,7 @@ int snd_line6_trigger(struct snd_pcm_substream *substream, int cmd)
264 } 261 }
265 } 262 }
266 263
267 spin_unlock_irqrestore(&line6pcm->lock_trigger, flags); 264 spin_unlock(&line6pcm->lock_trigger);
268 return 0; 265 return 0;
269} 266}
270 267