From: Mauro Carvalho Chehab <mchehab@s-opensource.com>
To: Daniel Scheller <d.scheller.oss@gmail.com>
Cc: linux-media@vger.kernel.org, mchehab@kernel.org, jasmin@anw.at,
rjkm@metzlerbros.de
Subject: Re: [PATCH] [media] dvb-frontends/mxl5xx: fix lock check order
Date: Sun, 27 Aug 2017 09:18:07 -0300 [thread overview]
Message-ID: <20170827091807.404a9907@vento.lan> (raw)
In-Reply-To: <20170820104545.6596-1-d.scheller.oss@gmail.com>
Em Sun, 20 Aug 2017 12:45:45 +0200
Daniel Scheller <d.scheller.oss@gmail.com> escreveu:
> From: Daniel Scheller <d.scheller@gmx.net>
>
Always add a description at the patch.
> Signed-off-by: Daniel Scheller <d.scheller@gmx.net>
> ---
> When the mxl5xx driver together with the ddbridge glue gets merged ([1]),
> this one should go in aswell - this fix is part of the dddvb-0.9.31
> release.
>
> drivers/media/dvb-frontends/mxl5xx.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/dvb-frontends/mxl5xx.c b/drivers/media/dvb-frontends/mxl5xx.c
> index 676c96c216c3..d9136d67f5d4 100644
> --- a/drivers/media/dvb-frontends/mxl5xx.c
> +++ b/drivers/media/dvb-frontends/mxl5xx.c
> @@ -638,13 +638,14 @@ static int tune(struct dvb_frontend *fe, bool re_tune,
> state->tune_time = jiffies;
> return 0;
> }
> - if (*status & FE_HAS_LOCK)
> - return 0;
>
> r = read_status(fe, status);
> if (r)
> return r;
>
> + if (*status & FE_HAS_LOCK)
> + return 0;
> +
> return 0;
That's stupid! it will return 0 on all situations, no matter if FE_HAS_LOCK
or not. So, no need for the if.
Anyway, IMHO, either the original code is right and it needs to
use a previously cached value (with sounds weird to me, although
it is possible), or the logic is utterly broken, and we should,
instead, apply the enclosed patch.
> if (r)
> return r;
> }
>
Thanks,
Mauro
[PATCH RFC] media: mxl5xx: fix tuning logic
The tuning logic is broken with regards to status report:
it relies on a previously-cached value that may not be valid
if retuned.
Change the logic to always read the status.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
diff --git a/drivers/media/dvb-frontends/mxl5xx.c b/drivers/media/dvb-frontends/mxl5xx.c
index 676c96c216c3..4b449a6943c5 100644
--- a/drivers/media/dvb-frontends/mxl5xx.c
+++ b/drivers/media/dvb-frontends/mxl5xx.c
@@ -636,16 +636,9 @@ static int tune(struct dvb_frontend *fe, bool re_tune,
if (r)
return r;
state->tune_time = jiffies;
- return 0;
}
- if (*status & FE_HAS_LOCK)
- return 0;
- r = read_status(fe, status);
- if (r)
- return r;
-
- return 0;
+ return read_status(fe, status);
}
static enum fe_code_rate conv_fec(enum MXL_HYDRA_FEC_E fec)
next prev parent reply other threads:[~2017-08-27 12:18 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-20 10:45 [PATCH] [media] dvb-frontends/mxl5xx: fix lock check order Daniel Scheller
2017-08-27 12:18 ` Mauro Carvalho Chehab [this message]
2017-08-27 12:50 ` Daniel Scheller
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=20170827091807.404a9907@vento.lan \
--to=mchehab@s-opensource.com \
--cc=d.scheller.oss@gmail.com \
--cc=jasmin@anw.at \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=rjkm@metzlerbros.de \
/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.