[PATCH] mt76: mt7921: get rid of the false positive reset

Lorenzo Bianconi lorenzo at kernel.org
Tue Aug 16 01:00:31 PDT 2022


> From: Sean Wang <sean.wang at mediatek.com>
> 
> False positive reset would be possibly triggered by those commands we
> applied in suspend with HZ MCU timeout, especially it happened when we
> enabled kernel log in pm core to diagnose how much time we spend in each
> driver during suspend procedure. So we enlarge the value and align the MCU
> timeout as other commands we did to reduce the false positive reset.
> 
> Signed-off-by: Sean Wang <sean.wang at mediatek.com>

Acked-by: Lorenzo Bianconi <lorenzo at kernel.org>

> ---
>  drivers/net/wireless/mediatek/mt76/mt7921/pci_mcu.c  | 7 +------
>  drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c | 7 +------
>  drivers/net/wireless/mediatek/mt76/mt7921/usb.c      | 7 +------
>  3 files changed, 3 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/pci_mcu.c b/drivers/net/wireless/mediatek/mt76/mt7921/pci_mcu.c
> index 5efda694fb9d..64568536c1e9 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7921/pci_mcu.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/pci_mcu.c
> @@ -30,12 +30,7 @@ mt7921_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
>  	if (ret)
>  		return ret;
>  
> -	if (cmd == MCU_UNI_CMD(HIF_CTRL) ||
> -	    cmd == MCU_UNI_CMD(SUSPEND) ||
> -	    cmd == MCU_UNI_CMD(OFFLOAD))
> -		mdev->mcu.timeout = HZ;
> -	else
> -		mdev->mcu.timeout = 3 * HZ;
> +	mdev->mcu.timeout = 3 * HZ;
>  
>  	if (cmd == MCU_CMD(FW_SCATTER))
>  		txq = MT_MCUQ_FWDL;
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c b/drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c
> index e038d7404323..5c1489766d9f 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c
> @@ -33,12 +33,7 @@ mt7921s_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
>  	if (ret)
>  		return ret;
>  
> -	if (cmd == MCU_UNI_CMD(HIF_CTRL) ||
> -	    cmd == MCU_UNI_CMD(SUSPEND) ||
> -	    cmd == MCU_UNI_CMD(OFFLOAD))
> -		mdev->mcu.timeout = HZ;
> -	else
> -		mdev->mcu.timeout = 3 * HZ;
> +	mdev->mcu.timeout = 3 * HZ;
>  
>  	if (cmd == MCU_CMD(FW_SCATTER))
>  		type = MT7921_SDIO_FWDL;
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/usb.c b/drivers/net/wireless/mediatek/mt76/mt7921/usb.c
> index dd3b8884e162..d06cee386acd 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7921/usb.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/usb.c
> @@ -106,12 +106,7 @@ mt7921u_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
>  	if (ret)
>  		return ret;
>  
> -	if (cmd == MCU_UNI_CMD(HIF_CTRL) ||
> -	    cmd == MCU_UNI_CMD(SUSPEND) ||
> -	    cmd == MCU_UNI_CMD(OFFLOAD))
> -		mdev->mcu.timeout = HZ;
> -	else
> -		mdev->mcu.timeout = 3 * HZ;
> +	mdev->mcu.timeout = 3 * HZ;
>  
>  	if (cmd != MCU_CMD(FW_SCATTER))
>  		ep = MT_EP_OUT_INBAND_CMD;
> -- 
> 2.25.1
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-mediatek/attachments/20220816/4461267c/attachment.sig>


More information about the Linux-mediatek mailing list