Commit 6dd1c05c authored by Takashi Iwai's avatar Takashi Iwai

ALSA: line6/toneport: Move setup_timer() at the beginning

... so that timer_del_sync() in the destructor can be called safely at
any time.  Also move the mod_timer() call in toneport_setup(), which
is a bit clearer place.
Tested-by: default avatarChris Rorvick <chris@rorvick.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 8a3b7c08
......@@ -360,6 +360,8 @@ static void toneport_setup(struct usb_line6_toneport *toneport)
if (toneport_has_led(toneport->type))
toneport_update_led(&usbdev->dev);
mod_timer(&toneport->timer, jiffies + TONEPORT_PCM_DELAY * HZ);
}
/*
......@@ -390,6 +392,9 @@ static int toneport_init(struct usb_interface *interface,
int err;
struct usb_line6_toneport *toneport = (struct usb_line6_toneport *) line6;
setup_timer(&toneport->timer, toneport_start_pcm,
(unsigned long)toneport);
line6->disconnect = line6_toneport_disconnect;
/* initialize PCM subsystem: */
......@@ -435,10 +440,6 @@ static int toneport_init(struct usb_interface *interface,
toneport_setup(toneport);
setup_timer(&toneport->timer, toneport_start_pcm,
(unsigned long)toneport);
mod_timer(&toneport->timer, jiffies + TONEPORT_PCM_DELAY * HZ);
/* register audio system: */
return snd_card_register(line6->card);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment