usb/uhci: initialize sg_table properly
[firefly-linux-kernel-4.4.55.git] / drivers / usb / host / uhci-hcd.c
index 6b5eb1017e2ca601044e3d1856d87070b0d21328..e37dea87bb5633fe8d88b77f443edb761f1aa584 100644 (file)
@@ -565,6 +565,9 @@ static int uhci_start(struct usb_hcd *hcd)
        struct dentry __maybe_unused *dentry;
 
        hcd->uses_new_polling = 1;
+       /* Accept arbitrarily long scatter-gather lists */
+       if (!(hcd->driver->flags & HCD_LOCAL_MEM))
+               hcd->self.sg_tablesize = ~0;
 
        spin_lock_init(&uhci->lock);
        setup_timer(&uhci->fsbr_timer, uhci_fsbr_timeout,