summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDavid Woodhouse2008-03-03 12:20:12 +0100
committerJohn W. Linville2008-03-05 00:36:37 +0100
commit6305f498604df6c66bdb4cc533ce6332fa5ab61f (patch)
tree31b17cb19d71aa85e9f016cf58d84ac463d3cbe0 /drivers
parentp54: fix eeprom parser length sanity checks (diff)
downloadkernel-qcow2-linux-6305f498604df6c66bdb4cc533ce6332fa5ab61f.tar.gz
kernel-qcow2-linux-6305f498604df6c66bdb4cc533ce6332fa5ab61f.tar.xz
kernel-qcow2-linux-6305f498604df6c66bdb4cc533ce6332fa5ab61f.zip
libertas: fix sanity check on sequence number in command response
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/libertas/cmdresp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/libertas/cmdresp.c b/drivers/net/wireless/libertas/cmdresp.c
index 159216a91903..e2b0746c6cb9 100644
--- a/drivers/net/wireless/libertas/cmdresp.c
+++ b/drivers/net/wireless/libertas/cmdresp.c
@@ -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;