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

Dan Williams dcbw at redhat.com
Fri May 23 09:40:04 EDT 2008


On Fri, 2008-05-23 at 10:07 +0200, Holger Schurig wrote:
> 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>

Acked-by: Dan Williams <dcbw at redhat.com>

> 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