From a60a491c3ee0f67b022c822174590e67afa84e1a Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Fri, 21 May 2010 17:42:49 +0200 Subject: [PATCH] frm: Handle utilization overflow --- fwp/mngr/fwp_admctrl.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fwp/mngr/fwp_admctrl.c b/fwp/mngr/fwp_admctrl.c index 1d257d4..b6d6c43 100644 --- a/fwp/mngr/fwp_admctrl.c +++ b/fwp/mngr/fwp_admctrl.c @@ -148,9 +148,9 @@ static int frame_duration(uint16_t length, int rate_bps, bool erp_ofdm, bool sho } int fwp_admctrl_utilization(struct fres_sa_scenario *scenario, void *priv, - bool *schedulable) + bool *schedulable) { - int utilization = 0; + long long utilization = 0; struct frm_fwp_priv *pr = priv; const int rate = pr->rate_mbps*1000*1000; struct fres_sa_contract *c; @@ -231,7 +231,7 @@ int fwp_admctrl_utilization(struct fres_sa_scenario *scenario, void *priv, fres_contract_add_block(c->contract, FRES_BLOCK_FWP_SCHED, fwp_sched); } - utilization += (long long)(duration_usec * 10000) / period_usec; + utilization += (long long)duration_usec * 10000 / period_usec; } if (utilization >= 10000 * 96/100 && !pr->bypass) { @@ -239,12 +239,12 @@ int fwp_admctrl_utilization(struct fres_sa_scenario *scenario, void *priv, } scenario->utilization = utilization/100; /* For GUI */ - ul_logmsg("accepted (utilization=%d%%)\n", utilization/100); + ul_logmsg("accepted (utilization=%lld%%)\n", utilization/100); *schedulable = true; return 0; not_schedulable: - ul_logmsg("rejected (utilization=%d%%)\n", utilization/100); + ul_logmsg("rejected (utilization=%lld%%)\n", utilization/100); *schedulable = false; return 0; } -- 2.39.2