mac80211: fix TX status reporting for ieee80211s
authorYuan-Chi Pang <fu3mo6goo@gmail.com>
Thu, 6 Sep 2018 08:57:48 +0000 (16:57 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 4 Nov 2018 13:52:37 +0000 (14:52 +0100)
commit35507aabf0e5e50525de25603328f09a7a629da5
tree0f32f0045a5cd8e7a733d9e648ded075d9b013b6
parentebec37ed21a220b824f9ac8f467c81d0955b01ce
mac80211: fix TX status reporting for ieee80211s

[ Upstream commit c42055105785580563535e6d3143cad95c7ac7ee ]

TX status reporting to ieee80211s is through ieee80211s_update_metric.
There are two problems about ieee80211s_update_metric:

1. The purpose is to estimate the fail probability
to a specific link. No need to restrict to data frame.

2. Current implementation does not work if wireless driver does not
pass tx_status with skb.

Fix this by removing ieee80211_is_data condition, passing
ieee80211_tx_status directly to ieee80211s_update_metric, and
putting it in both __ieee80211_tx_status and ieee80211_tx_status_ext.

Signed-off-by: Yuan-Chi Pang <fu3mo6goo@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/mac80211/mesh.h
net/mac80211/mesh_hwmp.c
net/mac80211/status.c