ALSA: line6: Abort if inconsistent usbdev is found at disconnect
It's utterly unsafe to proceed further the disconnect procedure if the assigned usbdev is inconsistent with the expected object. Better to put a WARN_ON() for more cautions and abort immediately. Tested-by: Chris Rorvick <chris@rorvick.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
270fd9c7f9
Коммит
2a324fcdb5
|
@ -585,12 +585,12 @@ void line6_disconnect(struct usb_interface *interface)
|
|||
if (!line6)
|
||||
return;
|
||||
|
||||
if (WARN_ON(usbdev != line6->usbdev))
|
||||
return;
|
||||
|
||||
if (line6->urb_listen != NULL)
|
||||
line6_stop_listen(line6);
|
||||
|
||||
if (usbdev != line6->usbdev)
|
||||
dev_err(line6->ifcdev, "driver bug: inconsistent usb device\n");
|
||||
|
||||
snd_card_disconnect(line6->card);
|
||||
if (line6->line6pcm)
|
||||
line6_pcm_disconnect(line6->line6pcm);
|
||||
|
|
Загрузка…
Ссылка в новой задаче