The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d
but is perhaps more readable.

Signed-off-by: zhong jiang <zhongji...@huawei.com>
---
 drivers/net/ethernet/micrel/ksz884x.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/micrel/ksz884x.c 
b/drivers/net/ethernet/micrel/ksz884x.c
index 3103446..e102e15 100644
--- a/drivers/net/ethernet/micrel/ksz884x.c
+++ b/drivers/net/ethernet/micrel/ksz884x.c
@@ -2166,7 +2166,7 @@ static void sw_get_broad_storm(struct ksz_hw *hw, u8 
*percent)
        num = (data & BROADCAST_STORM_RATE_HI);
        num <<= 8;
        num |= (data & BROADCAST_STORM_RATE_LO) >> 8;
-       num = (num * 100 + BROADCAST_STORM_VALUE / 2) / BROADCAST_STORM_VALUE;
+       num = DIV_ROUND_CLOSEST(num * 100, BROADCAST_STORM_VALUE);
        *percent = (u8) num;
 }
 
-- 
1.7.12.4

Reply via email to