]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
mt76x0: fix memory leak during hw probe
authorLorenzo Bianconi <lorenzo.bianconi@redhat.com>
Thu, 6 Sep 2018 09:18:47 +0000 (11:18 +0200)
committerFelix Fietkau <nbd@nbd.name>
Wed, 19 Sep 2018 10:31:04 +0000 (12:31 +0200)
Fix memory leak during hw probe if mt76x0_register_device fails
since MT76_STATE_INITIALIZED has not set yet and mt76x0_cleanup
does not free tx/rx queues and mcu buffers

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76x0/init.c

index ca70b62442a148764d967c5086d2c0405ff4929c..d186f509b5a8a3a33c541b32392b99717955e209 100644 (file)
@@ -468,9 +468,7 @@ int mt76x0_init_hardware(struct mt76x0_dev *dev)
 
 void mt76x0_cleanup(struct mt76x0_dev *dev)
 {
-       if (!test_and_clear_bit(MT76_STATE_INITIALIZED, &dev->mt76.state))
-               return;
-
+       clear_bit(MT76_STATE_INITIALIZED, &dev->mt76.state);
        mt76x0_chip_onoff(dev, false, false);
        mt76u_queues_deinit(&dev->mt76);
        mt76u_mcu_deinit(&dev->mt76);