Commit 2a324fcd authored by Takashi Iwai's avatar Takashi Iwai

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: default avatarChris Rorvick <chris@rorvick.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 270fd9c7
...@@ -585,12 +585,12 @@ void line6_disconnect(struct usb_interface *interface) ...@@ -585,12 +585,12 @@ void line6_disconnect(struct usb_interface *interface)
if (!line6) if (!line6)
return; return;
if (WARN_ON(usbdev != line6->usbdev))
return;
if (line6->urb_listen != NULL) if (line6->urb_listen != NULL)
line6_stop_listen(line6); line6_stop_listen(line6);
if (usbdev != line6->usbdev)
dev_err(line6->ifcdev, "driver bug: inconsistent usb device\n");
snd_card_disconnect(line6->card); snd_card_disconnect(line6->card);
if (line6->line6pcm) if (line6->line6pcm)
line6_pcm_disconnect(line6->line6pcm); line6_pcm_disconnect(line6->line6pcm);
......
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