From: Lorenzo Bianconi Date: Mon, 6 Apr 2020 21:56:30 +0000 (+0200) Subject: mt76: mt7615: fix possible division by 0 in mt7615_mac_update_mib_stats X-Git-Tag: v5.8-rc1~165^2~111^2~13^2~99 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=1855ad5360a18131e5c4b4afa1a1c5dea6e456c6;p=linux-block.git mt76: mt7615: fix possible division by 0 in mt7615_mac_update_mib_stats Check that val is not zero before aggr_per estimation in order to avoid a possible division by 0 Signed-off-by: Lorenzo Bianconi Signed-off-by: Felix Fietkau --- diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/mac.c b/drivers/net/wireless/mediatek/mt76/mt7615/mac.c index ed6eb19f48c5..1ef988883660 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7615/mac.c +++ b/drivers/net/wireless/mediatek/mt76/mt7615/mac.c @@ -1773,9 +1773,11 @@ mt7615_mac_update_mib_stats(struct mt7615_phy *phy) val = mt76_get_field(dev, MT_MIB_SDR14(ext_phy), MT_MIB_AMPDU_MPDU_COUNT); - val2 = mt76_get_field(dev, MT_MIB_SDR15(ext_phy), - MT_MIB_AMPDU_ACK_COUNT); - mib->aggr_per = 1000 * (val - val2) / val; + if (val) { + val2 = mt76_get_field(dev, MT_MIB_SDR15(ext_phy), + MT_MIB_AMPDU_ACK_COUNT); + mib->aggr_per = 1000 * (val - val2) / val; + } aggr = ext_phy ? ARRAY_SIZE(dev->mt76.aggr_stats) / 2 : 0; for (i = 0; i < 4; i++) {