From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: Wentao Liang <vulab@iscas.ac.cn>
Cc: mchehab@kernel.org, yujiaoliang@vivo.com, hverkuil@xs4all.nl,
linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
stable@vger.kernel.org
Subject: Re: [PATCH] media: dvb: Add error checking for bcm3510_writeB()
Date: Mon, 7 Apr 2025 10:11:54 +0800 [thread overview]
Message-ID: <20250407101154.191f87cd@sal.lan> (raw)
In-Reply-To: <20250401041141.2016-1-vulab@iscas.ac.cn>
Em Tue, 1 Apr 2025 12:11:41 +0800
Wentao Liang <vulab@iscas.ac.cn> escreveu:
> In bcm3510_bert_reset(), the function performed multiple writes
> without checking the return value of bcm3510_writeB(). This could
> result in silent failures if the writes failed, leaving the BER
> counter in an undefined state.
Did you actually had an issue here with a real hardware? If do, please
describe what happened.
>
> Add error checking for each bcm3510_writeB call and propagate any
> errors immediately. This ensures proper error handling and prevents
> silent failures during BER counter initialization.
>
> Fixes: 55f51efdb696 ("[PATCH] dvb: flexcop: add BCM3510 ATSC frontend support for Air2PC card")
> Cc: stable@vger.kernel.org
> Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
> ---
> drivers/media/dvb-frontends/bcm3510.c | 16 ++++++++++++----
> 1 file changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/dvb-frontends/bcm3510.c b/drivers/media/dvb-frontends/bcm3510.c
> index d935fb10e620..fc5853fc9595 100644
> --- a/drivers/media/dvb-frontends/bcm3510.c
> +++ b/drivers/media/dvb-frontends/bcm3510.c
> @@ -270,10 +270,18 @@ static int bcm3510_bert_reset(struct bcm3510_state *st)
> if ((ret = bcm3510_readB(st,0xfa,&b)) < 0)
> return ret;
>
> - b.BERCTL_fa.RESYNC = 0; bcm3510_writeB(st,0xfa,b);
> - b.BERCTL_fa.RESYNC = 1; bcm3510_writeB(st,0xfa,b);
> - b.BERCTL_fa.RESYNC = 0; bcm3510_writeB(st,0xfa,b);
> - b.BERCTL_fa.CNTCTL = 1; b.BERCTL_fa.BITCNT = 1; bcm3510_writeB(st,0xfa,b);
> + b.BERCTL_fa.RESYNC = 0;
> + if ((ret = bcm3510_writeB(st,0xfa,b)) < 0)
> + return ret;
> + b.BERCTL_fa.RESYNC = 1;
> + if ((ret = bcm3510_writeB(st,0xfa,b)) < 0)
> + return ret;
> + b.BERCTL_fa.RESYNC = 0;
> + if ((ret = bcm3510_writeB(st,0xfa,b)) < 0)
> + return ret;
> + b.BERCTL_fa.CNTCTL = 1; b.BERCTL_fa.BITCNT = 1;
> + if ((ret = bcm3510_writeB(st,0xfa,b)) < 0)
> + return ret;
>
> /* clear residual bit counter TODO */
> return 0;
prev parent reply other threads:[~2025-04-07 2:13 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-01 4:11 [PATCH] media: dvb: Add error checking for bcm3510_writeB() Wentao Liang
2025-04-07 2:11 ` Mauro Carvalho Chehab [this message]
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=20250407101154.191f87cd@sal.lan \
--to=mchehab+huawei@kernel.org \
--cc=hverkuil@xs4all.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=stable@vger.kernel.org \
--cc=vulab@iscas.ac.cn \
--cc=yujiaoliang@vivo.com \
/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.