Takashi Iwai 2ce2c5
From 3c11c4bed02b202e278c0f5c319ae435d7fb9815 Mon Sep 17 00:00:00 2001
Takashi Iwai 2ce2c5
From: Johan Hovold <johan@kernel.org>
Takashi Iwai 2ce2c5
Date: Tue, 10 Dec 2019 12:25:59 +0100
Takashi Iwai 2ce2c5
Subject: [PATCH] USB: adutux: fix interface sanity check
Takashi Iwai 2ce2c5
Git-commit: 3c11c4bed02b202e278c0f5c319ae435d7fb9815
Takashi Iwai 2ce2c5
Patch-mainline: v5.5-rc2
Takashi Iwai 2ce2c5
References: bsc#1051510
Takashi Iwai 2ce2c5
Takashi Iwai 2ce2c5
Make sure to use the current alternate setting when verifying the
Takashi Iwai 2ce2c5
interface descriptors to avoid binding to an invalid interface.
Takashi Iwai 2ce2c5
Takashi Iwai 2ce2c5
Failing to do so could cause the driver to misbehave or trigger a WARN()
Takashi Iwai 2ce2c5
in usb_submit_urb() that kernels with panic_on_warn set would choke on.
Takashi Iwai 2ce2c5
Takashi Iwai 2ce2c5
Fixes: 03270634e242 ("USB: Add ADU support for Ontrak ADU devices")
Takashi Iwai 2ce2c5
Cc: stable <stable@vger.kernel.org>     # 2.6.19
Takashi Iwai 2ce2c5
Signed-off-by: Johan Hovold <johan@kernel.org>
Takashi Iwai 2ce2c5
Link: https://lore.kernel.org/r/20191210112601.3561-3-johan@kernel.org
Takashi Iwai 2ce2c5
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Takashi Iwai 2ce2c5
Acked-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 2ce2c5
Takashi Iwai 2ce2c5
---
Takashi Iwai 2ce2c5
 drivers/usb/misc/adutux.c | 2 +-
Takashi Iwai 2ce2c5
 1 file changed, 1 insertion(+), 1 deletion(-)
Takashi Iwai 2ce2c5
Takashi Iwai 2ce2c5
diff --git a/drivers/usb/misc/adutux.c b/drivers/usb/misc/adutux.c
Takashi Iwai 2ce2c5
index 6f5edb9fc61e..d8d157c4c271 100644
Takashi Iwai 2ce2c5
--- a/drivers/usb/misc/adutux.c
Takashi Iwai 2ce2c5
+++ b/drivers/usb/misc/adutux.c
Takashi Iwai 2ce2c5
@@ -669,7 +669,7 @@ static int adu_probe(struct usb_interface *interface,
Takashi Iwai 2ce2c5
 	init_waitqueue_head(&dev->read_wait);
Takashi Iwai 2ce2c5
 	init_waitqueue_head(&dev->write_wait);
Takashi Iwai 2ce2c5
 
Takashi Iwai 2ce2c5
-	res = usb_find_common_endpoints_reverse(&interface->altsetting[0],
Takashi Iwai 2ce2c5
+	res = usb_find_common_endpoints_reverse(interface->cur_altsetting,
Takashi Iwai 2ce2c5
 			NULL, NULL,
Takashi Iwai 2ce2c5
 			&dev->interrupt_in_endpoint,
Takashi Iwai 2ce2c5
 			&dev->interrupt_out_endpoint);
Takashi Iwai 2ce2c5
-- 
Takashi Iwai 2ce2c5
2.16.4
Takashi Iwai 2ce2c5