Hi,

On Mon, Jan 29, 2007 at 10:41:58AM -0500, Alan Stern wrote:
> On Sun, 28 Jan 2007, Dominik Brodowski wrote:
> 
> > > You could try another test: Let the IRQ be disabled, and then rmmod 
> > > ehci-hcd and modprobe it back.  Perhaps then rmmod usb-storage to force 
> > > another suspend, perhaps not.  Anyway, see what happens to intr_enable.  
> > > You can always force interrupts to occur by turning the USB HD off or on.
> > 
> > Unfortunately, the IRQ line is and stays disabled, and I don't know how I
> > could re-enable it.
> 
> Loading a driver that uses the IRQ should re-enable it.

Ah, okay, need to remember that. Thanks.

> > > It would be possible to patch the ehci_irq() routine to have it turn off
> > > the STS_FLR bit whenever necessary.  But first I would like to know what
> > > causes it to turn on at all.  Maybe it really is a hardware problem.
> > 
> > I did that (see below), but then the IRQ subsystem continued to be "dead"
> > -- it seemed to me that the USB hub is in a completely broken state when
> > this codepath is entered...
> 
> What exactly do you mean?

Allright, done some more debugging:
- using my patch with your fix, devices which are already plugged in when
  the STS_FLR exception occurs continue to work
- however, new devices which are plugged in, or devices which are removed,
  (unless the hub driver is awakened by other means) do not get noticed
- the STS_FLR exception is easily reproducible for me:
  - plug in USB HD
  - rmmod usb_storage
  - wait between one and seven seconds

> Can you provide a dmesg log with CONFIG_USB_DEBUG turned on?

http://userweb.kernel.org/~brodo/dmesg-2.6.19.2 - 2.6.19.2 which really
        seems to work fine (even when doing suspend to RAM and suspend
        to disk)
http://userweb.kernel.org/~brodo/dmesg-2.6.20-rc6 - the first part with
        all the intialization, and the first STS_FLR exception occuring
http://userweb.kernel.org/~brodo/dmesg-2.6.20-rc6-part2 - second part where
        the USB devices are partly in use, partly suspending is forced,
        and STS_FLR exceptions occur

> > To further complicate matters, I now also see IRQ10 being disabled whenever
> > I switch from the console (i810) to a terminal -- but that bug was
> > introduced _later_ than the autosuspend bug. And, 2.6.19 works perfectly
> > fine with regard to both issues...
> 
> Are you entirely certain that 2.6.19 works perfectly?  It does a lot less 
> autosuspending than 2.6.20, true...  But if you force a suspend in 2.6.19 
> do you then see the same sort of IRQ trouble?

How do I force a suspend? Is suspend to RAM / suspend to disk enough to
force it, or from what you can else see in the dmesg?

Hope this helps,
        Dominik

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to