Re: em28xx breaks after hibernate

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

 



Em Sun, 28 Sep 2014 13:54:05 +0200
Johannes Stezenbach <js@xxxxxxxxxxx> escreveu:

> On Sun, Sep 28, 2014 at 08:12:11AM -0300, Mauro Carvalho Chehab wrote:
> > Em Sun, 28 Sep 2014 12:55:40 +0200
> > Johannes Stezenbach <js@xxxxxxxxxxx> escreveu:
> > 
> > > I tried again both with and without the patch.  The issue above
> > > odesn't reproduce, but after hibernate it fails to tune
> > > (while it works after suspend-to-ram).  Restarting dvbv5-zap
> > > does not fix it.  All I get is:
> > > 
> > > [  500.299216] drxk: Error -22 on dvbt_sc_command
> > > [  500.301012] drxk: Error -22 on set_dvbt
> > > [  500.301967] drxk: Error -22 on start
> > 
> > Just to be 100% sure if I understood well: you're having exactly
> > the same behavior with and without my patch, right?
> 
> Yes, no observable difference in my tests.

Ok.

> > I'll see if I can work on another patch for you today. If not,
> > I won't be able to touch on it until the end of the week, as I'm
> > traveling next week.
> 
> no need to hurry
> 
> (BTW, I still think you should make sure the hang-on-resume fix,
> revert of b89193e0b06f, goes into 3.17, but it's your call.)

Well, it is simply too late. Linus will likely release 3.17 today.
Before sending a pull request to him, I need to send it to -next,
but, AFAIKT, there is no new -next release since Friday. The next one 
will be on Tuesday.

If this were some really bad regression, like a bug at DVB core that
would be preventing the entire subsystem to work, then I would be
overriding the rule of passing everything to -next before merging,
but this is not the case.

So, let's not rush it and prepare a proper suspend/resume patchset
for 3.17.1.

> > > On rmmod it Oopsed:
> ...
> > Please try this change:
> > 
> > [media] em28xx: remove firmware before releasing xc5000 priv state
> > 
> > hybrid_tuner_release_state() can free the priv state, so we need to
> > release the firmware before calling it.
> > 
> > Signed-off-by: Mauro Carvalho Chehab
> > 
> > diff --git a/drivers/media/tuners/xc5000.c b/drivers/media/tuners/xc5000.c
> > index e44c8aba6074..803a0e63d47e 100644
> > --- a/drivers/media/tuners/xc5000.c
> > +++ b/drivers/media/tuners/xc5000.c
> > @@ -1333,9 +1333,9 @@ static int xc5000_release(struct dvb_frontend *fe)
> >  
> >  	if (priv) {
> >  		cancel_delayed_work(&priv->timer_sleep);
> > -		hybrid_tuner_release_state(priv);
> >  		if (priv->firmware)
> >  			release_firmware(priv->firmware);
> > +		hybrid_tuner_release_state(priv);
> >  	}
> >  
> >  	mutex_unlock(&xc5000_list_mutex);
> > 
> 
> Works.  And after module reload, dvbv5-zap can work again.

Good! One less bug.

Regards,
Mauro
--
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