Re: [PATCH wireless-next 6/8] wifi: rt2800: set the mac80211 fast-xmit and aggregation flags

From: Jie Feng

Date: Sat Oct 31 2026 - 13:19:00 EST


On Sat, 31 Oct 2026 at 19:06, Stanislaw Gruszka <stf_xl@xxxxx> wrote:
>
> On Fri, Oct 30, 2026 at 07:33:44PM +0800, Jie Feng wrote:
> > On Fri, 30 Oct 2026 at 17:17, Stanislaw Gruszka <stf_xl@xxxxx> wrote:
> > >
> > > On Thu, Oct 29, 2026 at 09:47:47PM +0800, Ho Jie Feng wrote:
> > > > Enable AMSDU TX/RX support for this driver, which can increase
> > > > throughput.
> > > >
> > > > Signed-off-by: Ho Jie Feng <hjf3108@xxxxxxxxx>
> > > > ---
> > > > drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 3 +++
> > > > 1 file changed, 3 insertions(+)
> > > >
> > > > diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> > > > index 032cd6ac345f0..8b4458a74d33d 100644
> > > > --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> > > > +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> > > > @@ -11861,6 +11861,9 @@ static int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
> > > > ieee80211_hw_set(rt2x00dev->hw, SIGNAL_DBM);
> > > > ieee80211_hw_set(rt2x00dev->hw, SUPPORTS_PS);
> > > > ieee80211_hw_set(rt2x00dev->hw, TX_STATUS_NO_AMPDU_LEN);
> > > > + ieee80211_hw_set(rt2x00dev->hw, SUPPORT_FAST_XMIT);
> > >
> > > IFICT this flag will not take the effect since we have SUPPORTS_PS.
> > > Also for WAP3 (802.11w) we fallback to software encryption -
> > > that will prevent fast xmit as well. To truly enable
> > Yeah, that is true. I also have a patch that enables hwcrypto in that case.
>
> So let's wait until all needed parts will be in tree or posted in the
> same patchset before advertising the support.
>
> > > fast xmit, I think we would need add hardware encryption support for
> > > WPA3 and also compromise by remove Power Save support (which is disabled by
> > > default, so that's possibly fine).
> > I think maybe a more general patch to mac80211 to enable fast-xmit when PS
> > is disabled and not only checking the feature flag will be better?
>
> Sounds like good idea to me, but let check with Johannes (cc-ed).
The patch might go something like this:

Within net/mac80211/tx.c, ieee80211_check_fast_xmit:
if (ieee80211_hw_check(&local->hw, SUPPORTS_PS) &&
!ieee80211_hw_check(&local->hw, SUPPORTS_DYNAMIC_PS) &&
- sdata->vif.type == NL80211_IFTYPE_STATION)
+ sdata->vif.type == NL80211_IFTYPE_STATION &&
Either:
+ sdata->u.mgd.powersave)
or this:
+ local->ps_sdata == sdata)
goto out;



> > > > + ieee80211_hw_set(rt2x00dev->hw, TX_AMSDU);
> > > > + ieee80211_hw_set(rt2x00dev->hw, SUPPORTS_AMSDU_IN_AMPDU);
> > Although I think this flag will still be useful for this patch.
>
> AFICT TX_AMSDU require FAST_XMIT. I think we could potentially enable
> RX SUPPORTS_AMSDU_IN_AMPDU as long all buffer sizes setup by the driver
> and configured in registers allow handling big enough frames. Though
> I don't know how much beneficial that would be since we most likely
> can not configure very large (A)MPDU buffers. Need to check.
>
> Regards
> Stanislaw
>
> > > >
> > > > /*
> > > > * Don't set IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING for USB devices
> > > > --
> > > > 2.53.0
> > > >