On Thu, 15 Jul 2010, Alessio Sangalli wrote: > On 07/15/2010 07:10 AM, Alan Stern wrote: > > > Do you know exactly which code that is? Maybe the divisions can be > > removed or simplified. For example, see > > > > http://marc.info/?l=linux-usb&m=127911981822386&w=2 > > Oh, very very interesting! You can go ahead and try that patch to see if it helps. It might need a little manual adjustment to apply on your kernel. > > So would I. However some EHCI hardware is buggy and requires the > > watchdog interrupt in order to run correctly. In recent kernels it is > > possible to turn off the watchdog interrupt for controllers that are > > known to be good. See the references to ehci->need_io_watchdog in > > ehci-pci.c:ehci_pci_setup(). > > I will have a look. We are not using PCI and as far as I know our > controller should not have problems. Then you can try clearing the need_io_watchdog flag. > > Yes, it is necessary. Otherwise an interrupt could cause some other > > driver to submit or cancel an URB while ehci_work is busy, leading to > > data corruption or a system hang. > > In our case we disabled the interrupt line of the USB controller (that > is not shared with other devices, in particular the audio device) and > preliminary tests seem to be fine, but according to your statement it is > only a disaster waiting to happen :) ??? That's right. 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