aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/rme9652/hdsp.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/rme9652/hdsp.c')
-rw-r--r--sound/pci/rme9652/hdsp.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c
index cf5a6c8b9a63..c19e021ccf66 100644
--- a/sound/pci/rme9652/hdsp.c
+++ b/sound/pci/rme9652/hdsp.c
@@ -29,6 +29,7 @@
29#include <linux/module.h> 29#include <linux/module.h>
30#include <linux/math64.h> 30#include <linux/math64.h>
31#include <linux/vmalloc.h> 31#include <linux/vmalloc.h>
32#include <linux/io.h>
32 33
33#include <sound/core.h> 34#include <sound/core.h>
34#include <sound/control.h> 35#include <sound/control.h>
@@ -42,7 +43,6 @@
42 43
43#include <asm/byteorder.h> 44#include <asm/byteorder.h>
44#include <asm/current.h> 45#include <asm/current.h>
45#include <asm/io.h>
46 46
47static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ 47static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */
48static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ 48static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */
@@ -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 {
@@ -5309,9 +5305,7 @@ static int snd_hdsp_free(struct hdsp *hdsp)
5309 5305
5310 release_firmware(hdsp->firmware); 5306 release_firmware(hdsp->firmware);
5311 vfree(hdsp->fw_uploaded); 5307 vfree(hdsp->fw_uploaded);
5312 5308 iounmap(hdsp->iobase);
5313 if (hdsp->iobase)
5314 iounmap(hdsp->iobase);
5315 5309
5316 if (hdsp->port) 5310 if (hdsp->port)
5317 pci_release_regions(hdsp->pci); 5311 pci_release_regions(hdsp->pci);