All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH 24/24] nl80211/cfg80211: support 6 GHz scanning
Date: Sat, 30 May 2020 03:56:03 +0800	[thread overview]
Message-ID: <202005300324.b7YmxNcE%lkp@intel.com> (raw)
In-Reply-To: <20200528165011.db75a9f917ca.I9d94ae093e08fb15b6c8f8fb7406b316778c6a5f@changeid>

[-- Attachment #1: Type: text/plain, Size: 6447 bytes --]

Hi Johannes,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on mac80211-next/master]
[also build test WARNING on next-20200529]
[cannot apply to mac80211/master v5.7-rc7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Johannes-Berg/nl80211-really-allow-client-only-BIGTK-support/20200528-230010
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master
config: i386-randconfig-s002-20200529 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-243-gc100a7ab-dirty
        # save the attached .config to linux build tree
        make W=1 C=1 ARCH=i386 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)

>> net/wireless/scan.c:744:65: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct cfg80211_bss_ies const *ies @@     got struct cfg80211_bss_ies const [noderef] <asn:4> *ies @@
>> net/wireless/scan.c:744:65: sparse:     expected struct cfg80211_bss_ies const *ies
>> net/wireless/scan.c:744:65: sparse:     got struct cfg80211_bss_ies const [noderef] <asn:4> *ies
--
>> net/wireless/nl80211.c:7996:28: sparse: sparse: too many arguments for function cfg80211_scan

vim +744 net/wireless/scan.c

   720	
   721	static int cfg80211_scan_6ghz(struct cfg80211_registered_device *rdev)
   722	{
   723		u8 i;
   724		struct cfg80211_colocated_ap *ap;
   725		int n_channels, count = 0, err;
   726		struct cfg80211_scan_request *request, *rdev_req = rdev->scan_req;
   727		LIST_HEAD(coloc_ap_list);
   728		bool need_scan_psc;
   729	
   730		rdev_req->scan_6ghz = true;
   731	
   732		if (!rdev->wiphy.bands[NL80211_BAND_6GHZ])
   733			return -EOPNOTSUPP;
   734	
   735		n_channels = rdev->wiphy.bands[NL80211_BAND_6GHZ]->n_channels;
   736	
   737		if (rdev_req->flags & NL80211_SCAN_FLAG_COLOCATED_6GHZ) {
   738			struct cfg80211_internal_bss *intbss;
   739	
   740			spin_lock_bh(&rdev->bss_lock);
   741			list_for_each_entry(intbss, &rdev->bss_list, list) {
   742				struct cfg80211_bss *res = &intbss->pub;
   743	
 > 744				count += cfg80211_parse_colocated_ap(res->ies,
   745								     &coloc_ap_list);
   746			}
   747			spin_unlock_bh(&rdev->bss_lock);
   748		}
   749	
   750		request = kzalloc(struct_size(request, channels, n_channels) +
   751				  sizeof(*request->scan_6ghz_params) * count,
   752				  GFP_KERNEL);
   753		if (!request) {
   754			cfg80211_free_coloc_ap_list(&coloc_ap_list);
   755			return -ENOMEM;
   756		}
   757	
   758		*request = *rdev_req;
   759		request->n_channels = 0;
   760		request->scan_6ghz_params =
   761			(void *)&request->channels[n_channels];
   762	
   763		/*
   764		 * PSC channels should not be scanned if all the reported co-located APs
   765		 * are indicating that all APs in the same ESS are co-located
   766		 */
   767		if (count) {
   768			need_scan_psc = false;
   769	
   770			list_for_each_entry(ap, &coloc_ap_list, list) {
   771				if (!ap->colocated_ess) {
   772					need_scan_psc = true;
   773					break;
   774				}
   775			}
   776		} else {
   777			need_scan_psc = true;
   778		}
   779	
   780		/*
   781		 * add to the scan request the channels that need to be scanned
   782		 * regardless of the collocated APs (PSC channels or all channels
   783		 * in case that NL80211_SCAN_FLAG_COLOCATED_6GHZ is not set)
   784		 */
   785		for (i = 0; i < rdev_req->n_channels; i++) {
   786			if (rdev_req->channels[i]->band == NL80211_BAND_6GHZ &&
   787			    ((need_scan_psc &&
   788			      cfg80211_channel_is_psc(rdev_req->channels[i])) ||
   789			     !(rdev_req->flags & NL80211_SCAN_FLAG_COLOCATED_6GHZ))) {
   790				cfg80211_scan_req_add_chan(request,
   791							   rdev_req->channels[i],
   792							   false);
   793			}
   794		}
   795	
   796		if (!(rdev_req->flags & NL80211_SCAN_FLAG_COLOCATED_6GHZ))
   797			goto skip;
   798	
   799		list_for_each_entry(ap, &coloc_ap_list, list) {
   800			bool found = false;
   801			struct cfg80211_scan_6ghz_params *scan_6ghz_params =
   802				&request->scan_6ghz_params[request->n_6ghz_params];
   803			struct ieee80211_channel *chan =
   804				ieee80211_get_channel(&rdev->wiphy, ap->center_freq);
   805	
   806			if (!chan || chan->flags & IEEE80211_CHAN_DISABLED)
   807				continue;
   808	
   809			for (i = 0; i < rdev_req->n_channels; i++) {
   810				if (rdev_req->channels[i] == chan)
   811					found = true;
   812			}
   813	
   814			if (!found)
   815				continue;
   816	
   817			if (request->n_ssids > 0 &&
   818			    !cfg80211_find_ssid_match(ap, request))
   819				continue;
   820	
   821			cfg80211_scan_req_add_chan(request, chan, true);
   822			memcpy(scan_6ghz_params->bssid, ap->bssid, ETH_ALEN);
   823			scan_6ghz_params->short_ssid = ap->short_ssid;
   824			scan_6ghz_params->short_ssid_valid = ap->short_ssid_valid;
   825			scan_6ghz_params->unsolicited_probe = ap->unsolicited_probe;
   826			request->n_6ghz_params++;
   827		}
   828	
   829	skip:
   830		cfg80211_free_coloc_ap_list(&coloc_ap_list);
   831	
   832		if (request->n_channels) {
   833			struct cfg80211_scan_request *old = rdev->int_scan_req;
   834	
   835			rdev->int_scan_req = request;
   836	
   837			/*
   838			 * If this scan follows a previous scan, save the scan start
   839			 * info from the first part of the scan
   840			 */
   841			if (old)
   842				rdev->int_scan_req->info = old->info;
   843	
   844			err = rdev_scan(rdev, request);
   845			if (err) {
   846				rdev->int_scan_req = old;
   847				kfree(request);
   848			} else {
   849				kfree(old);
   850			}
   851	
   852			return err;
   853		}
   854	
   855		kfree(request);
   856		return -EINVAL;
   857	}
   858	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 39899 bytes --]

  reply	other threads:[~2020-05-29 19:56 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-28 14:49 [PATCH 01/24] nl80211: really allow client-only BIGTK support Johannes Berg
2020-05-28 14:49 ` [PATCH 02/24] cfg80211: add a helper to identify 6 GHz PSCs Johannes Berg
2020-05-28 14:49 ` [PATCH 03/24] ieee80211: definitions for reduced neighbor reports Johannes Berg
2020-05-28 14:50 ` [PATCH 04/24] ieee80211: add code to obtain and parse 6 GHz operation field Johannes Berg
2020-05-28 14:50 ` [PATCH 05/24] ieee80211: add HE ext EIDs and 6 GHz capability defines Johannes Berg
2020-05-28 14:50 ` [PATCH 06/24] cfg80211: handle 6 GHz capability of new station Johannes Berg
2020-05-28 14:50 ` [PATCH 07/24] mac80211: add HE 6 GHz Band Capabilities into parse extension Johannes Berg
2020-05-28 14:50 ` [PATCH 08/24] cfg80211: add and expose HE 6 GHz band capabilities Johannes Berg
2020-05-28 14:50 ` [PATCH 09/24] mac80211: add HE 6 GHz Band Capability element Johannes Berg
2020-05-28 14:50 ` [PATCH 10/24] mac80211: build HE operation with 6 GHz oper information Johannes Berg
2020-05-28 14:50 ` [PATCH 11/24] mac80211: do not allow HT/VHT IEs in 6 GHz mesh mode Johannes Berg
2020-05-28 14:50 ` [PATCH 12/24] mac80211: avoid using ext NSS high BW if not supported Johannes Berg
2020-05-28 17:50   ` Johannes Berg
2020-05-28 17:53     ` Johannes Berg
2020-05-28 14:50 ` [PATCH 13/24] mac80211: determine chandef from HE 6 GHz operation Johannes Berg
2020-05-28 14:50 ` [PATCH 14/24] mac80211: check the correct bit for EMA AP Johannes Berg
2020-05-28 14:50 ` [PATCH 15/24] mac80211: use HE 6 GHz band capability and pass it to the driver Johannes Berg
2020-05-28 14:50 ` [PATCH 16/24] mac80211: Add HE 6GHz capabilities element to probe request Johannes Berg
2020-05-28 14:50 ` [PATCH 17/24] cfg80211: treat 6 GHz channels as valid regardless of capability Johannes Berg
2020-05-28 14:50 ` [PATCH 18/24] cfg80211: reject HT/VHT capabilities on 6 GHz band Johannes Berg
2020-05-28 14:50 ` [PATCH 19/24] cfg80211: require HE capabilities for " Johannes Berg
2020-05-28 14:50 ` [PATCH 20/24] cfg80211: Update 6GHz starting frequency Johannes Berg
2020-05-28 14:50 ` [PATCH 21/24] mac80211: accept aggregation sessions on 6 GHz Johannes Berg
2020-05-28 14:50 ` [PATCH 22/24] mac80211: Consider 6 GHz band when handling power constraint Johannes Berg
2020-05-28 14:50 ` [PATCH 23/24] mac80211: set short_slot for 6 GHz band Johannes Berg
2020-05-28 14:50 ` [PATCH 24/24] nl80211/cfg80211: support 6 GHz scanning Johannes Berg
2020-05-29 19:56   ` kbuild test robot [this message]
2020-05-28 16:39 ` [PATCH 01/24] nl80211: really allow client-only BIGTK support Johannes Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202005300324.b7YmxNcE%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.