Re: USB: on suspend to ram/disk all usb devices are replugged
Date: Tue Mar 27 2007 - 19:29:41 EST
On Tuesday 27 March 2007 20:05:24 Pete Zaitcev wrote:
> On Tue, 27 Mar 2007 13:15:14 -0400 (EDT), Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> > > Suspend to disk still causes "virtual replugging" and I think that controller is reset and will unplug/replug devices anyway
> > > Resolving this problem is very difficult. Maybe it possible to check on unplugging event that this caused by suspend if the same device is
> > > replugged then don't remove/reinstall driver, but this is very difficult to implement properly,
> > > Maybe just refuse to suspend if some valuable device is connected (sorry if it is done this way already)
> > Long ago I posted a patch that would take care of all this. Not just for
> > UHCI, but for any USB controller. Maybe I should dig it out, update it,
> > and submit it.
> Alan, BTW, look at this please:
> > From David Zeuthen
> > If I suspend my box, then on the resume path I see all my USB devices being
> > removed and then added back. This is a problem with storage devices connected
> > via USB.
> > The kernel not send an "remove" event if it's going to send an "add" right
> > after. Instead it should enumerate the bus on resume and only send the events
> > that represents how to get from the previous device tree to the current one.
> > From Pete Zaitcev
> > What does happen if a user suspends, unplugs a USB key, modifies its contents,
> > plugs it back, and resumes? In such a case, there would be no change between
> > the state of USB bus between the before-suspend state and after-resume state.
> > From David Zeuthen
> > In that case the user would see data corruption - just as if he mounts a piece
> > of removable media in a USB card reader; yanks out the card and modifies it
> > elsewhere, and then puts it back in.
> > I my opinion we can't really defend ourselves against such users... We can of
> > course add checks in the file system drivers in the resume hooks to validate the
> > super block and mount read-only if something change.
> The GNOME hath spoken?
> -- Pete
I also thought about that,
I think that the best solution is still to hide connect/disconnect of usb devices from userspace (now it also causes corruption)
But to refuse suspend with any usb mass storage device connected with mounted systems (and add a module param override
for users who know what they are doing)
What do you think ?
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/