forked from Minki/linux
libertas: before sleeping, check for a command result
If we don't check for a command response early, but rather sleep, then we might sleep despite an already-received command response. This will lead to a command-timeout. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Acked-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
df349f9fe7
commit
ef707b8387
@ -722,14 +722,14 @@ static int lbs_thread(void *data)
|
||||
shouldsleep = 1; /* Something is en route to the device already */
|
||||
else if (priv->tx_pending_len > 0)
|
||||
shouldsleep = 0; /* We've a packet to send */
|
||||
else if (priv->resp_len[priv->resp_idx])
|
||||
shouldsleep = 0; /* We have a command response */
|
||||
else if (priv->cur_cmd)
|
||||
shouldsleep = 1; /* Can't send a command; one already running */
|
||||
else if (!list_empty(&priv->cmdpendingq))
|
||||
shouldsleep = 0; /* We have a command to send */
|
||||
else if (__kfifo_len(priv->event_fifo))
|
||||
shouldsleep = 0; /* We have an event to process */
|
||||
else if (priv->resp_len[priv->resp_idx])
|
||||
shouldsleep = 0; /* We have a command response */
|
||||
else
|
||||
shouldsleep = 1; /* No command */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user