All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] mt76: mt7921: Fix resume fail if fw was dropped
@ 2021-07-09  7:07 Deren Wu
  2021-07-09  7:07 ` [PATCH 1/1] mt76: mt7921: get rid of mcu_reset function pointer Deren Wu
  0 siblings, 1 reply; 3+ messages in thread
From: Deren Wu @ 2021-07-09  7:07 UTC (permalink / raw)
  To: stable; +Cc: Felix Fietkau, Lorenzo Bianconi, Sean Wang, Deren Wu

From: Deren Wu <deren.wu@mediatek.com>

Hi,

The bug is found on some devices which power off pcie bus
in suspend mode. In this case, mt7921 would resume fail on
interactive commands. This patch could recover the failure in
command timeout.

Need to apply patches below for dependency. Those patches work
for stability improvment as well.

upstream patches:
commit f92f81d35ac2 ("mt76: mt7921: check mcu returned values in mt7921_start")
commit d32464e68ffc ("mt76: mt7921: introduce mt7921_run_firmware utility routine.")
commit 1f7396acfef4 ("mt76: mt7921: introduce __mt7921_start utility routine")
commit 3990465db682 ("mt76: dma: introduce mt76_dma_queue_reset routine")
commit c001df978e4c ("mt76: dma: export mt76_dma_rx_cleanup routine")
commit 0c1ce9884607 ("mt76: mt7921: add wifi reset support")
commit e513ae49088b ("mt76: mt7921: abort uncompleted scan by wifi reset")


Lorenzo Bianconi (1):
  mt76: mt7921: get rid of mcu_reset function pointer

 drivers/net/wireless/mediatek/mt76/mt7921/mcu.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/1] mt76: mt7921: get rid of mcu_reset function pointer
  2021-07-09  7:07 [PATCH 0/1] mt76: mt7921: Fix resume fail if fw was dropped Deren Wu
@ 2021-07-09  7:07 ` Deren Wu
  2021-07-09 13:06   ` Greg KH
  0 siblings, 1 reply; 3+ messages in thread
From: Deren Wu @ 2021-07-09  7:07 UTC (permalink / raw)
  To: stable
  Cc: Felix Fietkau, Lorenzo Bianconi, Sean Wang, Lorenzo Bianconi, Deren Wu

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/364293ec8609dd254067d8173c1599526ffd662c.1619000828.git.lorenzo@kernel.org/
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;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/1] mt76: mt7921: get rid of mcu_reset function pointer
  2021-07-09  7:07 ` [PATCH 1/1] mt76: mt7921: get rid of mcu_reset function pointer Deren Wu
@ 2021-07-09 13:06   ` Greg KH
  0 siblings, 0 replies; 3+ messages in thread
From: Greg KH @ 2021-07-09 13:06 UTC (permalink / raw)
  To: Deren Wu
  Cc: stable, Felix Fietkau, Lorenzo Bianconi, Sean Wang, Lorenzo Bianconi

On Fri, Jul 09, 2021 at 03:07:19PM +0800, Deren Wu wrote:
> 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/364293ec8609dd254067d8173c1599526ffd662c.1619000828.git.lorenzo@kernel.org/
> 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(-)

All now queued up, thanks.

greg k-h

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-07-09 13:06 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-09  7:07 [PATCH 0/1] mt76: mt7921: Fix resume fail if fw was dropped Deren Wu
2021-07-09  7:07 ` [PATCH 1/1] mt76: mt7921: get rid of mcu_reset function pointer Deren Wu
2021-07-09 13:06   ` Greg KH

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.