mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
mt7603: add stuck beacon detection
Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
@@ -126,6 +126,7 @@ struct mt7603_dev {
|
||||
|
||||
u8 beacon_mask;
|
||||
|
||||
u8 beacon_check;
|
||||
u8 tx_check;
|
||||
u8 txrx_check;
|
||||
u8 rx_dma_check;
|
||||
|
||||
@@ -131,6 +131,8 @@ void mt7603_pre_tbtt_tasklet(unsigned long arg)
|
||||
|
||||
out:
|
||||
mt76_queue_tx_cleanup(dev, MT_TXQ_BEACON, false);
|
||||
if (dev->mt76.q_tx[MT_TXQ_BEACON].queued > MT7603_MAX_INTERFACES)
|
||||
dev->beacon_check++;
|
||||
}
|
||||
|
||||
void mt7603_beacon_set_timer(struct mt7603_dev *dev, int idx, int intval)
|
||||
|
||||
+3
-1
@@ -1118,7 +1118,9 @@ void mt7603_mac_work(struct work_struct *work)
|
||||
WARN_ON_ONCE(mt7603_watchdog_check(dev, &dev->txrx_check,
|
||||
mt7603_tx_rx_dma_busy)) ||
|
||||
WARN_ON_ONCE(mt7603_watchdog_check(dev, &dev->rx_pse_check,
|
||||
mt7603_rx_pse_busy))) {
|
||||
mt7603_rx_pse_busy)) ||
|
||||
WARN_ON_ONCE(dev->beacon_check > MT7603_WATCHDOG_TIMEOUT)) {
|
||||
dev->beacon_check = 0;
|
||||
dev->tx_check = 0;
|
||||
dev->txrx_check = 0;
|
||||
dev->rx_dma_check = 0;
|
||||
|
||||
Reference in New Issue
Block a user