[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