aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2013-10-17 16:20:54 -0400
committerSarah Sharp <sarah.a.sharp@linux.intel.com>2014-03-04 18:38:09 -0500
commit6c2334e9019039d7952190e239e6a8f0d10101fe (patch)
tree07a353c0a28956d71f3d83072d568dfc59782995
parenta887cd366347c38607f0d9c28ca2baed40cac8fc (diff)
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: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
-rw-r--r--drivers/usb/storage/uas.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
index 5eacb8054457..6ad5de9639d5 100644
--- a/drivers/usb/storage/uas.c
+++ b/drivers/usb/storage/uas.c
@@ -948,13 +948,13 @@ static void uas_configure_endpoints(struct uas_dev_info *devinfo)
948 eps[3] = usb_pipe_endpoint(udev, devinfo->data_out_pipe); 948 eps[3] = usb_pipe_endpoint(udev, devinfo->data_out_pipe);
949 } else { 949 } else {
950 devinfo->cmd_pipe = usb_sndbulkpipe(udev, 950 devinfo->cmd_pipe = usb_sndbulkpipe(udev,
951 eps[0]->desc.bEndpointAddress); 951 usb_endpoint_num(&eps[0]->desc));
952 devinfo->status_pipe = usb_rcvbulkpipe(udev, 952 devinfo->status_pipe = usb_rcvbulkpipe(udev,
953 eps[1]->desc.bEndpointAddress); 953 usb_endpoint_num(&eps[1]->desc));
954 devinfo->data_in_pipe = usb_rcvbulkpipe(udev, 954 devinfo->data_in_pipe = usb_rcvbulkpipe(udev,
955 eps[2]->desc.bEndpointAddress); 955 usb_endpoint_num(&eps[2]->desc));
956 devinfo->data_out_pipe = usb_sndbulkpipe(udev, 956 devinfo->data_out_pipe = usb_sndbulkpipe(udev,
957 eps[3]->desc.bEndpointAddress); 957 usb_endpoint_num(&eps[3]->desc));
958 } 958 }
959 959
960 devinfo->qdepth = usb_alloc_streams(devinfo->intf, eps + 1, 3, 256, 960 devinfo->qdepth = usb_alloc_streams(devinfo->intf, eps + 1, 3, 256,