On Thu, 4 Oct 2012, Florian Fainelli wrote: > Enhance the ehci-platform driver to also accept no_io_watchdog as a platform > data parameter. When no_io_watchdog is set to 1, the ehci controller will set > ehci->need_io_watchdog to 0. Since most EHCI controllers do need the I/O > watchdog to be on, only let those which need it to turn the watchdog off. > > Signed-off-by: Florian Fainelli <florian@xxxxxxxxxxx> > --- > Changes since v1: > - reworked patch to introduce "no_io_watchdog" instead of "need_io_watchdog" > - reworded commit message accordingly Very good except for one thing... > --- a/drivers/usb/host/ehci-platform.c > +++ b/drivers/usb/host/ehci-platform.c > @@ -32,6 +32,8 @@ static int ehci_platform_reset(struct usb_hcd *hcd) > ehci->has_synopsys_hc_bug = pdata->has_synopsys_hc_bug; > ehci->big_endian_desc = pdata->big_endian_desc; > ehci->big_endian_mmio = pdata->big_endian_mmio; > + if (pdata->no_io_watchdog) > + ehci->need_io_watchdog = 0; > > ehci->caps = hcd->regs + pdata->caps_offset; > retval = ehci_setup(hcd); ehci_setup calls ehci_init, which unconditionally sets need_io_watchdog. Your new "if" statement has to come after this call. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html