Search Linux Wireless

Re: [PATCH 08/11] iwlwifi: mvm: Add debugfs support for FTM initiator fields

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

 



Hi Adiel,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on wireless-drivers-next/master]
[also build test ERROR on v4.15-rc1 next-20171128]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Luca-Coelho/iwlwifi-updates-intended-for-v4-16-2017-11-25/20171128-205312
base:   https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git master
config: x86_64-randconfig-x011-201748 (attached as .config)
compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

   drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c: In function 'iwl_dbgfs_tof_range_request_write':
>> drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c:957:27: error: 'struct iwl_tof_range_req_cmd' has no member named 'common_calib'
       mvm->tof_data.range_req.common_calib =
                              ^
>> drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c:966:27: error: 'struct iwl_tof_range_req_cmd' has no member named 'specific_calib'
       mvm->tof_data.range_req.specific_calib =
                              ^
   In file included from include/linux/byteorder/little_endian.h:5:0,
                    from arch/x86/include/uapi/asm/byteorder.h:5,
                    from include/asm-generic/bitops/le.h:6,
                    from arch/x86/include/asm/bitops.h:518,
                    from include/linux/bitops.h:38,
                    from include/linux/kernel.h:11,
                    from include/linux/list.h:9,
                    from drivers/net/wireless/intel/iwlwifi/mvm/mvm.h:71,
                    from drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c:67:
   drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c: In function 'iwl_dbgfs_tof_range_request_read':
   drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c:1055:20: error: 'struct iwl_tof_range_req_cmd' has no member named 'common_calib'
        le16_to_cpu(cmd->common_calib));
                       ^
   include/uapi/linux/byteorder/little_endian.h:36:51: note: in definition of macro '__le16_to_cpu'
    #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
                                                      ^
>> drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c:1055:5: note: in expansion of macro 'le16_to_cpu'
        le16_to_cpu(cmd->common_calib));
        ^~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c:1057:20: error: 'struct iwl_tof_range_req_cmd' has no member named 'specific_calib'
        le16_to_cpu(cmd->specific_calib));
                       ^
   include/uapi/linux/byteorder/little_endian.h:36:51: note: in definition of macro '__le16_to_cpu'
    #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
                                                      ^
   drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c:1057:5: note: in expansion of macro 'le16_to_cpu'
        le16_to_cpu(cmd->specific_calib));
        ^~~~~~~~~~~

vim +957 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c

   860	
   861	static ssize_t iwl_dbgfs_tof_range_request_write(struct ieee80211_vif *vif,
   862							 char *buf, size_t count,
   863							 loff_t *ppos)
   864	{
   865		struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
   866		struct iwl_mvm *mvm = mvmvif->mvm;
   867		u32 value;
   868		int ret = 0;
   869		char *data;
   870	
   871		mutex_lock(&mvm->mutex);
   872	
   873		data = iwl_dbgfs_is_match("request_id=", buf);
   874		if (data) {
   875			ret = kstrtou32(data, 10, &value);
   876			if (ret == 0)
   877				mvm->tof_data.range_req.request_id = value;
   878			goto out;
   879		}
   880	
   881		data = iwl_dbgfs_is_match("initiator=", buf);
   882		if (data) {
   883			ret = kstrtou32(data, 10, &value);
   884			if (ret == 0)
   885				mvm->tof_data.range_req.initiator = value;
   886			goto out;
   887		}
   888	
   889		data = iwl_dbgfs_is_match("one_sided_los_disable=", buf);
   890		if (data) {
   891			ret = kstrtou32(data, 10, &value);
   892			if (ret == 0)
   893				mvm->tof_data.range_req.one_sided_los_disable = value;
   894			goto out;
   895		}
   896	
   897		data = iwl_dbgfs_is_match("req_timeout=", buf);
   898		if (data) {
   899			ret = kstrtou32(data, 10, &value);
   900			if (ret == 0)
   901				mvm->tof_data.range_req.req_timeout = value;
   902			goto out;
   903		}
   904	
   905		data = iwl_dbgfs_is_match("report_policy=", buf);
   906		if (data) {
   907			ret = kstrtou32(data, 10, &value);
   908			if (ret == 0)
   909				mvm->tof_data.range_req.report_policy = value;
   910			goto out;
   911		}
   912	
   913		data = iwl_dbgfs_is_match("macaddr_random=", buf);
   914		if (data) {
   915			ret = kstrtou32(data, 10, &value);
   916			if (ret == 0)
   917				mvm->tof_data.range_req.macaddr_random = value;
   918			goto out;
   919		}
   920	
   921		data = iwl_dbgfs_is_match("num_of_ap=", buf);
   922		if (data) {
   923			ret = kstrtou32(data, 10, &value);
   924			if (ret == 0)
   925				mvm->tof_data.range_req.num_of_ap = value;
   926			goto out;
   927		}
   928	
   929		data = iwl_dbgfs_is_match("macaddr_template=", buf);
   930		if (data) {
   931			u8 mac[ETH_ALEN];
   932	
   933			if (!mac_pton(data, mac)) {
   934				ret = -EINVAL;
   935				goto out;
   936			}
   937			memcpy(mvm->tof_data.range_req.macaddr_template, mac, ETH_ALEN);
   938			goto out;
   939		}
   940	
   941		data = iwl_dbgfs_is_match("macaddr_mask=", buf);
   942		if (data) {
   943			u8 mac[ETH_ALEN];
   944	
   945			if (!mac_pton(data, mac)) {
   946				ret = -EINVAL;
   947				goto out;
   948			}
   949			memcpy(mvm->tof_data.range_req.macaddr_mask, mac, ETH_ALEN);
   950			goto out;
   951		}
   952	
   953		data = iwl_dbgfs_is_match("common_calib=", buf);
   954		if (data) {
   955			ret = kstrtou32(data, 10, &value);
   956			if (ret == 0)
 > 957				mvm->tof_data.range_req.common_calib =
   958					cpu_to_le16(value);
   959			goto out;
   960		}
   961	
   962		data = iwl_dbgfs_is_match("specific_calib=", buf);
   963		if (data) {
   964			ret = kstrtou32(data, 10, &value);
   965			if (ret == 0)
 > 966				mvm->tof_data.range_req.specific_calib =
   967					cpu_to_le16(value);
   968			goto out;
   969		}
   970	
   971		data = iwl_dbgfs_is_match("ap=", buf);
   972		if (data) {
   973			struct iwl_tof_range_req_ap_entry ap = {};
   974			int size = sizeof(struct iwl_tof_range_req_ap_entry);
   975			u16 burst_period;
   976			u8 *mac = ap.bssid;
   977			unsigned int i;
   978	
   979			if (sscanf(data, "%u %hhd %hhd %hhd"
   980				   "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx"
   981				   "%hhd %hhd %hd"
   982				   "%hhd %hhd %d"
   983				   "%hhx %hhd %hhd %hhd",
   984				   &i, &ap.channel_num, &ap.bandwidth,
   985				   &ap.ctrl_ch_position,
   986				   mac, mac + 1, mac + 2, mac + 3, mac + 4, mac + 5,
   987				   &ap.measure_type, &ap.num_of_bursts,
   988				   &burst_period,
   989				   &ap.samples_per_burst, &ap.retries_per_sample,
   990				   &ap.tsf_delta, &ap.location_req, &ap.asap_mode,
   991				   &ap.enable_dyn_ack, &ap.rssi) != 20) {
   992				ret = -EINVAL;
   993				goto out;
   994			}
   995			if (i >= IWL_MVM_TOF_MAX_APS) {
   996				IWL_ERR(mvm, "Invalid AP index %d\n", i);
   997				ret = -EINVAL;
   998				goto out;
   999			}
  1000	
  1001			ap.burst_period = cpu_to_le16(burst_period);
  1002	
  1003			memcpy(&mvm->tof_data.range_req.ap[i], &ap, size);
  1004			goto out;
  1005		}
  1006	
  1007		data = iwl_dbgfs_is_match("send_range_request=", buf);
  1008		if (data) {
  1009			ret = kstrtou32(data, 10, &value);
  1010			if (ret == 0 && value)
  1011				ret = iwl_mvm_tof_range_request_cmd(mvm, vif);
  1012			goto out;
  1013		}
  1014	
  1015		ret = -EINVAL;
  1016	out:
  1017		mutex_unlock(&mvm->mutex);
  1018		return ret ?: count;
  1019	}
  1020	
  1021	static ssize_t iwl_dbgfs_tof_range_request_read(struct file *file,
  1022							char __user *user_buf,
  1023							size_t count, loff_t *ppos)
  1024	{
  1025		struct ieee80211_vif *vif = file->private_data;
  1026		struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
  1027		struct iwl_mvm *mvm = mvmvif->mvm;
  1028		char buf[512];
  1029		int pos = 0;
  1030		const size_t bufsz = sizeof(buf);
  1031		struct iwl_tof_range_req_cmd *cmd;
  1032		int i;
  1033	
  1034		cmd = &mvm->tof_data.range_req;
  1035	
  1036		mutex_lock(&mvm->mutex);
  1037	
  1038		pos += scnprintf(buf + pos, bufsz - pos, "request_id= %d\n",
  1039				 cmd->request_id);
  1040		pos += scnprintf(buf + pos, bufsz - pos, "initiator= %d\n",
  1041				 cmd->initiator);
  1042		pos += scnprintf(buf + pos, bufsz - pos, "one_sided_los_disable = %d\n",
  1043				 cmd->one_sided_los_disable);
  1044		pos += scnprintf(buf + pos, bufsz - pos, "req_timeout= %d\n",
  1045				 cmd->req_timeout);
  1046		pos += scnprintf(buf + pos, bufsz - pos, "report_policy= %d\n",
  1047				 cmd->report_policy);
  1048		pos += scnprintf(buf + pos, bufsz - pos, "macaddr_random= %d\n",
  1049				 cmd->macaddr_random);
  1050		pos += scnprintf(buf + pos, bufsz - pos, "macaddr_template= %pM\n",
  1051				 cmd->macaddr_template);
  1052		pos += scnprintf(buf + pos, bufsz - pos, "macaddr_mask= %pM\n",
  1053				 cmd->macaddr_mask);
  1054		pos += scnprintf(buf + pos, bufsz - pos, "common_calib= %d\n",
> 1055				 le16_to_cpu(cmd->common_calib));
  1056		pos += scnprintf(buf + pos, bufsz - pos, "specific_calib= %d\n",
  1057				 le16_to_cpu(cmd->specific_calib));
  1058		pos += scnprintf(buf + pos, bufsz - pos, "num_of_ap= %d\n",
  1059				 cmd->num_of_ap);
  1060		for (i = 0; i < cmd->num_of_ap; i++) {
  1061			struct iwl_tof_range_req_ap_entry *ap = &cmd->ap[i];
  1062	
  1063			pos += scnprintf(buf + pos, bufsz - pos,
  1064					"ap %.2d: channel_num=%hhd bw=%hhd"
  1065					" control=%hhd bssid=%pM type=%hhd"
  1066					" num_of_bursts=%hhd burst_period=%hd ftm=%hhd"
  1067					" retries=%hhd tsf_delta=%d"
  1068					" tsf_delta_direction=%hhd location_req=0x%hhx "
  1069					" asap=%hhd enable=%hhd rssi=%hhd\n",
  1070					i, ap->channel_num, ap->bandwidth,
  1071					ap->ctrl_ch_position, ap->bssid,
  1072					ap->measure_type, ap->num_of_bursts,
  1073					ap->burst_period, ap->samples_per_burst,
  1074					ap->retries_per_sample, ap->tsf_delta,
  1075					ap->tsf_delta_direction,
  1076					ap->location_req, ap->asap_mode,
  1077					ap->enable_dyn_ack, ap->rssi);
  1078		}
  1079	
  1080		mutex_unlock(&mvm->mutex);
  1081	
  1082		return simple_read_from_buffer(user_buf, count, ppos, buf, pos);
  1083	}
  1084	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux