aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2015-01-20 09:09:27 +0100
committerTakashi Iwai <tiwai@suse.de>2015-01-28 07:19:55 +0100
commiteedd0e95d355c7bc09df1481ef92511f631832b3 (patch)
treec7b539fd888746b3414b869e96fadb8e879f4ce6
parentALSA: line6/toneport: Move setup_timer() at the beginning (diff)
downloadlinux-dev-eedd0e95d355c7bc09df1481ef92511f631832b3.tar.xz
linux-dev-eedd0e95d355c7bc09df1481ef92511f631832b3.zip
ALSA: line6: Don't forget to call driver's destructor at error path
Currently disconnect callback is used as a driver's destructor, and this has to be called not only at the disconnection time but also at the error paths during probe. Tested-by: Chris Rorvick <chris@rorvick.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/usb/line6/driver.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/usb/line6/driver.c b/sound/usb/line6/driver.c
index 625272fe227a..e7f9a99e1949 100644
--- a/sound/usb/line6/driver.c
+++ b/sound/usb/line6/driver.c
@@ -568,6 +568,8 @@ int line6_probe(struct usb_interface *interface,
return 0;
err_destruct:
+ if (line6->disconnect)
+ line6->disconnect(interface);
snd_card_free(card);
err_put:
return ret;