[alsa-devel] [PATCH 2/7] ALSA: line6: Abort if inconsistent usbdev is found at disconnect
Takashi Iwai
tiwai at suse.de
Tue Jan 20 10:04:17 CET 2015
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.
Signed-off-by: Takashi Iwai <tiwai at suse.de>
---
sound/usb/line6/driver.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/sound/usb/line6/driver.c b/sound/usb/line6/driver.c
index e8d51381ffdb..625272fe227a 100644
--- a/sound/usb/line6/driver.c
+++ b/sound/usb/line6/driver.c
@@ -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);
--
2.2.1
More information about the Alsa-devel
mailing list