[PATCH] ieee80211: division by zero fix
This fixes division by zero bug in ieee80211_wx_get_scan(). Signed-off-by: Jiri Benc <jbenc@suse.cz> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
This commit is contained in:
parent
28af493cd7
commit
757d18faee
1 changed files with 12 additions and 9 deletions
|
@ -152,15 +152,18 @@ static inline char *ipw2100_translate_scan(struct ieee80211_device *ieee,
|
|||
iwe.u.qual.level = 0;
|
||||
} else {
|
||||
iwe.u.qual.level = network->stats.rssi;
|
||||
iwe.u.qual.qual =
|
||||
(100 *
|
||||
(ieee->perfect_rssi - ieee->worst_rssi) *
|
||||
(ieee->perfect_rssi - ieee->worst_rssi) -
|
||||
(ieee->perfect_rssi - network->stats.rssi) *
|
||||
(15 * (ieee->perfect_rssi - ieee->worst_rssi) +
|
||||
62 * (ieee->perfect_rssi - network->stats.rssi))) /
|
||||
((ieee->perfect_rssi - ieee->worst_rssi) *
|
||||
(ieee->perfect_rssi - ieee->worst_rssi));
|
||||
if (ieee->perfect_rssi == ieee->worst_rssi)
|
||||
iwe.u.qual.qual = 100;
|
||||
else
|
||||
iwe.u.qual.qual =
|
||||
(100 *
|
||||
(ieee->perfect_rssi - ieee->worst_rssi) *
|
||||
(ieee->perfect_rssi - ieee->worst_rssi) -
|
||||
(ieee->perfect_rssi - network->stats.rssi) *
|
||||
(15 * (ieee->perfect_rssi - ieee->worst_rssi) +
|
||||
62 * (ieee->perfect_rssi - network->stats.rssi))) /
|
||||
((ieee->perfect_rssi - ieee->worst_rssi) *
|
||||
(ieee->perfect_rssi - ieee->worst_rssi));
|
||||
if (iwe.u.qual.qual > 100)
|
||||
iwe.u.qual.qual = 100;
|
||||
else if (iwe.u.qual.qual < 1)
|
||||
|
|
Loading…
Reference in a new issue