Re: [linux-usb-devel] spontaneous disconnect with "usb-storage: implement autosuspend"
Mark Lord <[email protected]>
| Newsgroups | gmane.linux.kernel,gmane.linux.usb.devel |
|---|---|
| Message-ID | <[email protected]> |
Oliver Neukum wrote: > Am Dienstag 14 August 2007 schrieb Paolo Ornati: >> On Tue, 14 Aug 2007 17:46:16 +0200 >> Oliver Neukum <[email protected]> wrote: >> >>> Am Dienstag 14 August 2007 schrieb Paolo Ornati: >>>> Hewlett-Packard PhotoSmart 720 / PhotoSmart 935 (storage) >>> Please try this patch. >> Tried on -rc3 but it doesn't work, dmesg attached. >> >> However I've found that if "hald" is running the problems doesn't >> happen (I think it's just hidden by the fact that hald do some polling >> on it preventing autosuspend to trigger). > > Exactly. This is not reliable. It needs to be done in kernel. This patch > should do it. > > Regards > Oliver > > --- > > --- a/drivers/usb/core/quirks.c 2007-08-14 17:42:22.000000000 +0200 > +++ b/drivers/usb/core/quirks.c 2007-08-14 20:30:28.000000000 +0200 > @@ -30,6 +30,8 @@ > static const struct usb_device_id usb_quirk_list[] = { > /* HP 5300/5370C scanner */ > { USB_DEVICE(0x03f0, 0x0701), .driver_info = USB_QUIRK_STRING_FETCH_255 }, > + /* Hewlett-Packard PhotoSmart 720 / PhotoSmart 935 (storage) */ > + { USB_DEVICE(0x03f0, 0x4002), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, > /* Acer Peripherals Inc. (now BenQ Corp.) Prisa 640BU */ > { USB_DEVICE(0x04a5, 0x207e), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, > /* Benq S2W 3300U */ > - I believe the offending commit needs to be reverted. It just breaks too much stuff, including my Sandisk USB sticks. > with "CONFIG_USB_SUSPEND=y", since commit: > > 8dfe4b14869fd185ca25ee88b02ada58a3005eaf > usb-storage: implement autosuspend > > This patch (as930) implements autosuspend for usb-storage. It is > adapted from a patch by Oliver Neukum. Autosuspend is allowed except > during LUN scanning, resets, and command execution. > > my USB photo-camera gets automagically disconnected before I can do > anything with it ;) Ditto for several other devices that are being slowly special-cased, and many that have yet to be tested. This commit is (unfortunately) a disaster with many regressions. Andrew, Linus?