* [PATCH] firedtv: fix regression: tuning fails due to bogus error return [not found] ` <4ADA26D0.6010108@s5r6.in-berlin.de> @ 2009-10-17 20:46 ` Stefan Richter 2009-11-13 10:09 ` Stefan Richter 0 siblings, 1 reply; 3+ messages in thread From: Stefan Richter @ 2009-10-17 20:46 UTC (permalink / raw) To: linux-media, Mauro Carvalho Chehab; +Cc: linux-kernel, Rafael J. Wysocki Since 2.6.32(-rc1), DVB core checks the return value of dvb_frontend_ops.set_frontend. Now it becomes apparent that firedtv always returned a bogus value from its set_frontend method. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> --- drivers/media/dvb/firewire/firedtv-avc.c | 7 +++++-- drivers/media/dvb/firewire/firedtv-fe.c | 8 +------- 2 files changed, 6 insertions(+), 9 deletions(-) Index: linux-2.6.32-rc5/drivers/media/dvb/firewire/firedtv-avc.c =================================================================== --- linux-2.6.32-rc5.orig/drivers/media/dvb/firewire/firedtv-avc.c +++ linux-2.6.32-rc5/drivers/media/dvb/firewire/firedtv-avc.c @@ -573,8 +573,11 @@ int avc_tuner_dsd(struct firedtv *fdtv, msleep(500); #if 0 - /* FIXME: */ - /* u8 *status was an out-parameter of avc_tuner_dsd, unused by caller */ + /* + * FIXME: + * u8 *status was an out-parameter of avc_tuner_dsd, unused by caller + * Check for AVC_RESPONSE_ACCEPTED here instead? + */ if (status) *status = r->operand[2]; #endif Index: linux-2.6.32-rc5/drivers/media/dvb/firewire/firedtv-fe.c =================================================================== --- linux-2.6.32-rc5.orig/drivers/media/dvb/firewire/firedtv-fe.c +++ linux-2.6.32-rc5/drivers/media/dvb/firewire/firedtv-fe.c @@ -141,18 +141,12 @@ static int fdtv_read_uncorrected_blocks( return -EOPNOTSUPP; } -#define ACCEPTED 0x9 - static int fdtv_set_frontend(struct dvb_frontend *fe, struct dvb_frontend_parameters *params) { struct firedtv *fdtv = fe->sec_priv; - /* FIXME: avc_tuner_dsd never returns ACCEPTED. Check status? */ - if (avc_tuner_dsd(fdtv, params) != ACCEPTED) - return -EINVAL; - else - return 0; /* not sure of this... */ + return avc_tuner_dsd(fdtv, params); } static int fdtv_get_frontend(struct dvb_frontend *fe, -- Stefan Richter -=====-==--= =-=- =---= http://arcgraph.de/sr/ ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] firedtv: fix regression: tuning fails due to bogus error return 2009-10-17 20:46 ` [PATCH] firedtv: fix regression: tuning fails due to bogus error return Stefan Richter @ 2009-11-13 10:09 ` Stefan Richter 2009-11-13 10:20 ` Stefan Richter 0 siblings, 1 reply; 3+ messages in thread From: Stefan Richter @ 2009-11-13 10:09 UTC (permalink / raw) To: Mauro Carvalho Chehab; +Cc: linux-media, linux-kernel Stefan Richter wrote on 2009-10-17: > Since 2.6.32(-rc1), DVB core checks the return value of > dvb_frontend_ops.set_frontend. Now it becomes apparent that firedtv > always returned a bogus value from its set_frontend method. > > Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Hi Mauro, when you committed this, you added "CC: stable@kernel.org". This is not necessary, 2.6.32-rc1 is the first kernel version with the regression (see changelog). Well, OK, the patch would become necessary in -stable if somebody was to put the new set_frontend return code check in dvb core into -stable. But I hope nobody is going to do that; it'd be a bad idea. Furthermore... > --- > drivers/media/dvb/firewire/firedtv-avc.c | 7 +++++-- > drivers/media/dvb/firewire/firedtv-fe.c | 8 +------- > 2 files changed, 6 insertions(+), 9 deletions(-) > > Index: linux-2.6.32-rc5/drivers/media/dvb/firewire/firedtv-avc.c > =================================================================== > --- linux-2.6.32-rc5.orig/drivers/media/dvb/firewire/firedtv-avc.c > +++ linux-2.6.32-rc5/drivers/media/dvb/firewire/firedtv-avc.c > @@ -573,8 +573,11 @@ int avc_tuner_dsd(struct firedtv *fdtv, > > msleep(500); > #if 0 > - /* FIXME: */ > - /* u8 *status was an out-parameter of avc_tuner_dsd, unused by caller */ > + /* > + * FIXME: > + * u8 *status was an out-parameter of avc_tuner_dsd, unused by caller > + * Check for AVC_RESPONSE_ACCEPTED here instead? > + */ > if (status) > *status = r->operand[2]; > #endif ...the firedtv-avc.c part of the patch vanished when you committed it. I guess this was accident, not deliberate --- otherwise a note in the changelog below of my Signed-off-by would have been appreciated. I will resubmit this missing comment change or a variation of it or even a fix of the FIXME sometime in the future. > Index: linux-2.6.32-rc5/drivers/media/dvb/firewire/firedtv-fe.c > =================================================================== > --- linux-2.6.32-rc5.orig/drivers/media/dvb/firewire/firedtv-fe.c > +++ linux-2.6.32-rc5/drivers/media/dvb/firewire/firedtv-fe.c > @@ -141,18 +141,12 @@ static int fdtv_read_uncorrected_blocks( > return -EOPNOTSUPP; > } > > -#define ACCEPTED 0x9 > - > static int fdtv_set_frontend(struct dvb_frontend *fe, > struct dvb_frontend_parameters *params) > { > struct firedtv *fdtv = fe->sec_priv; > > - /* FIXME: avc_tuner_dsd never returns ACCEPTED. Check status? */ > - if (avc_tuner_dsd(fdtv, params) != ACCEPTED) > - return -EINVAL; > - else > - return 0; /* not sure of this... */ > + return avc_tuner_dsd(fdtv, params); > } > > static int fdtv_get_frontend(struct dvb_frontend *fe, > -- Stefan Richter -=====-==--= =-== -==-= http://arcgraph.de/sr/ ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] firedtv: fix regression: tuning fails due to bogus error return 2009-11-13 10:09 ` Stefan Richter @ 2009-11-13 10:20 ` Stefan Richter 0 siblings, 0 replies; 3+ messages in thread From: Stefan Richter @ 2009-11-13 10:20 UTC (permalink / raw) To: Mauro Carvalho Chehab; +Cc: linux-media, linux-kernel Stefan Richter wrote: > ...the firedtv-avc.c part of the patch vanished when you committed it. It was still there in the linuxtv-commits message of the respective Mercurial commit, BTW. Something wrong with the hg to git workflow? -- Stefan Richter -=====-==--= =-== -==-= http://arcgraph.de/sr/ ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-11-13 10:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <4ADA149E.1070704@s5r6.in-berlin.de>
[not found] ` <4ADA26D0.6010108@s5r6.in-berlin.de>
2009-10-17 20:46 ` [PATCH] firedtv: fix regression: tuning fails due to bogus error return Stefan Richter
2009-11-13 10:09 ` Stefan Richter
2009-11-13 10:20 ` Stefan Richter
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox