mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-18 10:35:55 +00:00
Drop the ipw softc lock before calling back into net80211, fixing a
LOR/deadlock. Tested by: Denis Shaposhnikov <dsh_AT_vlink.ru>, le@ LOR id: 205 MFC in: 3 days
This commit is contained in:
parent
5a146d5125
commit
1069807f7e
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=167868
@ -1065,6 +1065,7 @@ ipw_data_intr(struct ipw_softc *sc, struct ipw_status *status,
|
||||
ipw_fix_channel(ic, m);
|
||||
|
||||
wh = mtod(m, struct ieee80211_frame *);
|
||||
mtx_unlock(&sc->sc_mtx);
|
||||
ni = ieee80211_find_rxnode(ic, (struct ieee80211_frame_min *)wh);
|
||||
|
||||
/* send the frame to the 802.11 layer */
|
||||
@ -1072,6 +1073,7 @@ ipw_data_intr(struct ipw_softc *sc, struct ipw_status *status,
|
||||
|
||||
/* node is no longer needed */
|
||||
ieee80211_free_node(ni);
|
||||
mtx_lock(&sc->sc_mtx);
|
||||
|
||||
bus_dmamap_sync(sc->rbd_dmat, sc->rbd_map, BUS_DMASYNC_PREWRITE);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user