Message ID | 20220513154805.89b855fd46f3.Ibdacb74eb4f9b21bc473072605df05bfd8bb2d75@changeid (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Johannes Berg |
Headers | show |
Series | [1/3] mac80211: mlme: move in RSSI reporting code | expand |
Hi Johannes, I love your patch! Yet something to improve: [auto build test ERROR on wireless-next/main] [also build test ERROR on wireless/main v5.18-rc6 next-20220513] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/intel-lab-lkp/linux/commits/Johannes-Berg/mac80211-mlme-move-in-RSSI-reporting-code/20220513-215204 base: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git main config: hexagon-randconfig-r041-20220512 (https://download.01.org/0day-ci/archive/20220514/202205140341.A1zkqlx2-lkp@intel.com/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 38189438b69ca27b4c6ce707c52dbd217583d046) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/64db83d0f7472324be9dce953061d4219b420e1c git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Johannes-Berg/mac80211-mlme-move-in-RSSI-reporting-code/20220513-215204 git checkout 64db83d0f7472324be9dce953061d4219b420e1c # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash net/mac80211/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): >> net/mac80211/mlme.c:2645:23: error: no member named 'cfg' in 'struct ieee80211_vif' sdata->vif.cfg.ssid, ~~~~~~~~~~ ^ net/mac80211/mlme.c:2646:23: error: no member named 'cfg' in 'struct ieee80211_vif' sdata->vif.cfg.ssid_len, ~~~~~~~~~~ ^ 2 errors generated. vim +2645 net/mac80211/mlme.c 2607 2608 static void ieee80211_mgd_probe_ap_send(struct ieee80211_sub_if_data *sdata) 2609 { 2610 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; 2611 u8 *dst = ifmgd->bssid; 2612 u8 unicast_limit = max(1, max_probe_tries - 3); 2613 struct sta_info *sta; 2614 2615 /* 2616 * Try sending broadcast probe requests for the last three 2617 * probe requests after the first ones failed since some 2618 * buggy APs only support broadcast probe requests. 2619 */ 2620 if (ifmgd->probe_send_count >= unicast_limit) 2621 dst = NULL; 2622 2623 /* 2624 * When the hardware reports an accurate Tx ACK status, it's 2625 * better to send a nullfunc frame instead of a probe request, 2626 * as it will kick us off the AP quickly if we aren't associated 2627 * anymore. The timeout will be reset if the frame is ACKed by 2628 * the AP. 2629 */ 2630 ifmgd->probe_send_count++; 2631 2632 if (dst) { 2633 mutex_lock(&sdata->local->sta_mtx); 2634 sta = sta_info_get(sdata, dst); 2635 if (!WARN_ON(!sta)) 2636 ieee80211_check_fast_rx(sta); 2637 mutex_unlock(&sdata->local->sta_mtx); 2638 } 2639 2640 if (ieee80211_hw_check(&sdata->local->hw, REPORTS_TX_ACK_STATUS)) { 2641 ifmgd->nullfunc_failed = false; 2642 ieee80211_send_nullfunc(sdata->local, sdata, false); 2643 } else { 2644 ieee80211_mlme_send_probe_req(sdata, sdata->vif.addr, dst, > 2645 sdata->vif.cfg.ssid, 2646 sdata->vif.cfg.ssid_len, 2647 ifmgd->associated->channel); 2648 } 2649 2650 ifmgd->probe_timeout = jiffies + msecs_to_jiffies(probe_wait_ms); 2651 run_again(sdata, ifmgd->probe_timeout); 2652 } 2653
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 1bf6efe86c02..26b4863ae1ea 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -2608,7 +2608,6 @@ static void ieee80211_mlme_send_probe_req(struct ieee80211_sub_if_data *sdata, static void ieee80211_mgd_probe_ap_send(struct ieee80211_sub_if_data *sdata) { struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; - const struct element *ssid; u8 *dst = ifmgd->bssid; u8 unicast_limit = max(1, max_probe_tries - 3); struct sta_info *sta; @@ -2642,19 +2641,10 @@ static void ieee80211_mgd_probe_ap_send(struct ieee80211_sub_if_data *sdata) ifmgd->nullfunc_failed = false; ieee80211_send_nullfunc(sdata->local, sdata, false); } else { - int ssid_len; - - rcu_read_lock(); - ssid = ieee80211_bss_get_elem(ifmgd->associated, WLAN_EID_SSID); - if (WARN_ON_ONCE(ssid == NULL)) - ssid_len = 0; - else - ssid_len = ssid->datalen; - ieee80211_mlme_send_probe_req(sdata, sdata->vif.addr, dst, - ssid->data, ssid_len, + sdata->vif.cfg.ssid, + sdata->vif.cfg.ssid_len, ifmgd->associated->channel); - rcu_read_unlock(); } ifmgd->probe_timeout = jiffies + msecs_to_jiffies(probe_wait_ms);