On Fri, 2008-05-23 at 16:04 +0200, Holger Schurig wrote: > 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@xxxxxxxxxxxxxxxxxxxx> Acked-by: Dan Williams <dcbw@xxxxxxxxxx> > Index: wireless-testing/drivers/net/wireless/libertas/main.c > =================================================================== > --- wireless-testing.orig/drivers/net/wireless/libertas/main.c 2008-05-23 14:25:16.000000000 +0200 > +++ wireless-testing/drivers/net/wireless/libertas/main.c 2008-05-23 14:25:51.000000000 +0200 > @@ -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 */ > -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html