mt76: do not inject packets if MT76_STATE_PM is set
authorLorenzo Bianconi <lorenzo@kernel.org>
Thu, 30 Jul 2020 09:27:51 +0000 (11:27 +0200)
committerFelix Fietkau <nbd@nbd.name>
Thu, 24 Sep 2020 16:10:12 +0000 (18:10 +0200)
Do not tx packets in mt76_txq_send_burst() or mt76_txq_schedule_list()
if the device is in runtime-pm

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/tx.c

index 3afd89e..40ec55a 100644 (file)
@@ -460,7 +460,8 @@ mt76_txq_send_burst(struct mt76_phy *phy, struct mt76_sw_queue *sq,
                if (probe)
                        break;
 
-               if (test_bit(MT76_RESET, &phy->state))
+               if (test_bit(MT76_STATE_PM, &phy->state) ||
+                   test_bit(MT76_RESET, &phy->state))
                        return -EBUSY;
 
                skb = mt76_txq_dequeue(phy, mtxq, false);
@@ -516,7 +517,8 @@ mt76_txq_schedule_list(struct mt76_phy *phy, enum mt76_txq_id qid)
                if (sq->swq_queued >= 4)
                        break;
 
-               if (test_bit(MT76_RESET, &phy->state)) {
+               if (test_bit(MT76_STATE_PM, &phy->state) ||
+                   test_bit(MT76_RESET, &phy->state)) {
                        ret = -EBUSY;
                        break;
                }