diff options
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/korg1212/korg1212.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/pci/korg1212/korg1212.c b/sound/pci/korg1212/korg1212.c index a8a6a5c41a7f..4eddb512c12f 100644 --- a/sound/pci/korg1212/korg1212.c +++ b/sound/pci/korg1212/korg1212.c | |||
@@ -609,8 +609,9 @@ static void snd_korg1212_SendStopAndWait(struct snd_korg1212 *korg1212) | |||
609 | static void snd_korg1212_timer_func(unsigned long data) | 609 | static void snd_korg1212_timer_func(unsigned long data) |
610 | { | 610 | { |
611 | struct snd_korg1212 *korg1212 = (struct snd_korg1212 *) data; | 611 | struct snd_korg1212 *korg1212 = (struct snd_korg1212 *) data; |
612 | unsigned long flags; | ||
612 | 613 | ||
613 | spin_lock(&korg1212->lock); | 614 | spin_lock_irqsave(&korg1212->lock, flags); |
614 | if (korg1212->sharedBufferPtr->cardCommand == 0) { | 615 | if (korg1212->sharedBufferPtr->cardCommand == 0) { |
615 | /* ack'ed */ | 616 | /* ack'ed */ |
616 | korg1212->stop_pending_cnt = 0; | 617 | korg1212->stop_pending_cnt = 0; |
@@ -632,7 +633,7 @@ static void snd_korg1212_timer_func(unsigned long data) | |||
632 | stateName[korg1212->cardState]); | 633 | stateName[korg1212->cardState]); |
633 | } | 634 | } |
634 | } | 635 | } |
635 | spin_unlock(&korg1212->lock); | 636 | spin_unlock_irqrestore(&korg1212->lock, flags); |
636 | } | 637 | } |
637 | 638 | ||
638 | static int snd_korg1212_TurnOnIdleMonitor(struct snd_korg1212 *korg1212) | 639 | static int snd_korg1212_TurnOnIdleMonitor(struct snd_korg1212 *korg1212) |