Commit 2b1aa5a4 authored by René Treffer's avatar René Treffer Committed by Simon Wunderlich
Browse files

batman-adv: ELP - use wifi tx bitrate as fallback throughput



Some wifi drivers (e.g. ath10k) provide per-station rx/tx values but no
estimated throughput. Setting a better estimate than the default 1 MBit
makes these devices work well with B.A.T.M.A.N. V.

Signed-off-by: default avatarRené Treffer <treffer@measite.de>
Signed-off-by: default avatarMarek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
Signed-off-by: default avatarSimon Wunderlich <sw@simonwunderlich.de>
parent 69fed4ce
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -107,10 +107,17 @@ static u32 batadv_v_elp_get_throughput(struct batadv_hardif_neigh_node *neigh)
		}
		if (ret)
			goto default_throughput;
		if (!(sinfo.filled & BIT(NL80211_STA_INFO_EXPECTED_THROUGHPUT)))
			goto default_throughput;

		if (sinfo.filled & BIT(NL80211_STA_INFO_EXPECTED_THROUGHPUT))
			return sinfo.expected_throughput / 100;

		/* try to estimate the expected throughput based on reported tx
		 * rates
		 */
		if (sinfo.filled & BIT(NL80211_STA_INFO_TX_BITRATE))
			return cfg80211_calculate_bitrate(&sinfo.txrate) / 3;

		goto default_throughput;
	}

	/* if not a wifi interface, check if this device provides data via