]> err.no Git - linux-2.6/commitdiff
libertas: fix sanity check on sequence number in command response
authorDavid Woodhouse <dwmw2@infradead.org>
Mon, 3 Mar 2008 11:20:12 +0000 (12:20 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 4 Mar 2008 23:36:37 +0000 (18:36 -0500)
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@infradead.org>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/libertas/cmdresp.c

index 159216a91903d14e5f5ec5df62321d302f72b504..e2b0746c6cb93821c3757cb93d244db0f84a6b35 100644 (file)
@@ -572,9 +572,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_HOST, "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;