diff options
| author | Takashi Iwai <tiwai@suse.de> | 2026-04-27 15:37:53 +0300 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2026-05-07 07:14:16 +0300 |
| commit | 438ab932dc6fef5b001dfeba08a18a491edc8f7b (patch) | |
| tree | 68885c4d6bc96236d9b5da3986cfa36f89f22007 | |
| parent | 5b40ec141a29771a0be6a67b9d1da8a3e2ae1b4b (diff) | |
| download | linux-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.c | 2 |
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; |
