All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kalle Valo <kvalo@kernel.org>
To: Muhammad Usama Anjum <Usama.Anjum@collabora.com>
Cc: "Nícolas F. R. A. Prado" <nfraprado@collabora.com>,
	"Alper Nebi Yasak" <alpernebiyasak@gmail.com>,
	"Felix Fietkau" <nbd@nbd.name>,
	linux-wireless@vger.kernel.org
Subject: Re: [PATCH] wifi: mt76: do not increase mcu skb refcount if retry is not supported
Date: Tue, 22 Oct 2024 10:47:46 +0300	[thread overview]
Message-ID: <87h694o9y5.fsf@kernel.org> (raw)
In-Reply-To: <1d673f56-0bd8-4a55-8805-4e30c38cc36f@collabora.com> (Muhammad Usama Anjum's message of "Tue, 22 Oct 2024 11:48:43 +0500")

Muhammad Usama Anjum <Usama.Anjum@collabora.com> writes:

> On 9/17/24 4:09 PM, Felix Fietkau wrote:
>
>> If mcu_skb_prepare_msg is not implemented, incrementing skb refcount does not
>> work for mcu message retry. In some cases (e.g. on SDIO), shared skbs can trigger
>> a BUG_ON, crashing the system.
>> Fix this by only incrementing refcount if retry is actually supported.
>> 
>> Fixes: 3688c18b65ae ("wifi: mt76: mt7915: retry mcu messages")
>> Reported-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> #KernelCI
>> Tested-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
>> Signed-off-by: Felix Fietkau <nbd@nbd.name>
>> ---
>>  drivers/net/wireless/mediatek/mt76/mcu.c | 7 +++++--
>>  1 file changed, 5 insertions(+), 2 deletions(-)
>> 
>> diff --git a/drivers/net/wireless/mediatek/mt76/mcu.c b/drivers/net/wireless/mediatek/mt76/mcu.c
>> index 98da82b74094..3353012e8542 100644
>> --- a/drivers/net/wireless/mediatek/mt76/mcu.c
>> +++ b/drivers/net/wireless/mediatek/mt76/mcu.c
>> @@ -84,13 +84,16 @@ int mt76_mcu_skb_send_and_get_msg(struct mt76_dev *dev, struct sk_buff *skb,
>>  	mutex_lock(&dev->mcu.mutex);
>>  
>>  	if (dev->mcu_ops->mcu_skb_prepare_msg) {
>> +		orig_skb = skb;
>>  		ret = dev->mcu_ops->mcu_skb_prepare_msg(dev, skb, cmd, &seq);
>>  		if (ret < 0)
>>  			goto out;
>>  	}
>>  
>>  retry:
>> -	orig_skb = skb_get(skb);
>> +	/* orig skb might be needed for retry, mcu_skb_send_msg consumes it */
>> +	if (orig_skb)
>> +		skb_get(orig_skb);
>>  	ret = dev->mcu_ops->mcu_skb_send_msg(dev, skb, cmd, &seq);
>>  	if (ret < 0)
>>  		goto out;
>> @@ -105,7 +108,7 @@ int mt76_mcu_skb_send_and_get_msg(struct mt76_dev *dev, struct sk_buff *skb,
>>  	do {
>>  		skb = mt76_mcu_get_response(dev, expires);
>>  		if (!skb && !test_bit(MT76_MCU_RESET, &dev->phy.state) &&
>> -		    retry++ < dev->mcu_ops->max_retry) {
>> +		    orig_skb && retry++ < dev->mcu_ops->max_retry) {
>>  			dev_err(dev->dev, "Retry message %08x (seq %d)\n",
>>  				cmd, seq);
>>  			skb = orig_skb;
> This patch is in next from 5 weeks. As 3688c18b65ae ("wifi: mt76: mt7915: retry mcu messages") is
> already in the mainline, why this fix hasn't been included in mainline? I thought fixes are included
> as soon as possible in mainline RCs. Am I missing something? 
>
> Are we planning to include this fix in next release instead of current one?

The commit is now in wireless tree:

34b695481084 wifi: mt76: do not increase mcu skb refcount if retry is not supported

With good luck it will be in v6.12-rc5 but no guarantees.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

      reply	other threads:[~2024-10-22  7:47 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-17 11:09 [PATCH] wifi: mt76: do not increase mcu skb refcount if retry is not supported Felix Fietkau
2024-09-17 11:18 ` Kalle Valo
2024-09-17 12:10   ` Felix Fietkau
2024-09-18 13:34 ` Kalle Valo
2024-10-22  6:48 ` [PATCH] " Muhammad Usama Anjum
2024-10-22  7:47   ` Kalle Valo [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h694o9y5.fsf@kernel.org \
    --to=kvalo@kernel.org \
    --cc=Usama.Anjum@collabora.com \
    --cc=alpernebiyasak@gmail.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=nbd@nbd.name \
    --cc=nfraprado@collabora.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.