Add neighbor linked list used by estimation algorithm to compute maximum sta ack timeout
Signed-off-by: Lorenzo Bianconi <lorenzo.biancon...@gmail.com> --- drivers/net/wireless/ath/ath9k/main.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index 5d8af08..ee07776 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c @@ -350,6 +350,7 @@ static void ath_node_attach(struct ath_softc *sc, struct ieee80211_sta *sta, struct ieee80211_vif *vif) { struct ath_node *an; + struct ath_dynack *da = &sc->sc_ah->dynack; an = (struct ath_node *)sta->drv_priv; an->sc = sc; @@ -358,12 +359,21 @@ static void ath_node_attach(struct ath_softc *sc, struct ieee80211_sta *sta, memset(&an->key_idx, 0, sizeof(an->key_idx)); ath_tx_node_init(sc, an); + + spin_lock(&da->qlock); + list_add_tail(&an->list, &da->nodes); + spin_unlock(&da->qlock); } static void ath_node_detach(struct ath_softc *sc, struct ieee80211_sta *sta) { struct ath_node *an = (struct ath_node *)sta->drv_priv; + struct ath_dynack *da = &sc->sc_ah->dynack; ath_tx_node_cleanup(sc, an); + + spin_lock(&da->qlock); + list_del(&an->list); + spin_unlock(&da->qlock); } void ath9k_tasklet(unsigned long data) -- 1.9.1 _______________________________________________ ath9k-devel mailing list ath9k-devel@lists.ath9k.org https://lists.ath9k.org/mailman/listinfo/ath9k-devel