diff --git a/mt7603.h b/mt7603.h index 69396a60..4c3a8563 100644 --- a/mt7603.h +++ b/mt7603.h @@ -218,6 +218,7 @@ struct sk_buff *mt7603_mac_status_skb(struct mt7603_dev *dev, void mt7603_mac_rx_ba_reset(struct mt7603_dev *dev, void *addr, u8 tid); void mt7603_mac_tx_ba_reset(struct mt7603_dev *dev, int wcid, int tid, int ssn, int ba_size); +void mt7603_mac_watchdog_reset(struct mt7603_dev *dev); int mt7603_mcu_set_channel(struct mt7603_dev *dev); int mt7603_mcu_reg_read(struct mt7603_dev *dev, u32 reg, u32 *val, bool rf); diff --git a/mt7603_mac.c b/mt7603_mac.c index 15822f57..33bf672b 100644 --- a/mt7603_mac.c +++ b/mt7603_mac.c @@ -975,7 +975,7 @@ void mt7603_mac_stop(struct mt7603_dev *dev) mt76_clear(dev, MT_WF_ARB_RQCR, MT_WF_ARB_RQCR_RX_START); } -static void mt7603_mac_watchdog_reset(struct mt7603_dev *dev) +void mt7603_mac_watchdog_reset(struct mt7603_dev *dev) { int beacon_int = dev->beacon_int; u32 mask = dev->irqmask; diff --git a/mt7603_main.c b/mt7603_main.c index f5706863..82513f3f 100644 --- a/mt7603_main.c +++ b/mt7603_main.c @@ -23,6 +23,7 @@ mt7603_start(struct ieee80211_hw *hw) struct mt7603_dev *dev = hw->priv; mt7603_mac_start(dev); + mt7603_mac_watchdog_reset(dev); ieee80211_queue_delayed_work(mt76_hw(dev), &dev->mac_work, MT7603_WATCHDOG_TIME); set_bit(MT76_STATE_RUNNING, &dev->mt76.state);