From: Christian Lamparter <chunkeey@googlemail.com>
Date: Sun, 2 Dec 2012 15:52:00 +0000 (+0100)
Subject: carl9170: fix signal strength reporting issues
X-Git-Tag: firefly_0821_release~3680^2~1480^2~17^2~84
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=649a6ac4a7d6eab2752893d69f722ccd9674dd4e;p=firefly-linux-kernel-4.4.55.git

carl9170: fix signal strength reporting issues

On A-MPDU frames, the hardware only reports valid
signal strength data for the last subframe.

This patch fixes it by flagging everything but the
last subframe in an A-MPDU to tell mac80211 to
ignore the signal strength entirely. Otherwise
the empty value (= 0 dbm) will distort the
average quite badly.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
---

diff --git a/drivers/net/wireless/ath/carl9170/rx.c b/drivers/net/wireless/ath/carl9170/rx.c
index 6d22382875bc..876a773fd0b4 100644
--- a/drivers/net/wireless/ath/carl9170/rx.c
+++ b/drivers/net/wireless/ath/carl9170/rx.c
@@ -814,6 +814,8 @@ static void carl9170_rx_untie_data(struct ar9170 *ar, u8 *buf, int len)
 
 	if (phy)
 		carl9170_rx_phy_status(ar, phy, &status);
+	else
+		status.flag |= RX_FLAG_NO_SIGNAL_VAL;
 
 	if (carl9170_handle_mpdu(ar, buf, mpdu_len, &status))
 		goto drop;