[PATCH] libertas: fix sanity check on sequence number in command response

Dan Williams dcbw at redhat.com
Tue Mar 4 12:12:44 EST 2008


On Mon, 2008-03-03 at 12:20 +0100, Holger Schurig wrote:
> From: David Woodhouse <dwmw2 at infradead.org>
> 
> Slightly more useful if we compare it against the sequence number of the
> command we have outstanding, rather than comparing the reply with itself.
>     
> Doh. Pointed out by Sebastian Siewior
>     
> Signed-off-by: David Woodhouse <dwmw2 at infradead.org>

Acked-by: Dan Williams <dcbw at redhat.com>

> diff --git a/drivers/net/wireless/libertas/cmdresp.c b/drivers/net/wireless/libertas/cmdresp.c
> index e6b4b23..52d02f3 100644
> --- a/drivers/net/wireless/libertas/cmdresp.c
> +++ b/drivers/net/wireless/libertas/cmdresp.c
> @@ -509,9 +509,9 @@ int lbs_process_rx_command(struct lbs_private *priv)
>  		     respcmd, le16_to_cpu(resp->seqnum), priv->upld_len, jiffies);
>  	lbs_deb_hex(LBS_DEB_CMD, "CMD_RESP", (void *) resp, priv->upld_len);
>  
> -	if (resp->seqnum != resp->seqnum) {
> +	if (resp->seqnum != priv->cur_cmd->cmdbuf->seqnum) {
>  		lbs_pr_info("Received CMD_RESP with invalid sequence %d (expected %d)\n",
> -			    le16_to_cpu(resp->seqnum), le16_to_cpu(resp->seqnum));
> +			    le16_to_cpu(resp->seqnum), le16_to_cpu(priv->cur_cmd->cmdbuf->seqnum));
>  		spin_unlock_irqrestore(&priv->driver_lock, flags);
>  		ret = -1;
>  		goto done;




More information about the libertas-dev mailing list