From: Manish Dharanenthiran <manish.dharanenthiran@oss.qualcomm.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: linux-wireless@vger.kernel.org,
Hari Naraayana Desikan Kannan <hnaraaya@qti.qualcomm.com>
Subject: Re: [PATCH wireless-next] wifi: mac80211: Fix ADDBA request rejection after MLD link removal
Date: Wed, 29 Apr 2026 19:39:45 +0530 [thread overview]
Message-ID: <1d06b2a3-66d8-4c27-b965-6c21f80b7539@oss.qualcomm.com> (raw)
In-Reply-To: <1f57207139c3fb955459425deda4d06c374ae212.camel@sipsolutions.net>
On 4/27/2026 3:30 PM, Johannes Berg wrote:
> On Wed, 2026-04-15 at 12:21 +0530, Manish Dharanenthiran wrote:
>> From: Hari Naraayana Desikan Kannan <hnaraaya@qti.qualcomm.com>
>>
>> Subsequent ADDBA requests from a non-AP MLD can be rejected with status
>> 0x0025 (Request declined), preventing BA establishment. This happens
>> because mac80211 checks the per-TID A-MPDU session's tid_rx pointer to
>> detect timeout changes on ADDBA updates. For drivers that set
>> SUPPORT_REORDERING_BUFFER, the reordering state is owned by the driver
>> and tid_rx will be NULL, causing mac80211 to incorrectly decline the
>> update.
>>
>> This can occur during MLO link reconfiguration, where a non-AP MLD may
>> remove one of its links while a Block Ack (BA) session is active. After
>> the link is removed, ADDBA update requests sent on the remaining links
>> are rejected, preventing BA establishment.
>>
>> Fix this by calling drv_ampdu_action() on ADDBA updates when
>> SUPPORT_REORDERING_BUFFER is set, so the driver can accept or reject the
>> update based on its capabilities and allow BA to be established on the
>> remaining links.
>
> Pretty sure this will break drivers, particularly iwlwifi, if you don't
> fix those first.
>
With link reconfiguration, not handling the update requests sent on the
remaining links causes throughput drop, that's why went with handling
the update requests even-though the session is valid.
Please let us know if we need to clear the old session and then proceed
with the update request to avoid breaking the other drivers.
>> Note: A similar fix has been proposed in [1]. This patch also fixes the
>> issue mentioned there. The difference in approach is to keep a similar
>> flow when the dialog_token matches. Previously only the timeout value
>> is checked, updated that to check the timeout only for the hardware that
>> doesn't set SUPPORT_REORDERING_BUFFER. In [1], it was changed to invoke
>> driver unconditionally when SUPPORT_REORDERING_BUFFER is set.
>>
>> https://lore.kernel.org/all/5806bab7e46506d3c300ab4eb66989d42936aeb0.1771323902.git.repk@triplefau.lt/
>>
> What was wrong with the approach we discussed there, other than nobody
> implementing it?
>
> johannes
Not a major different between the other change, thought of keeping the
similar version that we validated in the internal tree.
Regards
Manish Dharanenthiran
next prev parent reply other threads:[~2026-04-29 14:09 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-15 6:51 [PATCH wireless-next] wifi: mac80211: Fix ADDBA request rejection after MLD link removal Manish Dharanenthiran
2026-04-27 10:00 ` Johannes Berg
2026-04-29 14:09 ` Manish Dharanenthiran [this message]
2026-05-07 18:26 ` Johannes Berg
2026-05-11 6:26 ` Manish Dharanenthiran
2026-05-11 8:46 ` Johannes Berg
2026-05-11 10:10 ` Manish Dharanenthiran
2026-05-11 10:11 ` Johannes Berg
2026-05-11 10:32 ` Manish Dharanenthiran
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=1d06b2a3-66d8-4c27-b965-6c21f80b7539@oss.qualcomm.com \
--to=manish.dharanenthiran@oss.qualcomm.com \
--cc=hnaraaya@qti.qualcomm.com \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox