From: Brian Cavagnolo Date: Tue, 13 May 2008 12:54:59 +0000 (+0100) Subject: libertas: fix command timeout after firmware failure X-Git-Tag: v2.6.26-rc4~91^2~10^2~2 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=02969d296e91626d9942ea15f8a95fe056025ef1;p=linux-2.6-omap-h63xx.git libertas: fix command timeout after firmware failure This is a fix for OLPC ticket #6586: "SCAN command fails, timer doesn't fire". In fact, the timer was firing; the problem was that the dnld_sent state variable was not being updated after the timer expired, so lbs_execute_next_command was not being called. Signed-off-by: Brian Cavagnolo Signed-off-by: Javier Cardona Signed-off-by: David Woodhouse Signed-off-by: John W. Linville --- diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c index 406f54d4095..bb08f0b86c6 100644 --- a/drivers/net/wireless/libertas/main.c +++ b/drivers/net/wireless/libertas/main.c @@ -756,6 +756,7 @@ static int lbs_thread(void *data) priv->nr_retries = 0; } else { priv->cur_cmd = NULL; + priv->dnld_sent = DNLD_RES_RECEIVED; lbs_pr_info("requeueing command %x due to timeout (#%d)\n", le16_to_cpu(cmdnode->cmdbuf->command), priv->nr_retries);