Message ID | 1509955772-4941-2-git-send-email-mpubbise@qti.qualcomm.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 424ea0d174e82365f85c6770225dba098b8f1d5f |
Delegated to: | Kalle Valo |
Headers | show |
mpubbise@qti.qualcomm.com wrote: > It is required to update the teardown state of the peer when > a tdls link with that peer is terminated. This information is > useful for the target to perform some cleanups wrt the tdls peer. > > Without proper cleanup, target assumes that the peer is connected and > blocks future connection requests, updating the teardown state of the > peer addresses the problem. > > Tested this change on QCA9888 with 10.4-3.5.1-00018 fw version. > > Signed-off-by: Manikanta Pubbisetty <mpubbise@qti.qualcomm.com> > Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com> 2 patches applied to ath-next branch of ath.git, thanks. 424ea0d174e8 ath10k: update tdls teardown state to target 8ed05ed06fca ath10k: handle tdls peer events
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 0a947ee..c6460e7 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -6201,6 +6201,16 @@ static int ath10k_sta_state(struct ieee80211_hw *hw, "mac vdev %d peer delete %pM sta %pK (sta gone)\n", arvif->vdev_id, sta->addr, sta); + if (sta->tdls) { + ret = ath10k_mac_tdls_peer_update(ar, arvif->vdev_id, + sta, + WMI_TDLS_PEER_STATE_TEARDOWN); + if (ret) + ath10k_warn(ar, "failed to update tdls peer state for %pM state %d: %i\n", + sta->addr, + WMI_TDLS_PEER_STATE_TEARDOWN, ret); + } + ret = ath10k_peer_delete(ar, arvif->vdev_id, sta->addr); if (ret) ath10k_warn(ar, "failed to delete peer %pM for vdev %d: %i\n",