]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
can: gs_usb: gs_usb_probe(): use descriptors of current altsetting
authorJohan Hovold <johan@kernel.org>
Tue, 10 Dec 2019 11:32:31 +0000 (12:32 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 28 Apr 2020 18:03:12 +0000 (19:03 +0100)
commit 2f361cd9474ab2c4ab9ac8db20faf81e66c6279b upstream.

Make sure to always use the descriptors of the current alternate setting
to avoid future issues when accessing fields that may differ between
settings.

Signed-off-by: Johan Hovold <johan@kernel.org>
Fixes: d08e973a77d1 ("can: gs_usb: Added support for the GS_USB CAN devices")
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/can/usb/gs_usb.c

index 3da1be6b508b0d68fef125f345beadb45b0a3f87..b58d25aedb72bc44e5db0e44f0970d261d3d3107 100644 (file)
@@ -846,7 +846,7 @@ static int gs_usb_probe(struct usb_interface *intf, const struct usb_device_id *
                             GS_USB_BREQ_HOST_FORMAT,
                             USB_DIR_OUT|USB_TYPE_VENDOR|USB_RECIP_INTERFACE,
                             1,
-                            intf->altsetting[0].desc.bInterfaceNumber,
+                            intf->cur_altsetting->desc.bInterfaceNumber,
                             hconf,
                             sizeof(*hconf),
                             1000);
@@ -869,7 +869,7 @@ static int gs_usb_probe(struct usb_interface *intf, const struct usb_device_id *
                             GS_USB_BREQ_DEVICE_CONFIG,
                             USB_DIR_IN|USB_TYPE_VENDOR|USB_RECIP_INTERFACE,
                             1,
-                            intf->altsetting[0].desc.bInterfaceNumber,
+                            intf->cur_altsetting->desc.bInterfaceNumber,
                             dconf,
                             sizeof(*dconf),
                             1000);