mt76: mt7615: fix possible division by 0 in mt7615_mac_update_mib_stats
authorLorenzo Bianconi <lorenzo@kernel.org>
Mon, 6 Apr 2020 21:56:30 +0000 (23:56 +0200)
committerFelix Fietkau <nbd@nbd.name>
Tue, 12 May 2020 17:52:30 +0000 (19:52 +0200)
Check that val is not zero before aggr_per estimation in order to avoid a
possible division by 0

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7615/mac.c

index ed6eb19..1ef9888 100644 (file)
@@ -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++) {