ath9k: make sure main_rssi is positive

some times the rssi control descriptor for the main antenna may be
negative like that of alternate antenna, hence before  incrementing
packet counts/rssi of main/alternate antenna make sure both main_rssi
and alt_rssi are positive only. this avoids wrong selection of antenna
due to diversity

Cc: Gabriel Tseng <Gabriel.Tseng@Atheros.com>
Cc: Senthilkumar Balasubramanian <Senthilkumar.Balasubramanian@Atheros.com>
Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Mohammed Shafi Shajakhan 2011-05-13 20:31:40 +05:30 committed by John W. Linville
parent 3e9a212a9e
commit 21e8ee6d20

View File

@ -1468,8 +1468,8 @@ static void ath_ant_comb_scan(struct ath_softc *sc, struct ath_rx_status *rs)
main_ant_conf = (rs->rs_rssi_ctl2 >> ATH_ANT_RX_MAIN_SHIFT) & main_ant_conf = (rs->rs_rssi_ctl2 >> ATH_ANT_RX_MAIN_SHIFT) &
ATH_ANT_RX_MASK; ATH_ANT_RX_MASK;
/* Record packet only when alt_rssi is positive */ /* Record packet only when both main_rssi and alt_rssi is positive */
if (alt_rssi > 0) { if (main_rssi > 0 && alt_rssi > 0) {
antcomb->total_pkt_count++; antcomb->total_pkt_count++;
antcomb->main_total_rssi += main_rssi; antcomb->main_total_rssi += main_rssi;
antcomb->alt_total_rssi += alt_rssi; antcomb->alt_total_rssi += alt_rssi;