The patch titled firedtv: fix regression: tuning fails due to bogus error return has been added to the -mm tree. Its filename is firedtv-fix-regression-tuning-fails-due-to-bogus-error-return.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: firedtv: fix regression: tuning fails due to bogus error return From: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/media/dvb/firewire/firedtv-avc.c | 7 +++++-- drivers/media/dvb/firewire/firedtv-fe.c | 8 +------- 2 files changed, 6 insertions(+), 9 deletions(-) diff -puN drivers/media/dvb/firewire/firedtv-avc.c~firedtv-fix-regression-tuning-fails-due-to-bogus-error-return drivers/media/dvb/firewire/firedtv-avc.c --- a/drivers/media/dvb/firewire/firedtv-avc.c~firedtv-fix-regression-tuning-fails-due-to-bogus-error-return +++ a/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 diff -puN drivers/media/dvb/firewire/firedtv-fe.c~firedtv-fix-regression-tuning-fails-due-to-bogus-error-return drivers/media/dvb/firewire/firedtv-fe.c --- a/drivers/media/dvb/firewire/firedtv-fe.c~firedtv-fix-regression-tuning-fails-due-to-bogus-error-return +++ a/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, _ Patches currently in -mm which might be from stefanr@xxxxxxxxxxxxxxxxx are linux-next.patch firedtv-fix-regression-tuning-fails-due-to-bogus-error-return.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html