Re: em28xx breaks after hibernate

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Johannes and Shuah,

Em Thu, 25 Sep 2014 07:45:37 -0600
Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> escreveu:

> Hi Johannes,
> 
> On 09/25/2014 06:53 AM, Johannes Stezenbach wrote:
> > Hi Shuah,
> > 
> > ever since your patchset which implements suspend/resume
> > for em28xx, hibernating the system breaks the Hauppauge WinTV HVR 930C driver.
> > In v3.15.y and v3.16.y it throws a request_firmware warning
> > during hibernate + resume, and the /dev/dvb/ device nodes disappears after
> > resume.  In current git v3.17-rc6-247-g005f800, it hangs
> > after resume.  I bisected the hang in qemu to
> > b89193e0b06f "media: em28xx - remove reset_resume interface",
> > the hang is fixed if I revert this commit on top of v3.17-rc6-247-g005f800.

Yes, that patch is very likely wrong. I talked with some PM
maintainers with experience at the USB core: basically, some drivers
call reset_resume, while others call resume. So, drivers need to
implement both callbacks in order to be properly resumed.

> > 
> > Regarding the request_firmware issue. I think a possible
> > fix would be:
> 
> The request_firmware has been fixed. I ran into this on
> Hauppauge WinTV HVR 950Q device. The fix is in xc5000
> driver to not release firmware as soon as it loads.
> With this fix firmware is cached and available in
> resume path.
> 
> These patches are pulled into linux-media git couple
> of days ago.
> 
> http://patchwork.linuxtv.org/patch/26073/
> http://patchwork.linuxtv.org/patch/25345/
> 
> The reset_resume and this request firmware problem
> might be related. Could you please try with the
> above two patches and see if the problems goes away.
> i.e without reverting
> 
> b89193e0b06f "media: em28xx - remove reset_resume interface"

This patch should be reverted anyway, as it is breaking resume
for some USB ehci/xhci drivers.

> 
> Please let me know even if it works. If it doesn't could
> you please send me full dmesg. I am curious if usb bus
> is reset i.e looses power during hibernate. If it does,
> it has to go through disconnect sequence. The reason
> I removed the reset_resume is because it is a simple
> resume routine that can't handle power loss to the bus.
> 
> thanks,
> -- Shuah
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux