Dave:

I just tried doing some hibernation testing, and my external high-speed
hub is behaving very strangely.  The test is simple.  First plug in the
hub, then plug a flash drive into the hub to keep it from
autosuspending.  Then:

        echo test >/sys/power/disk
        echo disk >/sys/power/state

The first line causes the hibernation to stop after the PM_EVENT_FREEZE 
message has been sent; after that everything is woken back up.  There 
are no bus-power-level changes since the EHCI controller remains in D0 
throughout.

This sequence causes the hub to disconnect and reconnect itself!  When
khubd starts running again, it sees the port-connect-change event.

This happens only with the hub; if I plug the flash drive into the 
computer's USB port instead of plugging the hub there, the drive 
remains connected at the end of the test.

The hub doesn't disconnect itself like this during a runtime suspend.  
In fact, if I run the hibernation test while the hub is already
suspended then there is no port-connect-change event and the hub can be
resumed normally.

Do you have any idea how this could be happening?  As far as I can 
tell, the hub shouldn't be able to distinguish one sort of suspend from 
another.

Alan Stern

-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to