diff --git a/drivers/net/wireless/libertas/cmdresp.c b/drivers/net/wireless/libertas/cmdresp.c index 8f9eda4d1be1..d305e982c502 100644 --- a/drivers/net/wireless/libertas/cmdresp.c +++ b/drivers/net/wireless/libertas/cmdresp.c @@ -639,10 +639,10 @@ int lbs_process_rx_command(struct lbs_private *priv) goto done; } - curcmd = le16_to_cpu(priv->cur_cmd->cmdbuf->command); - resp = priv->cur_cmd->cmdbuf; + curcmd = le16_to_cpu(resp->command); + respcmd = le16_to_cpu(resp->command); result = le16_to_cpu(resp->result); @@ -650,9 +650,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 != priv->cur_cmd->cmdbuf->seqnum) { + if (resp->seqnum != resp->seqnum) { lbs_pr_info("Received CMD_RESP with invalid sequence %d (expected %d)\n", - le16_to_cpu(resp->seqnum), le16_to_cpu(priv->cur_cmd->cmdbuf->seqnum)); + le16_to_cpu(resp->seqnum), le16_to_cpu(resp->seqnum)); spin_unlock_irqrestore(&priv->driver_lock, flags); ret = -1; goto done;