Commit 6134041b authored by Hans de Goede's avatar Hans de Goede Committed by Sarah Sharp

uas: Verify endpoint descriptors from uas_use_uas_driver()

Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
parent 74d71aec
...@@ -70,13 +70,23 @@ static int uas_find_endpoints(struct usb_host_interface *alt, ...@@ -70,13 +70,23 @@ static int uas_find_endpoints(struct usb_host_interface *alt,
static int uas_use_uas_driver(struct usb_interface *intf, static int uas_use_uas_driver(struct usb_interface *intf,
const struct usb_device_id *id) const struct usb_device_id *id)
{ {
struct usb_host_endpoint *eps[4] = { };
struct usb_device *udev = interface_to_usbdev(intf); struct usb_device *udev = interface_to_usbdev(intf);
unsigned long flags = id->driver_info; unsigned long flags = id->driver_info;
int r, alt;
usb_stor_adjust_quirks(udev, &flags); usb_stor_adjust_quirks(udev, &flags);
if (flags & US_FL_IGNORE_UAS) if (flags & US_FL_IGNORE_UAS)
return 0; return 0;
return uas_find_uas_alt_setting(intf) >= 0; alt = uas_find_uas_alt_setting(intf);
if (alt < 0)
return 0;
r = uas_find_endpoints(&intf->altsetting[alt], eps);
if (r < 0)
return 0;
return 1;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment