On Tue, 29 May 2007, Dan Aloni wrote:That failure mode is pretty uncommon. More often what happens is the connection remains intact but communication/protocol/firmware/??? errors cause the device to stop working. It never disappears but it can't be used again without unplugging or power-cycling. Yes. The difficulty here is that this "error" is indistinguishable from normal activity -- someone simply unplugs the device and then later on another connection is made. It might be the same device as before or it might be a different one. In other words, it isn't really an error. You would solve this by relying on "a few seconds" timeout. Interesting. I've been working on something very much like your 1) for some time. A version of it is now in the USB development tree. It's not meant for situations like the one you describe; instead it is intended for suspend-to-RAM or hibernation. Generally these processes involve loss of power on the USB bus, causing it to appear as though all the devices have been unplugged. In theory the same approach could be used to recover connections even in the absence of an intervening suspend. It would be clumsy in some respects, though. For instance, when a device actually was disconnected, the USB core wouldn't be able to notify the device's driver for a few seconds. In that time lots of unwanted activity and errors could mount up. It also goes against the USB specification. And it is potentially unsafe, in that it is possible for users to change media or make other alterations that the kernel cannot detect. The same would be true of your proposal, assuming that somebody was quick enough to unplug one device and plug in another (or swap memory cards) in the span of a few seconds. Alan Stern -
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Vladislav Bolkhovitin | Re: Integration of SCST in the mainstream Linux kernel |
| Andrew Morton | -mm merge plans for 2.6.23 |
| Can E. Acar | Re: Wasting our Freedom |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | [GIT]: Networking |
| PJ Waskiewicz | [ANNOUNCE] ixgbe: Data Center Bridging (DCB) support for ixgbe |
