wifi: mac80211: fix mesh airtime link metric estimating
authorAditya Kumar Singh <quic_adisi@quicinc.com>
Fri, 1 Jul 2022 13:36:11 +0000 (19:06 +0530)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 15 Jul 2022 09:43:12 +0000 (11:43 +0200)
commit0bd509325508aad1bf01967d618ada7d8da14d4d
tree93c7a752e302ecc442ab46b5c1cac4c8c8fc164e
parentbf326cf53a38e3cebbbb929216718fa9c925e869
wifi: mac80211: fix mesh airtime link metric estimating

ieee80211s_update_metric function uses sta_set_rate_info_tx
function to get struct rate_info data from ieee80211_tx_rate
struct, present in ieee80211_sta->deflink.tx_stats. However,
drivers can skip tx rate calculation by setting rate idx as
-1. Such drivers provides rate_info directly and hence
ieee80211s metric is updated incorrectly since ieee80211_tx_rate
has inconsistent data.

Add fix to use rate_info directly if present instead of
sta_set_rate_info_tx for updating ieee80211s metric.

Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
Link: https://lore.kernel.org/r/20220701133611.544-1-quic_adisi@quicinc.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/mesh_hwmp.c