libertas: fix deadlock on failed command; don't return without unlocking driver lock

Dan Williams dcbw at localhost.unroutablelocaldomain
Sat Nov 11 20:18:34 EST 2006


Commit:     e37aa4d8558921a916eafc4efe649bd7764a32b8
Parent:     e1d3b3f94931b69207ceef3dd636621fe6f47d0d
commit e37aa4d8558921a916eafc4efe649bd7764a32b8
Author:     Dan Williams <dcbw at localhost.localdomain>
AuthorDate: Sat Nov 11 18:16:57 2006 -0500
Commit:     Dan Williams <dcbw at localhost.localdomain>
CommitDate: Sat Nov 11 18:16:57 2006 -0500

    libertas: fix deadlock on failed command; don't return without unlocking driver lock
---
 drivers/net/wireless/libertas/wlan_cmdresp.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/libertas/wlan_cmdresp.c b/drivers/net/wireless/libertas/wlan_cmdresp.c
index 293f283..cf8630d 100644
--- a/drivers/net/wireless/libertas/wlan_cmdresp.c
+++ b/drivers/net/wireless/libertas/wlan_cmdresp.c
@@ -970,7 +970,8 @@ int libertas_process_rx_command(wlan_pri
 		Adapter->CurCmd = NULL;
 		spin_unlock_irqrestore(&Adapter->driver_lock, flags);
 
-		return WLAN_STATUS_FAILURE;
+		ret = WLAN_STATUS_FAILURE;
+		goto done;
 	}
 
 	spin_unlock_irqrestore(&Adapter->driver_lock, flags);


More information about the Commits-kernel mailing list