[PATCH] libertas: don't spin_unlock_irq() twice

Holger Schurig hs4233 at mail.mn-solutions.de
Fri May 23 04:07:56 EDT 2008


priv->driver_lock has already been unlocked some lines above. This patch
fixes the sparse warning:

drivers/net/wireless/libertas/main.c:792:6: warning: context problem in 'lbs_thread': '_spin_unlock_irq' expected different context
drivers/net/wireless/libertas/main.c:792:6:    context 'lock': wanted >= 1, got 0

Signed-of-by: Holger Schurig <hs4233 at mail.mn-solutions.de>

Index: wireless-testing/drivers/net/wireless/libertas/main.c
===================================================================
--- wireless-testing.orig/drivers/net/wireless/libertas/main.c	2008-05-23 08:43:05.000000000 +0200
+++ wireless-testing/drivers/net/wireless/libertas/main.c	2008-05-23 08:43:22.000000000 +0200
@@ -788,11 +788,8 @@ static int lbs_thread(void *data)
 					le16_to_cpu(cmdnode->cmdbuf->command));
 				lbs_complete_command(priv, cmdnode, -ETIMEDOUT);
 				priv->nr_retries = 0;
-				if (priv->reset_card) {
-					spin_unlock_irq(&priv->driver_lock);
+				if (priv->reset_card)
 					priv->reset_card(priv);
-					spin_lock_irq(&priv->driver_lock);
-				}
 			} else {
 				priv->cur_cmd = NULL;
 				priv->dnld_sent = DNLD_RES_RECEIVED;



More information about the libertas-dev mailing list