summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohan T <mohant@nvidia.com>2013-12-06 14:54:27 +0530
committerRiham Haidar <rhaidar@nvidia.com>2014-02-14 15:24:38 -0800
commit587e0115007c1bb7dbe092462d8491a4e5d7f824 (patch)
tree83cb34de0eb8ff479904ff79b3bded1bdd38e5b8
parentc6ce8d174f3ed598317fb1c9cf72a3541c183f09 (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-xdrivers/net/wireless/bcmdhd/dhd_qmon.c4
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;