• Johannes Berg's avatar
    iwlwifi: mvm: use pre-RCU-sync sta removal operation · 1ddbbb0c
    Johannes Berg authored
    iwlmvm relies on the current mac80211 behaviour of allowing
    station pointers to be valid for an RCU grace period after
    returning from the sta_state() callback. To optimise these
    cases, this behaviour is going away, so make the driver use
    the new sta_pre_rcu_remove() method to clear the pointer in
    the fw_id_to_mac_id[] array.
    
    Since this may happen while the station is still present in
    the firmware, don't set the pointer to NULL but to -ENOENT
    to mark this particular case. In client mode, the station
    is kept even longer (until marking the MAC as unassociated)
    so the drain flow must take this new behavior into account.
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    1ddbbb0c
sta.c 40.5 KB