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 --]
next prev parent 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.