Thread: [Madwifi-cvs] revision 1534 committed by dyqith
Status: Beta
Brought to you by:
otaku
From: dyqith <svn...@ma...> - 2006-04-30 22:04:55
|
Project : madwifi Revision : 1534 Author : dyqith Date : 2006-05-01 00:04:46 +0200 (Mon, 01 May 2006) Log Message : Solve a deadlock problem between user-context and tasklet for IEEE80211_VAPS_LOCK. I think with this change, speed will become an issue (as with the previous spinlock patch.) Signed-off-by: Brian Eaton <eat...@gm...> Affected Files: * trunk/net80211/ieee80211_proto.c updated Modified: trunk/net80211/ieee80211_proto.c =================================================================== --- trunk/net80211/ieee80211_proto.c 2006-04-30 02:52:27 UTC (rev 1533) +++ trunk/net80211/ieee80211_proto.c 2006-04-30 22:04:46 UTC (rev 1534) @@ -1218,6 +1218,9 @@ IEEE80211_REASON_ASSOC_LEAVE); } +/* + * Context: softIRQ (tasklet) and process + */ int ieee80211_new_state(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) { @@ -1225,9 +1228,9 @@ int rc; /* grab the lock so that only one vap can go through transistion at any time */ - IEEE80211_VAPS_LOCK(ic); + IEEE80211_VAPS_LOCK_BH(ic); rc = vap->iv_newstate(vap, nstate, arg); - IEEE80211_VAPS_UNLOCK(ic); + IEEE80211_VAPS_UNLOCK_BH(ic); return rc; } |