diff options
author | sam <sam@FreeBSD.org> | 2006-12-11 00:37:12 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2006-12-11 00:37:12 +0000 |
commit | d3f80bbcba6fe478db44078995d655180d7d4b0f (patch) | |
tree | 7fa980379faea6c9c95742c227aa12738ebe4f58 /sys | |
parent | 559b88d1c8f6977d912401da0aec406fd7ba892f (diff) | |
download | FreeBSD-src-d3f80bbcba6fe478db44078995d655180d7d4b0f.zip FreeBSD-src-d3f80bbcba6fe478db44078995d655180d7d4b0f.tar.gz |
drop softc lock when passing rx frames up the stack
MFC after: 1 month
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/wi/if_wi.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/wi/if_wi.c b/sys/dev/wi/if_wi.c index 872c896..9bdcea7 100644 --- a/sys/dev/wi/if_wi.c +++ b/sys/dev/wi/if_wi.c @@ -1655,6 +1655,7 @@ wi_rx_intr(struct wi_softc *sc) if (ic->ic_opmode == IEEE80211_M_IBSS && dir == IEEE80211_FC1_DIR_NODS) wi_sync_bssid(sc, wh->i_addr3); + WI_UNLOCK(sc); /* * Locate the node for sender, track state, and * then pass this node (referenced) up to the 802.11 @@ -1671,6 +1672,8 @@ wi_rx_intr(struct wi_softc *sc) * so use free_node here instead of unref_node. */ ieee80211_free_node(ni); + + WI_LOCK(sc); } static void |