diff options
-rw-r--r-- | sound/pci/rme9652/hdsp.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c index fe66bcb21475..98a2d911ef17 100644 --- a/sound/pci/rme9652/hdsp.c +++ b/sound/pci/rme9652/hdsp.c | |||
@@ -1428,10 +1428,8 @@ static void snd_hdsp_midi_output_timer(unsigned long data) | |||
1428 | leaving istimer wherever it was set before. | 1428 | leaving istimer wherever it was set before. |
1429 | */ | 1429 | */ |
1430 | 1430 | ||
1431 | if (hmidi->istimer) { | 1431 | if (hmidi->istimer) |
1432 | hmidi->timer.expires = 1 + jiffies; | 1432 | mod_timer(&hmidi->timer, 1 + jiffies); |
1433 | add_timer(&hmidi->timer); | ||
1434 | } | ||
1435 | 1433 | ||
1436 | spin_unlock_irqrestore (&hmidi->lock, flags); | 1434 | spin_unlock_irqrestore (&hmidi->lock, flags); |
1437 | } | 1435 | } |
@@ -1445,11 +1443,9 @@ static void snd_hdsp_midi_output_trigger(struct snd_rawmidi_substream *substream | |||
1445 | spin_lock_irqsave (&hmidi->lock, flags); | 1443 | spin_lock_irqsave (&hmidi->lock, flags); |
1446 | if (up) { | 1444 | if (up) { |
1447 | if (!hmidi->istimer) { | 1445 | if (!hmidi->istimer) { |
1448 | init_timer(&hmidi->timer); | 1446 | setup_timer(&hmidi->timer, snd_hdsp_midi_output_timer, |
1449 | hmidi->timer.function = snd_hdsp_midi_output_timer; | 1447 | (unsigned long) hmidi); |
1450 | hmidi->timer.data = (unsigned long) hmidi; | 1448 | mod_timer(&hmidi->timer, 1 + jiffies); |
1451 | hmidi->timer.expires = 1 + jiffies; | ||
1452 | add_timer(&hmidi->timer); | ||
1453 | hmidi->istimer++; | 1449 | hmidi->istimer++; |
1454 | } | 1450 | } |
1455 | } else { | 1451 | } else { |