diff options
Diffstat (limited to 'drivers/usb/host/xhci.c')
-rw-r--r-- | drivers/usb/host/xhci.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index 652be2138b4b..8fe4e124ddd4 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c | |||
@@ -4762,6 +4762,9 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) | |||
4762 | /* Accept arbitrarily long scatter-gather lists */ | 4762 | /* Accept arbitrarily long scatter-gather lists */ |
4763 | hcd->self.sg_tablesize = ~0; | 4763 | hcd->self.sg_tablesize = ~0; |
4764 | 4764 | ||
4765 | /* support to build packet from discontinuous buffers */ | ||
4766 | hcd->self.no_sg_constraint = 1; | ||
4767 | |||
4765 | /* XHCI controllers don't stop the ep queue on short packets :| */ | 4768 | /* XHCI controllers don't stop the ep queue on short packets :| */ |
4766 | hcd->self.no_stop_on_short = 1; | 4769 | hcd->self.no_stop_on_short = 1; |
4767 | 4770 | ||
@@ -4786,14 +4789,6 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) | |||
4786 | /* xHCI private pointer was set in xhci_pci_probe for the second | 4789 | /* xHCI private pointer was set in xhci_pci_probe for the second |
4787 | * registered roothub. | 4790 | * registered roothub. |
4788 | */ | 4791 | */ |
4789 | xhci = hcd_to_xhci(hcd); | ||
4790 | /* | ||
4791 | * Support arbitrarily aligned sg-list entries on hosts without | ||
4792 | * TD fragment rules (which are currently unsupported). | ||
4793 | */ | ||
4794 | if (xhci->hci_version < 0x100) | ||
4795 | hcd->self.no_sg_constraint = 1; | ||
4796 | |||
4797 | return 0; | 4792 | return 0; |
4798 | } | 4793 | } |
4799 | 4794 | ||
@@ -4822,9 +4817,6 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) | |||
4822 | if (xhci->hci_version > 0x96) | 4817 | if (xhci->hci_version > 0x96) |
4823 | xhci->quirks |= XHCI_SPURIOUS_SUCCESS; | 4818 | xhci->quirks |= XHCI_SPURIOUS_SUCCESS; |
4824 | 4819 | ||
4825 | if (xhci->hci_version < 0x100) | ||
4826 | hcd->self.no_sg_constraint = 1; | ||
4827 | |||
4828 | /* Make sure the HC is halted. */ | 4820 | /* Make sure the HC is halted. */ |
4829 | retval = xhci_halt(xhci); | 4821 | retval = xhci_halt(xhci); |
4830 | if (retval) | 4822 | if (retval) |