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: Mon, 11 May 2026 11:56:26 +0530 [thread overview]
Message-ID: <dbb28e3e-5022-4915-93e3-dd428ea59507@oss.qualcomm.com> (raw)
In-Reply-To: <a5b6798819178dd2995c34ec817457e90985708e.camel@sipsolutions.net>
On 5/7/2026 11:56 PM, Johannes Berg wrote:
> Hi,
>
> Sorry, I've definitely fallen behind on some topics.
>
No problem :)
>> 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.
>
> I'm not sure I see the relation right now, how does link reconfiguration
> relate to AddBA re-negotiation? Are there implementations that
> necessarily combine the two somehow?
>
No, there is no implementations that combine these two, but there are
cases where the update AddBA request can be received from the station
with link reconfiguration.
For instance, if a station associated in 2 GHz, later with link
reconfiguration station can either move to 5 GHz or it can add 5 GHz (as
MLD). Station then can send a AddBA request to update the window size or
other related parameters. Current change tries to address this by
treating the request as START and ath12k driver internally takes care of
updating the existing session. But, as you mentioned, we feel that it
should be treated as an UPDATE instead of START.
>> 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.
>
> I'm not sure what you're trying to achieve, so I'm not entirely sure
> what to say. I thought we were starting from "we should accept no-op
> updates".
>
>>>> 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.
>
> I don't think it _is_ that similar though? Or maybe it is, but I didn't
> think the other patch was correct (either).
>
> Basically I'm concerned that calling drv_ampdu_action() with
> IEEE80211_AMPDU_RX_START when the session is already active may break
> things depending on the driver.
>
> If you think there's a need to _really_ update parameters, then we
> should probably add a IEEE80211_AMPDU_RX_UPDATE operation, and implement
> it in drivers, and of course in some drivers that might just be
> equivalent to IEEE80211_AMPDU_RX_START (though that seems unlikely in
> general, given you may have to allocate reorder buffers etc.)
>
Agree.
> Regardless of that, if you think we need to accept no-op updates (I
> don't think we've seen the need so far), then the code shouldn't really
> (need to) call the driver at all, since things don't really change. For
> that I'd argue we should go with the approached discussed in the thread
> of [1], but not really that change itself.
>
> [1] https://lore.kernel.org/all/5806bab7e46506d3c300ab4eb66989d42936aeb0.1771323902.git.repk@triplefau.lt/
>
We believe that a no-op update is not required (or at-least we couldn't
think of a case in which that is actually needed) as there can might be
an actual change in the subsequent AddBA request.
> I'm perfectly willing to believe the need for both, but I'd argue that
> - no-op updates can be handled by mac80211 entirely by itself, as
> discussed in that thread, just someone needs to implement it
> - updates with changes need a separate call to the driver, which might
> fail (either because of the change, or because it's not implemented)
>
> As is, I don't think the code is safe in general. It may be that you
> validated it against your driver, but then I'd argue that it worked for
> your driver only because a new IEEE80211_AMPDU_RX_UPDATE would be
> equivalent to IEEE80211_AMPDU_RX_START for that driver for some reason,
> not because there's a general reason that this should work.
>
> johannes
Yes, based on the case that we encountered, IEEE80211_AMPDU_RX_UPDATE is
the right approach for the handling those requests safely for other
driver(s) as well instead of relying on IEEE80211_AMPDU_RX_START
Regards
Manish Dharanenthiran
next prev parent reply other threads:[~2026-05-11 6:26 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
2026-05-07 18:26 ` Johannes Berg
2026-05-11 6:26 ` Manish Dharanenthiran [this message]
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=dbb28e3e-5022-4915-93e3-dd428ea59507@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