diff options
author | Christian Lamparter <chunkeey@googlemail.com> | 2012-12-02 16:52:00 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-12-03 13:52:00 -0500 |
commit | 649a6ac4a7d6eab2752893d69f722ccd9674dd4e (patch) | |
tree | 3d132a7ca5ea626c1e98a49f3bf5fddca6f17311 /drivers/net/wireless/ath/carl9170/rx.c | |
parent | 33e274e66949a0806fb760b6f99543ba0d32ce02 (diff) | |
download | op-kernel-dev-649a6ac4a7d6eab2752893d69f722ccd9674dd4e.zip op-kernel-dev-649a6ac4a7d6eab2752893d69f722ccd9674dd4e.tar.gz |
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>
Diffstat (limited to 'drivers/net/wireless/ath/carl9170/rx.c')
-rw-r--r-- | drivers/net/wireless/ath/carl9170/rx.c | 2 |
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 6d22382..876a773 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; |