diff options
author | Mohan T <mohant@nvidia.com> | 2013-12-06 14:54:27 +0530 |
---|---|---|
committer | Riham Haidar <rhaidar@nvidia.com> | 2014-02-14 15:24:38 -0800 |
commit | 587e0115007c1bb7dbe092462d8491a4e5d7f824 (patch) | |
tree | 83cb34de0eb8ff479904ff79b3bded1bdd38e5b8 | |
parent | c6ce8d174f3ed598317fb1c9cf72a3541c183f09 (diff) |
net: wireless: bcmdhd: Fix Division by zero
Check divisor values is grater than zero
in qmon_getpersent to avoid division
by zero kernel assertion.
Bug 1417901
Change-Id: I8f3255c1b0f8c975da984389966c9f888187c5c9
Signed-off-by: Mohan T <mohant@nvidia.com>
Reviewed-on: http://git-master/r/339075
(cherry picked from commit be5df31200936cb852bdbc19606b79226f911614)
Reviewed-on: http://git-master/r/366110
GVS: Gerrit_Virtual_Submit
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Tested-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
-rwxr-xr-x | drivers/net/wireless/bcmdhd/dhd_qmon.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/bcmdhd/dhd_qmon.c b/drivers/net/wireless/bcmdhd/dhd_qmon.c index 596f29f9288d..7967ec26d0b4 100755 --- a/drivers/net/wireless/bcmdhd/dhd_qmon.c +++ b/drivers/net/wireless/bcmdhd/dhd_qmon.c @@ -144,9 +144,11 @@ dhd_qmon_getpercent(dhd_pub_t *dhdp) if (queued_time_last) time_cumul_adjust = now - queued_time_last; - percent = (uint32)((time_cumul_adjust + queued_time_cumul + if ((now - qmon->queued_time_last_io) > 0) { + percent = (uint32)((time_cumul_adjust + queued_time_cumul - qmon->queued_time_cumul_last) * 100) / (uint32)(now - qmon->queued_time_last_io); + } qmon->queued_time_cumul_last = queued_time_cumul + time_cumul_adjust; qmon->queued_time_last_io = now; |