diff mbox

patches missing in git ? - TT S2 1600

Message ID 20110306142020.7fe695ca@grobi (mailing list archive)
State Rejected
Headers show

Commit Message

Steffen Barszus March 6, 2011, 1:20 p.m. UTC
None

Comments

Mauro Carvalho Chehab April 29, 2011, 1:48 p.m. UTC | #1
Em 06-03-2011 10:20, Steffen Barszus escreveu:
> I have one patch lying around which will fix a kernel oops if more than
> one TT S2 1600 is build into the same computer. 

I think that the bug with two TT S2 devices at the same computer were fixed,
but I don't remember what were the adopted solution.

I think that the change were inside tuner_sleep() callback, where tuner_priv
is actually used.

So, as far as I know, this patch is obsolete. I'll mark it as rejected on
patchwork. Please test it without this patch and the latest tree, pinging
us if the error is still there.

> 
> It still applies and compiles - does someone know if this has been
> obsoleted by another patch or if that means it is still missing ? 
> 
> Thanks !
> 
> Kind Regards 
> 
> Steffen
> 
> diff -r 7c0b887911cf linux/drivers/media/dvb/frontends/stv090x.c
> --- a/linux/drivers/media/dvb/frontends/stv090x.c	Mon Apr 05 22:56:43 2010 -0400
> +++ b/linux/drivers/media/dvb/frontends/stv090x.c	Sun Apr 11 13:46:43 2010 +0200
> @@ -4664,7 +4664,7 @@ 
>  	if (stv090x_i2c_gate_ctrl(state, 1) < 0)
>  		goto err;
>  
> -	if (state->config->tuner_sleep) {
> +	if (fe->tuner_priv && state->config->tuner_sleep) {
>  		if (state->config->tuner_sleep(fe) < 0)
>  			goto err_gateoff;
>  	}
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Steffen Barszus Sept. 2, 2011, 10:59 a.m. UTC | #2
On Fri, 29 Apr 2011 10:48:15 -0300
Mauro Carvalho Chehab <mchehab@redhat.com> wrote:

> Em 06-03-2011 10:20, Steffen Barszus escreveu:
> > I have one patch lying around which will fix a kernel oops if more
> > than one TT S2 1600 is build into the same computer. 
> 
> I think that the bug with two TT S2 devices at the same computer were
> fixed, but I don't remember what were the adopted solution.
> 
> I think that the change were inside tuner_sleep() callback, where
> tuner_priv is actually used.
> 
> So, as far as I know, this patch is obsolete. I'll mark it as
> rejected on patchwork. Please test it without this patch and the
> latest tree, pinging us if the error is still there.

Late follow up - but i only _now_ have 2 of these card. Situation now
is that it doesn't oops anymore - however its not fixed in the end. 

Problem which still exists: When one card is recording in vdr, the
second card possibly doesnt get a lock anymore. if second "receiver" is
live tv, switching back and forward a couple of times makes tuning
possible in the end, but it can also break recording. 

So from overall picture its seems there are ressources which are not
guarded against use at multiple devices. The fix for the oops has only
fixed the immediate crash but did not solve the common use of
ressources. 

Can you let me know how to start tracking this down ? Beside me i know
a couple of others having more than one of these cards, and - if its
the best/easiest way i could also imagine to organize temporary 2 of
this cards for a developer able to fix it. 
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff -r 7c0b887911cf linux/drivers/media/dvb/frontends/stv090x.c
--- a/linux/drivers/media/dvb/frontends/stv090x.c	Mon Apr 05 22:56:43 2010 -0400
+++ b/linux/drivers/media/dvb/frontends/stv090x.c	Sun Apr 11 13:46:43 2010 +0200
@@ -4664,7 +4664,7 @@  
 	if (stv090x_i2c_gate_ctrl(state, 1) < 0)
 		goto err;
 
-	if (state->config->tuner_sleep) {
+	if (fe->tuner_priv && state->config->tuner_sleep) {
 		if (state->config->tuner_sleep(fe) < 0)
 			goto err_gateoff;
 	}