Search Linux Wireless

Question on "mac80211: HE STA disassoc due to QOS NULL not sent"

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

 



While debugging a station polling issue.  Should it maybe send
a probe request instead of just not probing at all?

commit f39b07fdfb688724fedabf5507e15eaf398f2500
Author: Shay Bar <shay.bar@xxxxxxxxxx>
Date:   Wed Jul 3 16:18:48 2019 +0300

    mac80211: HE STA disassoc due to QOS NULL not sent

    In case of HE AP-STA link, ieee80211_send_nullfunc() will not
    send the QOS NULL packet to check if AP is still associated.

    In this case, probe_send_count will be non-zero and
    ieee80211_sta_work() will later disassociate the AP, even
    though no packet was ever sent.

    Fix this by decrementing probe_send_count and not calling
    ieee80211_send_nullfunc() in case of HE link, so that we
    still wait for some time for the AP beacon to reappear and
    don't disconnect right away.

    Signed-off-by: Shay Bar <shay.bar@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/20190703131848.22879-1-shay.bar@xxxxxxxxxx
    [clarify commit message]
    Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>

diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 225633d9e2d4bd..e89ed800f01259 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -2512,7 +2512,10 @@ static void ieee80211_mgd_probe_ap_send(struct ieee80211_sub_if_data *sdata)

        if (ieee80211_hw_check(&sdata->local->hw, REPORTS_TX_ACK_STATUS)) {
                ifmgd->nullfunc_failed = false;
-               ieee80211_send_nullfunc(sdata->local, sdata, false);
+               if (!(ifmgd->flags & IEEE80211_STA_DISABLE_HE))
+                       ifmgd->probe_send_count--;
+               else
+                       ieee80211_send_nullfunc(sdata->local, sdata, false);
        } else {
                int ssid_len;


Thanks,
Ben

--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc  http://www.candelatech.com



[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