--- zzzz-none-000/linux-2.6.28.10/drivers/usb/host/ohci-hub.c 2009-05-02 18:54:43.000000000 +0000 +++ fusiv-7390-686/linux-2.6.28.10/drivers/usb/host/ohci-hub.c 2012-02-14 14:37:49.000000000 +0000 @@ -461,6 +461,16 @@ if (ohci_readl(ohci, &ohci->regs->intrenable) & OHCI_INTR_RHSC) return 0; +#ifdef CONFIG_FUSIV_VX185 + /* Workaround-2: If no device is connected on both the ports, then enable the + * CF bit so that the port routing defaults to EHCI controller + */ + if (!(*(volatile unsigned long *)0xb90000ec & (0x01000000))) { + if (any_connected == 0) + *(volatile unsigned long *)0xb9120050 = 0x00000001; + } +#endif + /* If status changes are pending, continue polling. * Conversely, if no status changes are pending but the RHSC * status bit was set, then RHSC may be broken so continue polling.