summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/ehci-hcd.c
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2012-05-14 19:48:16 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-05-14 21:50:22 +0200
commit1996e6c572969a8cf6d7fa97eef621219acd94a9 (patch)
tree4a6bcdd32202438d6f8a4671a936319c0292dbf3 /drivers/usb/host/ehci-hcd.c
parentUSB: EHCI: improve full-speed isochronous scheduling routine (diff)
downloadlinux-1996e6c572969a8cf6d7fa97eef621219acd94a9.tar.xz
linux-1996e6c572969a8cf6d7fa97eef621219acd94a9.zip
USB: EHCI: work around bug in the Philips ISP1562 controller
This patch (as1556) works around a bug in the Philips ISP1562 EHCI controller. Although the controller claims to support frame-list lengths smaller than the default of 1024 for its periodic schedule, in fact smaller values don't work. A new quirk flag is added to indicate when the bug is present, and if it is then the schedule size is left at the default value. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host/ehci-hcd.c')
-rw-r--r--drivers/usb/host/ehci-hcd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index 5cb775b1802d..f644ba9529ed 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -639,7 +639,7 @@ static int ehci_init(struct usb_hcd *hcd)
INIT_LIST_HEAD(&ehci->cached_itd_list);
INIT_LIST_HEAD(&ehci->cached_sitd_list);
- if (HCC_PGM_FRAMELISTLEN(hcc_params)) {
+ if (HCC_PGM_FRAMELISTLEN(hcc_params) && !ehci->sched_size_bug) {
/* periodic schedule size can be smaller than default */
switch (EHCI_TUNE_FLS) {
case 0: ehci->periodic_size = 1024; break;