mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 22:40:54 -04:00
qcacld-3.0: SAP DFS: Fix RSSI issue in extension80 segment
RSSI_COMB is not reliable indicator of RSSI for extension80 when operating in 80p80 non-contiguous mode due to existing hardware bug. Add workaround in software to use pulse_rssi instead of RSSI_COMB. Change-Id: I89c829ecefca2dcc75bb494943c98bdb77470de6 CRs-Fixed: 1043760
This commit is contained in:
parent
03bc0495f6
commit
8bdf4bcc05
2 changed files with 27 additions and 7 deletions
|
|
@ -889,6 +889,19 @@ dfs_process_phyerr_bb_tlv(struct ath_dfs *dfs, void *buf, uint16_t datalen,
|
|||
rs.radar_fft_ext80_inband_power;
|
||||
e->rsu_version = rs.rsu_version;
|
||||
e->peak_mag = rsfr.peak_mag;
|
||||
|
||||
/*
|
||||
* RSSI_COMB is not reliable indicator of RSSI
|
||||
* for extension80 when operating in 80p80
|
||||
* non-contiguous mode due to existing hardware
|
||||
* bug. Added workaround in software to use
|
||||
* pulse_rssi instead of RSSI_COMB.
|
||||
*/
|
||||
|
||||
if ((dfs->ic->ic_curchan->ic_flags &
|
||||
IEEE80211_CHAN_VHT80P80) &&
|
||||
(rs.radar_80p80_segid == DFS_80P80_SEG1))
|
||||
e->rssi = rs.pulse_rssi;
|
||||
}
|
||||
/*
|
||||
* XXX TODO: add a "chirp detection enabled" capability or config
|
||||
|
|
|
|||
|
|
@ -812,13 +812,20 @@ dfs_process_phyerr(struct ieee80211com *ic, void *buf, uint16_t datalen,
|
|||
rn_minrssithresh);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (e.rssi < dfs->dfs_rinfo.rn_minrssithresh ||
|
||||
e.dur > dfs->dfs_rinfo.rn_maxpulsedur) {
|
||||
/* XXX TODO add a debug statement? */
|
||||
dfs->ath_dfs_stats.rssi_discards++;
|
||||
return;
|
||||
}
|
||||
} else if (e.rssi < dfs->dfs_rinfo.rn_minrssithresh ||
|
||||
e.dur > dfs->dfs_rinfo.rn_maxpulsedur) {
|
||||
|
||||
QDF_TRACE(QDF_MODULE_ID_SAP,
|
||||
QDF_TRACE_LEVEL_INFO,
|
||||
"%s [%d] : Rejecting: dur = %d \
|
||||
maxpulsedur = %d, rssi = %d \
|
||||
minrssithresh = %d", __func__, __LINE__,
|
||||
e.dur, dfs->dfs_rinfo.rn_maxpulsedur,
|
||||
e.rssi,
|
||||
dfs->dfs_rinfo.rn_minrssithresh);
|
||||
|
||||
dfs->ath_dfs_stats.rssi_discards++;
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in a new issue