Skip to contentSkip to conversation

ath9k: fix beacon slot/buffer leak

PATCH Superseded Felix Fietkau 2 participants 4 messages Jan 19, 2010 Qualcomm Atheros ATH9K wireless driver

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ath9k: fix beacon slot/buffer leak

When cleaning up beacon buffers and slots, ath9k currently checks if sc->ah->opmode is set to a beacon related mode before cleaning up buffers.
An unfortunate ordering of interface up/down commands can lead to sc->ah->opmode being set to monitor mode, while there are AP interfaces present on the same wiphy.
Always cleaning up beacon buffers if present fixes this issue.

---

drivers/net/wireless/ath/ath9k/main.c +1 -1
@@ -1471,10 +1471,10 @@ static void ath9k_remove_interface(struc
 	    (sc->sc_ah->opmode == NL80211_IFTYPE_MESH_POINT)) {
 		ath9k_ps_wakeup(sc);
 		ath9k_hw_stoptxdma(sc->sc_ah, sc->beacon.beaconq);
-		ath_beacon_return(sc, avp);
 		ath9k_ps_restore(sc);
 	}
 
+	ath_beacon_return(sc, avp);
 	sc->sc_flags &= ~SC_OP_BEACONS;
 
 	for (i = 0; i < ARRAY_SIZE(sc->beacon.bslot); i++) {
#1 lore raw
Quoted 8 lines · Felix Fietkau

When cleaning up beacon buffers and slots, ath9k currently checks if sc->ah->opmode is set to a beacon related mode before cleaning up buffers.
An unfortunate ordering of interface up/down commands can lead to sc->ah->opmode being set to monitor mode, while there are AP interfaces present on the same wiphy.
Always cleaning up beacon buffers if present fixes this issue.

CC stable?

#2 lore raw
Quoted 11 lines · Luis R. Rodriguez
Quoted 8 lines · Felix Fietkau

When cleaning up beacon buffers and slots, ath9k currently checks if sc->ah->opmode is set to a beacon related mode before cleaning up buffers.
An unfortunate ordering of interface up/down commands can lead to sc->ah->opmode being set to monitor mode, while there are AP interfaces present on the same wiphy.
Always cleaning up beacon buffers if present fixes this issue.

CC stable?

Yeah, forgot about that. Should I send it again with Cc?

- Felix

#3 lore raw
Quoted 11 lines · Felix Fietkau
Quoted 10 lines · Luis R. Rodriguez
Quoted 8 lines · Felix Fietkau

When cleaning up beacon buffers and slots, ath9k currently checks if sc->ah->opmode is set to a beacon related mode before cleaning up buffers.
An unfortunate ordering of interface up/down commands can lead to sc->ah->opmode being set to monitor mode, while there are AP interfaces present on the same wiphy.
Always cleaning up beacon buffers if present fixes this issue.

Quoted 2 lines
Quoted 1 line

CC stable?

Yeah, forgot about that. Should I send it again with Cc?

If John hasn't picked it up yet, sure.

Luis