Commit 6c2334e9 authored by Hans de Goede's avatar Hans de Goede Committed by Sarah Sharp

uas: Fix uas not working when plugged into an ehci port

I thought it would be a good idea to also test uas with usb-2, and it turns out
it was, as it did not work. The problem is that the uas driver was passing the
bEndpointAddress' direction bit to usb_rcvbulkpipe, the xhci code seems to not
care about this, but with the ehci code this causes usb_submit_urb failure.

With this fixed the uas code works nicely with an uas device plugged into
an ehci port.
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
parent a887cd36
...@@ -948,13 +948,13 @@ static void uas_configure_endpoints(struct uas_dev_info *devinfo) ...@@ -948,13 +948,13 @@ static void uas_configure_endpoints(struct uas_dev_info *devinfo)
eps[3] = usb_pipe_endpoint(udev, devinfo->data_out_pipe); eps[3] = usb_pipe_endpoint(udev, devinfo->data_out_pipe);
} else { } else {
devinfo->cmd_pipe = usb_sndbulkpipe(udev, devinfo->cmd_pipe = usb_sndbulkpipe(udev,
eps[0]->desc.bEndpointAddress); usb_endpoint_num(&eps[0]->desc));
devinfo->status_pipe = usb_rcvbulkpipe(udev, devinfo->status_pipe = usb_rcvbulkpipe(udev,
eps[1]->desc.bEndpointAddress); usb_endpoint_num(&eps[1]->desc));
devinfo->data_in_pipe = usb_rcvbulkpipe(udev, devinfo->data_in_pipe = usb_rcvbulkpipe(udev,
eps[2]->desc.bEndpointAddress); usb_endpoint_num(&eps[2]->desc));
devinfo->data_out_pipe = usb_sndbulkpipe(udev, devinfo->data_out_pipe = usb_sndbulkpipe(udev,
eps[3]->desc.bEndpointAddress); usb_endpoint_num(&eps[3]->desc));
} }
devinfo->qdepth = usb_alloc_streams(devinfo->intf, eps + 1, 3, 256, devinfo->qdepth = usb_alloc_streams(devinfo->intf, eps + 1, 3, 256,
......
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