summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Lamparter <chunkeey@googlemail.com>2012-12-02 16:52:00 +0100
committerJohn W. Linville <linville@tuxdriver.com>2012-12-03 13:52:00 -0500
commit649a6ac4a7d6eab2752893d69f722ccd9674dd4e (patch)
tree3d132a7ca5ea626c1e98a49f3bf5fddca6f17311
parent33e274e66949a0806fb760b6f99543ba0d32ce02 (diff)
downloadblackbird-op-linux-649a6ac4a7d6eab2752893d69f722ccd9674dd4e.tar.gz
blackbird-op-linux-649a6ac4a7d6eab2752893d69f722ccd9674dd4e.zip
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>
-rw-r--r--drivers/net/wireless/ath/carl9170/rx.c2
1 files changed, 2 insertions, 0 deletions
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;
OpenPOWER on IntegriCloud