aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/xhci.c')
-rw-r--r--drivers/usb/host/xhci.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 6fe577d46fa2..924a6ccdb622 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -4733,6 +4733,9 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
4733 /* Accept arbitrarily long scatter-gather lists */ 4733 /* Accept arbitrarily long scatter-gather lists */
4734 hcd->self.sg_tablesize = ~0; 4734 hcd->self.sg_tablesize = ~0;
4735 4735
4736 /* support to build packet from discontinuous buffers */
4737 hcd->self.no_sg_constraint = 1;
4738
4736 /* XHCI controllers don't stop the ep queue on short packets :| */ 4739 /* XHCI controllers don't stop the ep queue on short packets :| */
4737 hcd->self.no_stop_on_short = 1; 4740 hcd->self.no_stop_on_short = 1;
4738 4741
@@ -4757,14 +4760,6 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
4757 /* xHCI private pointer was set in xhci_pci_probe for the second 4760 /* xHCI private pointer was set in xhci_pci_probe for the second
4758 * registered roothub. 4761 * registered roothub.
4759 */ 4762 */
4760 xhci = hcd_to_xhci(hcd);
4761 /*
4762 * Support arbitrarily aligned sg-list entries on hosts without
4763 * TD fragment rules (which are currently unsupported).
4764 */
4765 if (xhci->hci_version < 0x100)
4766 hcd->self.no_sg_constraint = 1;
4767
4768 return 0; 4763 return 0;
4769 } 4764 }
4770 4765
@@ -4793,9 +4788,6 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
4793 if (xhci->hci_version > 0x96) 4788 if (xhci->hci_version > 0x96)
4794 xhci->quirks |= XHCI_SPURIOUS_SUCCESS; 4789 xhci->quirks |= XHCI_SPURIOUS_SUCCESS;
4795 4790
4796 if (xhci->hci_version < 0x100)
4797 hcd->self.no_sg_constraint = 1;
4798
4799 /* Make sure the HC is halted. */ 4791 /* Make sure the HC is halted. */
4800 retval = xhci_halt(xhci); 4792 retval = xhci_halt(xhci);
4801 if (retval) 4793 if (retval)