From: Dan Carpenter <dan.carpenter@oracle.com>
To: David Mosberger-Tang <davidm@egauge.net>
Cc: Ajay.Kathat@microchip.com, Claudiu.Beznea@microchip.com,
kvalo@codeaurora.org, linux-wireless@vger.kernel.org,
kernel-janitors@vger.kernel.org
Subject: Re: [PATCH] wilc1000: fix a loop timeout condition
Date: Tue, 30 Mar 2021 11:52:12 +0300 [thread overview]
Message-ID: <20210330085212.GA2088@kadam> (raw)
In-Reply-To: <37239c87142346dcba616cc63c64294dc274983b.camel@egauge.net>
On Mon, Mar 29, 2021 at 12:47:15PM -0600, David Mosberger-Tang wrote:
> On Fri, 2021-03-19 at 16:09 +0000, Ajay.Kathat@microchip.com wrote:
> > On 19/03/21 8:17 pm, Dan Carpenter wrote:
> > > If the loop fails, the "while(trials--) {" loop will exit with "trials"
> > > set to -1. The test for that expects it to end with "trials" set to 0
> > > so the warning message will not be printed.
> > >
> > > Fix this by changing from a post-op to a pre-op. This does mean that
> > > we only make 99 attempts instead of 100 but that's okay.
> > >
> > > Fixes: f135a1571a05 ("wilc1000: Support chip sleep over SPI")
> > > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> >
> > Thanks Dan.
>
> Good catch, but wouldn't it be better to fix the time-out check
> condition instead? Something a long the lines of:
>
> --- drivers/net/wireless/microchip/wilc1000/wlan.c~ 2021-03-29 12:44:52.066039259 -0600
> +++ drivers/net/wireless/microchip/wilc1000/wlan.c 2021-03-29 12:40:29.176365116 -0600
> @@ -457,7 +457,7 @@
> u32 wakeup_reg, wakeup_bit;
> u32 to_host_from_fw_reg, to_host_from_fw_bit;
> u32 from_host_to_fw_reg, from_host_to_fw_bit;
> - u32 trials = 100;
> + int trials = 100;
> int ret;
>
> if (wilc->io_type == WILC_HIF_SDIO) {
> @@ -483,7 +483,7 @@
> if ((reg & to_host_from_fw_bit) == 0)
> break;
> }
> - if (!trials)
> + if (trials < 0)
> pr_warn("FW not responding\n");
>
> /* Clear bit 1 */
>
>
> This way, the loop could actually get executed the number of times
> indicated by the initialization of "trial" before issuing a warning
> message.
Those numbers are just made up... It doesn't matter either way.
regards,
dan carpenter
next prev parent reply other threads:[~2021-03-30 8:53 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-19 14:47 [PATCH] wilc1000: fix a loop timeout condition Dan Carpenter
2021-03-19 16:09 ` Ajay.Kathat
2021-03-29 18:47 ` David Mosberger-Tang
2021-03-30 8:52 ` Dan Carpenter [this message]
2021-04-17 17:54 ` Kalle Valo
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=20210330085212.GA2088@kadam \
--to=dan.carpenter@oracle.com \
--cc=Ajay.Kathat@microchip.com \
--cc=Claudiu.Beznea@microchip.com \
--cc=davidm@egauge.net \
--cc=kernel-janitors@vger.kernel.org \
--cc=kvalo@codeaurora.org \
--cc=linux-wireless@vger.kernel.org \
/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.