From 322656141fa40896683f7118f669e9a1cafcfa51 Mon Sep 17 00:00:00 2001 From: Sean Wang Date: Fri, 22 Jul 2022 06:39:36 +0800 Subject: [PATCH] wifi: mt76: sdio: poll sta stat when device transmits data It is not meaningful to poll sta stat when there is no data traffic. So polling sta stat when the device has transmitted data instead to save CPU power. That implies that it is unallowed the stat_work to work while MCU is being initialized in the really early stage to fix the possible time to time MCU initialization failure. Fixes: d39b52e31aa6 ("mt76: introduce mt76_sdio module") Signed-off-by: Sean Wang Signed-off-by: Felix Fietkau --- sdio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdio.c b/sdio.c index fb2caeae..ece4e4bb 100644 --- a/sdio.c +++ b/sdio.c @@ -478,7 +478,7 @@ static void mt76s_status_worker(struct mt76_worker *w) if (ndata_frames > 0) resched = true; - if (dev->drv->tx_status_data && + if (dev->drv->tx_status_data && ndata_frames > 0 && !test_and_set_bit(MT76_READING_STATS, &dev->phy.state) && !test_bit(MT76_STATE_SUSPEND, &dev->phy.state)) ieee80211_queue_work(dev->hw, &dev->sdio.stat_work);