All of lore.kernel.org
 help / color / mirror / Atom feed
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


  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.