All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Stezenbach <js@linuxtv.org>
To: Shuah Khan <shuahkh@osg.samsung.com>
Cc: Shuah Khan <shuah.kh@samsung.com>,
	linux-media@vger.kernel.org,
	Mauro Carvalho Chehab <m.chehab@samsung.com>
Subject: Re: em28xx breaks after hibernate
Date: Thu, 25 Sep 2014 18:01:34 +0200	[thread overview]
Message-ID: <20140925160134.GA6207@linuxtv.org> (raw)
In-Reply-To: <54241C81.60301@osg.samsung.com>

Hi Shuah,

On Thu, Sep 25, 2014 at 07:45:37AM -0600, Shuah Khan wrote:
> On 09/25/2014 06:53 AM, Johannes Stezenbach wrote:
> > 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.
> > 
> > Regarding the request_firmware issue. I think a possible
> > fix would be:

I think you should take a closer look at the code you snipped.
Maybe this fixes the root of the issue you worked around
with the DVB_FE_DEVICE_RESUME thing, namely calling
fe->ops.tuner_ops.init from wrong context.

> 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 second patch does not apply to current git master (v3.17-rc6-247-g005f800).
Maybe some other patch I need?

> 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"
> 
> 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.

I tested in qemu, but my real use case is "echo shutdown >/sys/power/disk"
which causes USB power to drop during hibernate on my PC.  Additionally
I'm usually turning off the power completely by physical switch
on the multiple socket outlet.

You can check the dmesg included in my first mail, it shows

[  240.487577]  [<ffffffff81416da4>] em28xx_usb_disconnect+0x57/0x6a
[  240.489331]  [<ffffffff8136ec49>] usb_unbind_interface+0x75/0x1fd
[  240.491037]  [<ffffffff81315190>] __device_release_driver+0x84/0xde
[  240.492792]  [<ffffffff813151ff>] device_release_driver+0x15/0x21
[  240.494371]  [<ffffffff8136ee14>] usb_driver_release_interface+0x43/0x78
[  240.496276]  [<ffffffff813621ca>] ? usb_for_each_dev+0x2b/0x2b
[  240.497788]  [<ffffffff8136ee67>] usb_forced_unbind_intf+0x1e/0x25
[  240.499477]  [<ffffffff8136eea6>] unbind_marked_interfaces.isra.9+0x38/0x42
[  240.501365]  [<ffffffff8136eef8>] usb_resume+0x48/0x5b


Thanks,
Johannes

  parent reply	other threads:[~2014-09-25 16:02 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-25 12:53 em28xx breaks after hibernate Johannes Stezenbach
2014-09-25 13:45 ` Shuah Khan
2014-09-25 14:10   ` Mauro Carvalho Chehab
2014-09-25 15:07     ` Shuah Khan
2014-09-25 16:01   ` Johannes Stezenbach [this message]
2014-09-25 17:36     ` Johannes Stezenbach
2014-09-25 18:01       ` Shuah Khan
2014-09-25 17:40     ` Shuah Khan
2014-09-25 18:17       ` Johannes Stezenbach
2014-09-25 18:45         ` Shuah Khan
2014-09-25 19:03           ` Shuah Khan
2014-09-26  7:41             ` Johannes Stezenbach
2014-09-26  8:00           ` Johannes Stezenbach
2014-09-26  8:08             ` Johannes Stezenbach
2014-09-26 10:14               ` Mauro Carvalho Chehab
2014-09-26 11:07                 ` Johannes Stezenbach
2014-09-26 11:42                   ` Mauro Carvalho Chehab
2014-09-26 12:02                     ` Johannes Stezenbach
2014-09-26 12:11                       ` Mauro Carvalho Chehab
2014-09-26 12:03                     ` Mauro Carvalho Chehab
2014-09-26 12:27                       ` Johannes Stezenbach
2014-09-26 13:12                         ` Mauro Carvalho Chehab
2014-09-26 13:25                           ` Johannes Stezenbach
2014-09-26 14:25                             ` Shuah Khan
2014-09-26 14:25                             ` Johannes Stezenbach
2014-09-26 14:30                               ` Shuah Khan
2014-09-26 15:06                                 ` Johannes Stezenbach
2014-09-26 15:22                                   ` Johannes Stezenbach
2014-09-26 15:43                                     ` Mauro Carvalho Chehab
2014-09-28 10:55                                       ` Johannes Stezenbach
2014-09-28 11:12                                         ` Mauro Carvalho Chehab
2014-09-28 11:54                                           ` Johannes Stezenbach
2014-09-28 12:35                                             ` Mauro Carvalho Chehab
2014-09-28 12:57                                             ` Mauro Carvalho Chehab
2014-09-29  2:38                                             ` Mauro Carvalho Chehab
2014-09-26 15:22                                   ` Shuah Khan
2014-09-26 15:35                                     ` Mauro Carvalho Chehab
2014-09-26 15:40                                     ` Mauro Carvalho Chehab
2014-09-26 15:42                                     ` Johannes Stezenbach
2014-09-26 15:48                                       ` Mauro Carvalho Chehab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140925160134.GA6207@linuxtv.org \
    --to=js@linuxtv.org \
    --cc=linux-media@vger.kernel.org \
    --cc=m.chehab@samsung.com \
    --cc=shuah.kh@samsung.com \
    --cc=shuahkh@osg.samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.