summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2026-04-27 15:37:53 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-05-07 07:14:16 +0300
commit438ab932dc6fef5b001dfeba08a18a491edc8f7b (patch)
tree68885c4d6bc96236d9b5da3986cfa36f89f22007
parent5b40ec141a29771a0be6a67b9d1da8a3e2ae1b4b (diff)
downloadlinux-438ab932dc6fef5b001dfeba08a18a491edc8f7b.tar.xz
ALSA: caiaq: Fix potentially leftover ep1_in_urb at error path
commit 0a7b5221b5b51cc798fcfc3be00d02eade149d69 upstream. The previous fix for handling the error from setup_card() missed that an internal URB cdev->ep1_in_urb might have been already submitted beforehand. In the normal case, this URB gets killed at the disconnection, but in the error path, we didn't do it, hence there can be a potential leak. Fix it in the error path for setup_card(), too. Fixes: 28abd224db4a ("ALSA: caiaq: Handle probe errors properly") Cc: <stable@vger.kernel.org> Link: https://patch.msgid.link/20260427123819.890185-1-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--sound/usb/caiaq/device.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/usb/caiaq/device.c b/sound/usb/caiaq/device.c
index 8af0c04041ee..e6fe82e4e3d7 100644
--- a/sound/usb/caiaq/device.c
+++ b/sound/usb/caiaq/device.c
@@ -514,7 +514,7 @@ static int init_card(struct snd_usb_caiaqdev *cdev)
card->private_free = card_free;
err = setup_card(cdev);
if (err < 0)
- return err;
+ goto err_kill_urb;
return 0;