Search Linux Wireless

Re: [PATCH] mac80211 : Add support to track mesh peer beacon miss event

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

 



Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on wireless/main]
[also build test ERROR on v5.18]
[cannot apply to wireless-next/main next-20220525]
[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/quic_haric-quicinc-com/mac80211-Add-support-to-track-mesh-peer-beacon-miss-event/20220525-140309
base:   https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless.git main
config: microblaze-randconfig-r035-20220524 (https://download.01.org/0day-ci/archive/20220525/202205251825.nBaXpJoJ-lkp@xxxxxxxxx/config)
compiler: microblaze-linux-gcc (GCC) 11.3.0
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/630032eda5f6d000586a70d32fdf32db9a68437f
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review quic_haric-quicinc-com/mac80211-Add-support-to-track-mesh-peer-beacon-miss-event/20220525-140309
        git checkout 630032eda5f6d000586a70d32fdf32db9a68437f
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=microblaze SHELL=/bin/bash net/mac80211/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   net/mac80211/mesh.c: In function 'ieee80211_mesh_rx_bcn_presp':
>> net/mac80211/mesh.c:1366:56: error: passing argument 3 of 'mesh_bmiss_update' from incompatible pointer type [-Werror=incompatible-pointer-types]
    1366 |                         mesh_bmiss_update(sdata, mgmt, &elems, rx_status);
         |                                                        ^~~~~~
         |                                                        |
         |                                                        struct ieee802_11_elems **
   In file included from net/mac80211/mesh.c:12:
   net/mac80211/mesh.h:267:78: note: expected 'struct ieee802_11_elems *' but argument is of type 'struct ieee802_11_elems **'
     267 |                        struct ieee80211_mgmt *mgmt, struct ieee802_11_elems *ie,
         |                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~^~
   cc1: some warnings being treated as errors


vim +/mesh_bmiss_update +1366 net/mac80211/mesh.c

  1306	
  1307	static void ieee80211_mesh_rx_bcn_presp(struct ieee80211_sub_if_data *sdata,
  1308						u16 stype,
  1309						struct ieee80211_mgmt *mgmt,
  1310						size_t len,
  1311						struct ieee80211_rx_status *rx_status)
  1312	{
  1313		struct ieee80211_local *local = sdata->local;
  1314		struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
  1315		struct ieee802_11_elems *elems;
  1316		struct ieee80211_channel *channel;
  1317		size_t baselen;
  1318		int freq;
  1319		enum nl80211_band band = rx_status->band;
  1320	
  1321		/* ignore ProbeResp to foreign address */
  1322		if (stype == IEEE80211_STYPE_PROBE_RESP &&
  1323		    !ether_addr_equal(mgmt->da, sdata->vif.addr))
  1324			return;
  1325	
  1326		baselen = (u8 *) mgmt->u.probe_resp.variable - (u8 *) mgmt;
  1327		if (baselen > len)
  1328			return;
  1329	
  1330		elems = ieee802_11_parse_elems(mgmt->u.probe_resp.variable,
  1331					       len - baselen,
  1332					       false, mgmt->bssid, NULL);
  1333		if (!elems)
  1334			return;
  1335	
  1336		/* ignore non-mesh or secure / unsecure mismatch */
  1337		if ((!elems->mesh_id || !elems->mesh_config) ||
  1338		    (elems->rsn && sdata->u.mesh.security == IEEE80211_MESH_SEC_NONE) ||
  1339		    (!elems->rsn && sdata->u.mesh.security != IEEE80211_MESH_SEC_NONE))
  1340			goto free;
  1341	
  1342		if (elems->ds_params)
  1343			freq = ieee80211_channel_to_frequency(elems->ds_params[0], band);
  1344		else
  1345			freq = rx_status->freq;
  1346	
  1347		channel = ieee80211_get_channel(local->hw.wiphy, freq);
  1348	
  1349		if (!channel || channel->flags & IEEE80211_CHAN_DISABLED)
  1350			goto free;
  1351	
  1352		if (mesh_matches_local(sdata, elems)) {
  1353			mpl_dbg(sdata, "rssi_threshold=%d,rx_status->signal=%d\n",
  1354				sdata->u.mesh.mshcfg.rssi_threshold, rx_status->signal);
  1355			if (!sdata->u.mesh.user_mpm ||
  1356			    sdata->u.mesh.mshcfg.rssi_threshold == 0 ||
  1357			    sdata->u.mesh.mshcfg.rssi_threshold < rx_status->signal)
  1358				mesh_neighbour_update(sdata, mgmt->sa, elems,
  1359						      rx_status);
  1360	
  1361			if (ifmsh->csa_role != IEEE80211_MESH_CSA_ROLE_INIT &&
  1362			    !sdata->vif.csa_active)
  1363				ieee80211_mesh_process_chnswitch(sdata, elems, true);
  1364	
  1365			if (stype != IEEE80211_STYPE_PROBE_RESP)
> 1366				mesh_bmiss_update(sdata, mgmt, &elems, rx_status);
  1367		}
  1368	
  1369		if (ifmsh->sync_ops)
  1370			ifmsh->sync_ops->rx_bcn_presp(sdata, stype, mgmt, len,
  1371						      elems->mesh_config, rx_status);
  1372	free:
  1373		kfree(elems);
  1374	}
  1375	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp



[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