Re: [linux-usb-devel] Re: [linux-pm] potential pitfall? changing configuration while PC in hibernate (fwd)

From: David Brownell
Date: Thu May 26 2005 - 12:36:42 EST


On Wednesday 25 May 2005 4:47 pm, Andrew Morton wrote:
> Michal Semler <cijoml@xxxxxxxx> wrote:
> >
> > It is real stupid, that Linux kernel freezes when simply during hibernate I
> > change Bluetooth dongle to USB mouse in my USB port.

That is, you unplug the dongle -- breaking the USB power session -- and then
plug in a mouse? And the kernel does something other than disconnecting the
dongle, and then enumerate a new mouse? That'd be a bug. Somewhere. It'd
probably help a lot if the bluetooth USB driver had a suspend() method.

It's not clear to me what you mean by "hibernate". If that's an "everything
powered off" pseudo-suspend state, then the dongle should always be getting
disconnected, and USB always re-enumerated by Linux. Only "real suspend"
states, like suspend-to-RAM, can normally maintain USB power sessions. And
even then, the device drivers need to be prepared to maintain them ... and
do things like stop active I/O requests, and resume them later.

You said this was an all-Intel system. So which host controller driver is
in use here ... UHCI? EHCI? With RC5 and CONFIG_USB_DEBUG, what do the
USB debug messages say is happening? Does CONFIG_USB_SUSPEND change things?
Try this with purely modular USB for now.

- Dave

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/