[PATCH 0/4] Bugfix for crash on sta_remove
Roland Vossen
rvossen at broadcom.com
Thu Mar 10 10:35:05 UTC 2011
Crash on dissociate + ampdu traffic. After Mac80211 called
wl_ops_sta_remove(), Mac80211 frees the ieee80211_sta structure, which
embeds struct scb. However, the driver would keep using this structure.
This resulted in an ASSERT(scb->magic == SCB_MAGIC) triggering.
Problem would occur under bad RF conditions and/or roaming conditions.
The fix increases robustness of the driver against NULL
dereferences, and in subsequential commits changes references to
soon-to-be-released ieee80211_sta and scb structures to NULL.
Driver was tested, problem does not occur anymore, iperf traffic picks
up again after roaming.
Signed-off-by: Roland Vossen <rvossen at broadcom.com>
Reviewed-by: Arend van Spriel <arend at broadcom.com>
staging: brcm80211: bugfix for NULL scb ptr dereference
staging: brcm80211: bugfix for control.sta NULL ptr dereference
staging: brcm80211: added IEEE80211_AMPDU_TX_STOP handling
staging: brcm80211: invalidate all AMPDU packets on
IEEE80211_AMPDU_TX_STOP
drivers/staging/brcm80211/brcmsmac/wl_mac80211.c | 3 +
drivers/staging/brcm80211/brcmsmac/wlc_ampdu.c | 91 ++++++++++++++++++++--
drivers/staging/brcm80211/brcmsmac/wlc_main.c | 21 +++++-
drivers/staging/brcm80211/brcmsmac/wlc_main.h | 3 +
drivers/staging/brcm80211/brcmsmac/wlc_pub.h | 4 +
drivers/staging/brcm80211/include/hnddma.h | 3 +-
drivers/staging/brcm80211/util/hnddma.c | 24 ++++++
7 files changed, 140 insertions(+), 9 deletions(-)
More information about the devel
mailing list