diff options
-rw-r--r-- | drivers/net/wireless/ath/ath10k/mac.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 60a53242cecf..532c07756022 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c | |||
@@ -5997,9 +5997,17 @@ static int ath10k_sta_state(struct ieee80211_hw *hw, | |||
5997 | continue; | 5997 | continue; |
5998 | 5998 | ||
5999 | if (peer->sta == sta) { | 5999 | if (peer->sta == sta) { |
6000 | ath10k_warn(ar, "found sta peer %pM entry on vdev %i after it was supposedly removed\n", | 6000 | ath10k_warn(ar, "found sta peer %pM (ptr %p id %d) entry on vdev %i after it was supposedly removed\n", |
6001 | sta->addr, arvif->vdev_id); | 6001 | sta->addr, peer, i, arvif->vdev_id); |
6002 | peer->sta = NULL; | 6002 | peer->sta = NULL; |
6003 | |||
6004 | /* Clean up the peer object as well since we | ||
6005 | * must have failed to do this above. | ||
6006 | */ | ||
6007 | list_del(&peer->list); | ||
6008 | ar->peer_map[i] = NULL; | ||
6009 | kfree(peer); | ||
6010 | ar->num_peers--; | ||
6003 | } | 6011 | } |
6004 | } | 6012 | } |
6005 | spin_unlock_bh(&ar->data_lock); | 6013 | spin_unlock_bh(&ar->data_lock); |