Re: webcam problem after suspend/hibernate

From: Pavel Machek
Date: Sun Apr 04 2010 - 15:33:48 EST


Hi!

> > If unload/reload of uvcvideo helps, it is most likely problem in that.
> >
> > If unload/reload of ehci_hcd is needed, it is most likely ehci problem.
>
> 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.
>
> 2. As a work around, removing ehci_hcd and reinserting ehci_hcd upon
> resume works as well.
>
> 3. Since my distribution's kernels come with ehci_hcd built into the
> kernel, and I cannot do #2 any more, I also found that unbinding
> and rebinding the device (with the script I sent earlier on) works
> as well.
>
> 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.

Try changing its _resume routine to whatever is done on device
unplug... it should be rather easy, and is quite close to "correct"
solution.


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/