rtl8188eu: Fix reporting of signal strength and quality

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
This commit is contained in:
Larry Finger 2013-12-30 21:18:17 -06:00
parent 3291571570
commit 295bb23ffe
6 changed files with 33 additions and 25 deletions

View file

@ -7832,24 +7832,24 @@ static struct iw_statistics *rtw_get_wireless_stats(struct net_device *dev)
{
struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
struct iw_statistics *piwstats = &padapter->iwstats;
int tmp_level = 0;
int tmp_qual = 0;
int tmp_noise = 0;
int tmp;
if (!check_fwstate(&padapter->mlmepriv, _FW_LINKED)) {
piwstats->qual.qual = 0;
piwstats->qual.level = 0;
piwstats->qual.noise = 0;
} else {
tmp_level = padapter->recvpriv.signal_strength;
tmp_qual = padapter->recvpriv.signal_qual;
tmp_noise = padapter->recvpriv.noise;
piwstats->qual.level = tmp_level;
piwstats->qual.qual = tmp_qual;
piwstats->qual.level = padapter->signal_strength;
tmp = 219 + 3 * padapter->signal_strength;
tmp = min(100, tmp);
tmp = max(0, tmp);
piwstats->qual.qual = tmp;
piwstats->qual.noise = tmp_noise;
}
piwstats->qual.updated = IW_QUAL_ALL_UPDATED;/* IW_QUAL_DBM; */
piwstats->qual.updated = IW_QUAL_ALL_UPDATED | IW_QUAL_DBM;
return &padapter->iwstats;
}