Skip to content

Commit

Permalink
ALSA: line6/toneport: Move setup_timer() at the beginning
Browse files Browse the repository at this point in the history
... 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: Chris Rorvick <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
  • Loading branch information
tiwai committed Jan 28, 2015
1 parent 8a3b7c0 commit 6dd1c05
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions sound/usb/line6/toneport.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

/*
Expand Down Expand Up @@ -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: */
Expand Down Expand Up @@ -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);
}
Expand Down

0 comments on commit 6dd1c05

Please sign in to comment.