mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
mt76: mt7615: wake device before pulling packets from mac80211 queues
Make sure the device is in full-power before pulling frames from mac80211 queues Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
46dadc3104
commit
5cf8f7794d
@ -1841,9 +1841,13 @@ void mt7615_pm_wake_work(struct work_struct *work)
|
||||
pm.wake_work);
|
||||
mphy = dev->phy.mt76;
|
||||
|
||||
if (mt7615_driver_own(dev))
|
||||
if (mt7615_driver_own(dev)) {
|
||||
dev_err(mphy->dev->dev, "failed to wake device\n");
|
||||
goto out;
|
||||
}
|
||||
|
||||
tasklet_schedule(&dev->mt76.tx_tasklet);
|
||||
out:
|
||||
complete_all(&dev->pm.wake_cmpl);
|
||||
}
|
||||
|
||||
|
@ -638,6 +638,24 @@ static void mt7615_sta_rate_tbl_update(struct ieee80211_hw *hw,
|
||||
spin_unlock_bh(&dev->mt76.lock);
|
||||
}
|
||||
|
||||
static void
|
||||
mt7615_wake_tx_queue(struct ieee80211_hw *hw, struct ieee80211_txq *txq)
|
||||
{
|
||||
struct mt7615_dev *dev = mt7615_hw_dev(hw);
|
||||
struct mt7615_phy *phy = mt7615_hw_phy(hw);
|
||||
struct mt76_phy *mphy = phy->mt76;
|
||||
|
||||
if (!test_bit(MT76_STATE_RUNNING, &mphy->state))
|
||||
return;
|
||||
|
||||
if (test_bit(MT76_STATE_PM, &mphy->state)) {
|
||||
queue_work(dev->mt76.wq, &dev->pm.wake_work);
|
||||
return;
|
||||
}
|
||||
|
||||
tasklet_schedule(&dev->mt76.tx_tasklet);
|
||||
}
|
||||
|
||||
static void mt7615_tx(struct ieee80211_hw *hw,
|
||||
struct ieee80211_tx_control *control,
|
||||
struct sk_buff *skb)
|
||||
@ -1134,7 +1152,7 @@ const struct ieee80211_ops mt7615_ops = {
|
||||
.set_key = mt7615_set_key,
|
||||
.ampdu_action = mt7615_ampdu_action,
|
||||
.set_rts_threshold = mt7615_set_rts_threshold,
|
||||
.wake_tx_queue = mt76_wake_tx_queue,
|
||||
.wake_tx_queue = mt7615_wake_tx_queue,
|
||||
.sta_rate_tbl_update = mt7615_sta_rate_tbl_update,
|
||||
.sw_scan_start = mt76_sw_scan,
|
||||
.sw_scan_complete = mt76_sw_scan_complete,
|
||||
|
Loading…
Reference in New Issue
Block a user