From: Lorenzo Bianconi lorenzo@kernel.org
[ Upstream commit d43b3257621dfe57c71d875afd3f624b9a042fc5 ]
since mcu_reset it used only by mt7921, move the reset callback to mt7921_mcu_parse_response routine and get rid of the function pointer.
Signed-off-by: Lorenzo Bianconi lorenzo@kernel.org Signed-off-by: Felix Fietkau nbd@nbd.name Link: https://lore.kernel.org/linux-wireless/364293ec8609dd254067d8173c1599526ffd6... Signed-off-by: Deren Wu deren.wu@mediatek.com Cc: stable@vger.kernel.org # 5.12: f92f81d35ac2 mt76: mt7921: check mcu returned values in mt7921_start Cc: stable@vger.kernel.org # 5.12: d32464e68ffc mt76: mt7921: introduce mt7921_run_firmware utility routine. Cc: stable@vger.kernel.org # 5.12: 1f7396acfef4 mt76: mt7921: introduce __mt7921_start utility routine Cc: stable@vger.kernel.org # 5.12: 3990465db682 mt76: dma: introduce mt76_dma_queue_reset routine Cc: stable@vger.kernel.org # 5.12: c001df978e4c mt76: dma: export mt76_dma_rx_cleanup routine Cc: stable@vger.kernel.org # 5.12: 0c1ce9884607 mt76: mt7921: add wifi reset support Cc: stable@vger.kernel.org # 5.12: e513ae49088b mt76: mt7921: abort uncompleted scan by wifi reset Cc: stable@vger.kernel.org # 5.12 --- drivers/net/wireless/mediatek/mt76/mt7921/mcu.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c index d0d6de3f6d41..a4f070cd78fd 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c @@ -161,6 +161,8 @@ mt7921_mcu_parse_response(struct mt76_dev *mdev, int cmd, if (!skb) { dev_err(mdev->dev, "Message %d (seq %d) timeout\n", cmd, seq); + mt7921_reset(mdev); + return -ETIMEDOUT; }
@@ -952,7 +954,6 @@ int mt7921_mcu_init(struct mt7921_dev *dev) .mcu_skb_send_msg = mt7921_mcu_send_message, .mcu_parse_response = mt7921_mcu_parse_response, .mcu_restart = mt7921_mcu_restart, - .mcu_reset = mt7921_reset, };
dev->mt76.mcu_ops = &mt7921_mcu_ops;