On Sun, 1 Jan 2012 22:27:56 +0100
Oliver Neukum [off-list ref] wrote:
Ideally usbcore would deal with such devices, but at present the USB layer
is unable to cleanly resume devices that change their IDs during
resume.
Solving this would mean putting all firmware loaders into kernel space.
And the mode switching logic as well.
I don't get it. Why would a device enter a state after resume, that it was not
in at _any_ time before the machine was suspended?
These change-id-on-bootstrap devices usually work like this,
as far as I know:
probe bootstrap device (switches hw to real device)
probe real device (firmware is loaded)
Suspend machine
Resume machine
usb detects that the device is "gone"
probe/resume bootstrap device (switches hw to real device)
probe/resume real device (No need to fetch fw from userspace. It's already cached)
What did I get wrong?
--
Greetings, Michael.