Re: webcam problem after suspend/hibernate

From: Pavel Machek
Date: Sun Apr 11 2010 - 11:44:54 EST


Hi!

> > > My testing shows that:
> > > 1. If I remove uvcvideo BEFORE suspend and reinsert it after resume,
> > >
> > > it works. However, I cannot always rmmod uvcvideo before suspend
> > > as it may be in use.
...
> > > I think uvcvideo is failing to reinitialize the camera on resume, and
> > > forcing an uvcvideo "reset" with either of these three methods kicks
> > > uvcvideo into working again.
> >
> > Ok, that puts the problem firmly into uvcvideo area.
>
> No, it doesn't.

I believe that the fact that rmmod/insmod fixes it means that problem
is in the driver (and not in ehci or something like that).

> First of all, the dmesg output available on pastebin.com is difficult to
> understand. As it seems you perform several suspend/resume cycles there.
> Mohamed, could you please
>
> - clear the kernel log ('dmesg -c' as root)
> - suspend and resume your system
> - post the kernel log content ('dmesg')
> - clear the kernel log
> - try to use your webcam with whatever test software your prefer
> - describe the failure (application error messages, ...)
> - post the kernel log content

Good idea.

> > Try changing its _resume routine to whatever is done on device
> > unplug... it should be rather easy, and is quite close to "correct"
> > solution.
>
> That's not a solution. Devices are supposed to resume properly without being
> reset. The camera might be crashing, or the USB core might be doing something
> wrong, requiring some kind of reset. I'd like to diagnose the problem
> correctly before trying to fix it.

Ok. (You are right that simulating rmmod/insmod is not the same as
proper suspend/resume support, but I still guess it would help with
debugging.)
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
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/