summaryrefslogtreecommitdiff
path: root/recipes/linux/linux-mtx-1-2.4.27/42-usb-ohci-fixes.patch
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/linux/linux-mtx-1-2.4.27/42-usb-ohci-fixes.patch
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/linux/linux-mtx-1-2.4.27/42-usb-ohci-fixes.patch')
-rw-r--r--recipes/linux/linux-mtx-1-2.4.27/42-usb-ohci-fixes.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/recipes/linux/linux-mtx-1-2.4.27/42-usb-ohci-fixes.patch b/recipes/linux/linux-mtx-1-2.4.27/42-usb-ohci-fixes.patch
new file mode 100644
index 0000000000..aa5a0d45f7
--- /dev/null
+++ b/recipes/linux/linux-mtx-1-2.4.27/42-usb-ohci-fixes.patch
@@ -0,0 +1,51 @@
+--- linux/drivers/usb/host/usb-ohci.c.orig 2006-03-30 11:38:08.972225500 +0200
++++ linux/drivers/usb/host/usb-ohci.c 2006-03-30 11:39:46.858343000 +0200
+@@ -104,6 +104,10 @@
+
+ #define OHCI_UNLINK_TIMEOUT (HZ / 10)
+
++static int ohci_delay = 3000;
++MODULE_PARM(ohci_delay, "i");
++MODULE_PARM_DESC(ohci_delay, "Wait time [ms] for OHCI to come up");
++
+ /*-------------------------------------------------------------------------*/
+
+ /* AMD-756 (D2 rev) reports corrupt register contents in some cases.
+@@ -147,7 +151,7 @@
+ ohci->complete_head = urb;
+ ohci->complete_tail = urb;
+ } else {
+- ohci->complete_head->hcpriv = urb;
++ ohci->complete_tail->hcpriv = urb;
+ ohci->complete_tail = urb;
+ }
+ }
+@@ -2587,12 +2591,12 @@
+ hc_release_ohci (ohci);
+ return -ENODEV;
+ }
+-
++#if 0
+ /* FIXME this is a second HC reset; why?? */
+ writel (ohci->hc_control = OHCI_USB_RESET, &ohci->regs->control);
+ (void)readl (&ohci->regs->intrdisable); /* PCI posting flush */
+ wait_ms (10);
+-
++#endif
+ usb_register_bus (ohci->bus);
+
+ if (request_irq (irq, hc_interrupt, SA_SHIRQ,
+@@ -2668,6 +2672,13 @@
+ void *mem_base;
+ int status;
+
++ printk ("waiting for ohci to come up\n");
++ mdelay(ohci_delay);
++ /* We have to wait for about four seconds for some devices to be available.
++ * This may only be a matter of the Option Globetrotter Fusion,
++ * that may need to much time to start up correctly. */
++ printk ("ohci should be up\n");
++
+ if (pci_enable_device(dev) < 0)
+ return -ENODEV;
+