Search Linux Wireless

RE: [PATCH] mac80211: Fix sw connection monitor and sw scan when STA is connected HE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Johannes Berg [mailto:johannes@xxxxxxxxxxxxxxxx]
> Sent: Wednesday, June 23, 2021 6:33 PM
> To: Pkshih
> Cc: linux-wireless@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH] mac80211: Fix sw connection monitor and sw scan when STA is connected HE
> 
> > Hi mac80211 team,
> >
> > We are working on Realtek 11ax driver, rtw89, not being merged yet.
> > This driver uses software connection monitor and software scan, like
> > our 11ac driver rtw88,
> > but we found these two functions don't work properly due to mac80211
> > doesn't send
> > null data frame when STA is connected HE.
> >
> > We search for the reason why it can't send null frame, but we don't
> > get the answer.
> > Possibly, it is because existing HE hardware supports hardware
> > connection monitor
> > and scan, or supports TWT to avoid sending null data frame to tell AP
> > its PS mode.
> > Could anyone enlighten me the reason?
> 
> It was just a workaround for an iwlwifi specific issue that got left in.
> I just merged a patch from Felix to resolve that.
> 

I check Felix's patch:
https://patchwork.kernel.org/project/linux-wireless/patch/20210619101517.90806-1-nbd@xxxxxxxx/


I think we should revert the commit f39b07fdfb68 ("mac80211: HE STA disassoc due to QOS NULL not sent"),
which fixes connection monitor due to QOS NULL not send.


Another place is ieee80211_send_null_response(); I'm not sure if we can remove
the checking as well.

diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
index f2fb69da9b6e..13250cadb420 100644
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -1398,11 +1398,6 @@ static void ieee80211_send_null_response(struct sta_info *sta, int tid,
        struct ieee80211_tx_info *info;
        struct ieee80211_chanctx_conf *chanctx_conf;
 
-       /* Don't send NDPs when STA is connected HE */
-       if (sdata->vif.type == NL80211_IFTYPE_STATION &&
-           !(sdata->u.mgd.flags & IEEE80211_STA_DISABLE_HE))
-               return;
-
        if (qos) {
                fc = cpu_to_le16(IEEE80211_FTYPE_DATA |
                                 IEEE80211_STYPE_QOS_NULLFUNC |

--
Ping-Ke






[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux