All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: equu@openmail.cc, lpieralisi@kernel.org, toke@toke.dk, kvalo@kernel.org
Cc: oe-kbuild-all@lists.linux.dev, linux-pci@vger.kernel.org,
	robh@kernel.org, linux-wireless@vger.kernel.org,
	ath10k@lists.infradead.org, equu@openmail.cc
Subject: Re: [PATCH v2 3/3] wifi: ath10k: only load compatible DT cal data
Date: Thu, 2 Feb 2023 15:26:44 +0800	[thread overview]
Message-ID: <202302021511.hIXEXftH-lkp@intel.com> (raw)
In-Reply-To: <20230202041823.2879262-4-equu@openmail.cc>

Hi,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on helgaas-pci/next]
[also build test WARNING on helgaas-pci/for-linus wireless-next/main wireless/main linus/master v6.2-rc6 next-20230202]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/equu-openmail-cc/wifi-ath9k-stop-loading-incompatible-DT-cal-data/20230202-131914
base:   https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next
patch link:    https://lore.kernel.org/r/20230202041823.2879262-4-equu%40openmail.cc
patch subject: [PATCH v2 3/3] wifi: ath10k: only load compatible DT cal data
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20230202/202302021511.hIXEXftH-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 12.1.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/d3f328c8809b6349090ad2a2ee78250d657edb58
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review equu-openmail-cc/wifi-ath9k-stop-loading-incompatible-DT-cal-data/20230202-131914
        git checkout d3f328c8809b6349090ad2a2ee78250d657edb58
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k SHELL=/bin/bash drivers/net/

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

All warnings (new ones prefixed by >>):

   drivers/net/wireless/ath/ath10k/core.c: In function 'ath10k_download_cal_nvmem':
   drivers/net/wireless/ath/ath10k/core.c:1985:15: error: implicit declaration of function 'of_pci_node_match_device' [-Werror=implicit-function-declaration]
    1985 |              !of_pci_node_match_device(ar->dev->of_node,
         |               ^~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/wireless/ath/ath10k/core.c:1987:24: warning: returning 'void *' from a function with return type 'int' makes integer from pointer without a cast [-Wint-conversion]
    1987 |                 return ERR_PTR(-ENOENT);
         |                        ^~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +1987 drivers/net/wireless/ath/ath10k/core.c

  1954	
  1955	static int ath10k_download_cal_nvmem(struct ath10k *ar, const char *cell_name)
  1956	{
  1957		struct nvmem_cell *cell;
  1958		void *buf;
  1959		size_t len;
  1960		int ret;
  1961	
  1962		/* devm_nvmem_cell_get() will get a cell first from the OF
  1963		 * DT node representing the given device with nvmem-cell-name
  1964		 * "calibration", and from the global lookup table as a fallback,
  1965		 * and an ath9k device could be either a pci one or a platform one.
  1966		 *
  1967		 * If the OF DT node is not compatible with the real device, the
  1968		 * calibration data got from the node should not be applied.
  1969		 *
  1970		 * dev_is_pci(ar->dev) && ( no OF node || caldata not from node
  1971		 * || not compatible ) -> do not use caldata .
  1972		 *
  1973		 * !dev_is_pci(ar->dev) -> always use caldata .
  1974		 *
  1975		 * The judgement for compatibility differs with ath9k for many
  1976		 * DT using "qcom,ath10k" as compatibility string.
  1977		 */
  1978		if (dev_is_pci(ar->dev) &&
  1979		    (!ar->dev->of_node ||
  1980		     (of_property_match_string(ar->dev->of_node,
  1981					       "nvmem-cell-names",
  1982					       cell_name) < 0) ||
  1983		     !of_device_is_compatible(ar->dev->of_node,
  1984					      "qcom,ath10k") ||
  1985		     !of_pci_node_match_device(ar->dev->of_node,
  1986					       &ath10k_pci_driver)))
> 1987			return ERR_PTR(-ENOENT);
  1988	
  1989		cell = devm_nvmem_cell_get(ar->dev, cell_name);
  1990		if (IS_ERR(cell)) {
  1991			ret = PTR_ERR(cell);
  1992			return ret;
  1993		}
  1994	
  1995		buf = nvmem_cell_read(cell, &len);
  1996		if (IS_ERR(buf))
  1997			return PTR_ERR(buf);
  1998	
  1999		if (ar->hw_params.cal_data_len != len) {
  2000			kfree(buf);
  2001			ath10k_warn(ar, "invalid calibration data length in nvmem-cell '%s': %zu != %u\n",
  2002				    cell_name, len, ar->hw_params.cal_data_len);
  2003			return -EMSGSIZE;
  2004		}
  2005	
  2006		ret = ath10k_download_board_data(ar, buf, len);
  2007		kfree(buf);
  2008		if (ret)
  2009			ath10k_warn(ar, "failed to download calibration data from nvmem-cell '%s': %d\n",
  2010				    cell_name, ret);
  2011	
  2012		return ret;
  2013	}
  2014	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: equu@openmail.cc, lpieralisi@kernel.org, toke@toke.dk, kvalo@kernel.org
Cc: oe-kbuild-all@lists.linux.dev, linux-pci@vger.kernel.org,
	robh@kernel.org, linux-wireless@vger.kernel.org,
	ath10k@lists.infradead.org, equu@openmail.cc
Subject: Re: [PATCH v2 3/3] wifi: ath10k: only load compatible DT cal data
Date: Thu, 2 Feb 2023 15:26:44 +0800	[thread overview]
Message-ID: <202302021511.hIXEXftH-lkp@intel.com> (raw)
In-Reply-To: <20230202041823.2879262-4-equu@openmail.cc>

Hi,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on helgaas-pci/next]
[also build test WARNING on helgaas-pci/for-linus wireless-next/main wireless/main linus/master v6.2-rc6 next-20230202]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/equu-openmail-cc/wifi-ath9k-stop-loading-incompatible-DT-cal-data/20230202-131914
base:   https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next
patch link:    https://lore.kernel.org/r/20230202041823.2879262-4-equu%40openmail.cc
patch subject: [PATCH v2 3/3] wifi: ath10k: only load compatible DT cal data
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20230202/202302021511.hIXEXftH-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 12.1.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/d3f328c8809b6349090ad2a2ee78250d657edb58
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review equu-openmail-cc/wifi-ath9k-stop-loading-incompatible-DT-cal-data/20230202-131914
        git checkout d3f328c8809b6349090ad2a2ee78250d657edb58
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k SHELL=/bin/bash drivers/net/

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

All warnings (new ones prefixed by >>):

   drivers/net/wireless/ath/ath10k/core.c: In function 'ath10k_download_cal_nvmem':
   drivers/net/wireless/ath/ath10k/core.c:1985:15: error: implicit declaration of function 'of_pci_node_match_device' [-Werror=implicit-function-declaration]
    1985 |              !of_pci_node_match_device(ar->dev->of_node,
         |               ^~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/wireless/ath/ath10k/core.c:1987:24: warning: returning 'void *' from a function with return type 'int' makes integer from pointer without a cast [-Wint-conversion]
    1987 |                 return ERR_PTR(-ENOENT);
         |                        ^~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +1987 drivers/net/wireless/ath/ath10k/core.c

  1954	
  1955	static int ath10k_download_cal_nvmem(struct ath10k *ar, const char *cell_name)
  1956	{
  1957		struct nvmem_cell *cell;
  1958		void *buf;
  1959		size_t len;
  1960		int ret;
  1961	
  1962		/* devm_nvmem_cell_get() will get a cell first from the OF
  1963		 * DT node representing the given device with nvmem-cell-name
  1964		 * "calibration", and from the global lookup table as a fallback,
  1965		 * and an ath9k device could be either a pci one or a platform one.
  1966		 *
  1967		 * If the OF DT node is not compatible with the real device, the
  1968		 * calibration data got from the node should not be applied.
  1969		 *
  1970		 * dev_is_pci(ar->dev) && ( no OF node || caldata not from node
  1971		 * || not compatible ) -> do not use caldata .
  1972		 *
  1973		 * !dev_is_pci(ar->dev) -> always use caldata .
  1974		 *
  1975		 * The judgement for compatibility differs with ath9k for many
  1976		 * DT using "qcom,ath10k" as compatibility string.
  1977		 */
  1978		if (dev_is_pci(ar->dev) &&
  1979		    (!ar->dev->of_node ||
  1980		     (of_property_match_string(ar->dev->of_node,
  1981					       "nvmem-cell-names",
  1982					       cell_name) < 0) ||
  1983		     !of_device_is_compatible(ar->dev->of_node,
  1984					      "qcom,ath10k") ||
  1985		     !of_pci_node_match_device(ar->dev->of_node,
  1986					       &ath10k_pci_driver)))
> 1987			return ERR_PTR(-ENOENT);
  1988	
  1989		cell = devm_nvmem_cell_get(ar->dev, cell_name);
  1990		if (IS_ERR(cell)) {
  1991			ret = PTR_ERR(cell);
  1992			return ret;
  1993		}
  1994	
  1995		buf = nvmem_cell_read(cell, &len);
  1996		if (IS_ERR(buf))
  1997			return PTR_ERR(buf);
  1998	
  1999		if (ar->hw_params.cal_data_len != len) {
  2000			kfree(buf);
  2001			ath10k_warn(ar, "invalid calibration data length in nvmem-cell '%s': %zu != %u\n",
  2002				    cell_name, len, ar->hw_params.cal_data_len);
  2003			return -EMSGSIZE;
  2004		}
  2005	
  2006		ret = ath10k_download_board_data(ar, buf, len);
  2007		kfree(buf);
  2008		if (ret)
  2009			ath10k_warn(ar, "failed to download calibration data from nvmem-cell '%s': %d\n",
  2010				    cell_name, ret);
  2011	
  2012		return ret;
  2013	}
  2014	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

  reply	other threads:[~2023-02-02  7:27 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-07 15:14 [PATCH] pci: Add functions to match pci dev or driver against OF DT node Mad Horse
2023-01-10 15:24 ` Bjorn Helgaas
2023-01-17  9:27 ` [PATCH 1/3] PCI: of: Match pci devices or drivers against OF DT nodes Edward Chow
2023-01-17  9:27   ` Edward Chow
2023-01-17  9:27 ` [PATCH 2/3] wifi: ath9k: stop loading incompatible DT cal data Edward Chow
2023-01-17  9:27   ` Edward Chow
2023-01-17 19:46   ` Bjorn Helgaas
2023-01-17 19:46     ` Bjorn Helgaas
2023-02-01  3:02     ` Mad Horse
2023-02-01  3:02       ` Mad Horse
2023-02-01 21:43       ` Bjorn Helgaas
2023-02-01 21:43         ` Bjorn Helgaas
2023-02-02  4:18       ` [PATCH v2 0/3] PCI: of: Load extra data only from compatible DT nodes equu
2023-02-02  4:18         ` equu
2023-02-02  4:18         ` [PATCH v2 1/3] PCI: of: Match pci devices or drivers against OF " equu
2023-02-02  4:18           ` equu
2023-02-02  4:18         ` [PATCH v2 2/3] wifi: ath9k: stop loading incompatible DT cal data equu
2023-02-02  4:18           ` equu
2023-02-02  4:18         ` [PATCH v2 3/3] wifi: ath10k: only load compatible " equu
2023-02-02  4:18           ` equu
2023-02-02  7:26           ` kernel test robot [this message]
2023-02-02  7:26             ` kernel test robot
2023-02-02  7:55       ` [PATCH v3 0/3] PCI: of: Load extra data only from compatible DT nodes equu
2023-02-02  7:55         ` equu
2023-02-02  7:55         ` [PATCH v3 1/3] PCI: of: Match pci devices or drivers against OF " equu
2023-02-02  7:55           ` equu
2023-02-03  8:23           ` kernel test robot
2023-02-03  8:23             ` kernel test robot
2023-02-02  7:55         ` [PATCH v3 2/3] wifi: ath9k: stop loading incompatible DT cal data equu
2023-02-02  7:55           ` equu
2023-02-03  9:56           ` kernel test robot
2023-02-03  9:56             ` kernel test robot
2023-02-02  7:55         ` [PATCH v3 3/3] wifi: ath10k: only load compatible " equu
2023-02-02  7:55           ` equu
2023-02-03 11:38           ` kernel test robot
2023-02-03 11:38             ` kernel test robot
2023-02-03  8:37       ` [PATCH v4 0/3] PCI: of: Load extra data only from compatible DT nodes equu
2023-02-03  8:37         ` equu
2023-02-03  8:37         ` [PATCH v4 1/3] PCI: of: Match pci devices or drivers against OF " equu
2023-02-03  8:37           ` equu
2023-02-03  8:37         ` [PATCH v4 2/3] wifi: ath9k: stop loading incompatible DT cal data equu
2023-02-03  8:37           ` equu
2023-02-03  8:37         ` [PATCH v4 3/3] wifi: ath10k: only load compatible " equu
2023-02-03  8:37           ` equu
2023-02-03 10:48       ` [PATCH v5 0/3] PCI: of: Load extra data only from compatible DT nodes equu
2023-02-03 10:48         ` equu
2023-02-03 10:48         ` [PATCH v5 1/3] PCI: of: Match pci devices or drivers against OF " equu
2023-02-03 10:48           ` equu
2023-02-03 10:48         ` [PATCH v5 2/3] wifi: ath9k: stop loading incompatible DT cal data equu
2023-02-03 10:48           ` equu
2023-02-03 10:48         ` [PATCH v5 3/3] wifi: ath10k: only load compatible " equu
2023-02-03 10:48           ` equu
2023-02-03 15:57           ` Rob Herring
2023-02-03 15:57             ` Rob Herring
2023-02-03 17:15             ` equu
2023-02-03 17:15               ` equu
2023-02-03 18:45               ` Rob Herring
2023-02-03 18:45                 ` Rob Herring
2023-02-04  4:26                 ` equu
2023-02-04  4:26                   ` equu
2023-02-09  4:50       ` [PATCH v6 0/3] PCI: of: Load extra data only from compatible DT nodes equu
2023-02-09  4:50         ` equu
2023-02-09  4:50       ` [PATCH v6 1/3] PCI: of: Match pci devices or drivers against OF " equu
2023-02-09  4:50         ` equu
2023-02-09  4:50       ` [PATCH v6 2/3] wifi: ath9k: stop loading incompatible DT cal data equu
2023-02-09  4:50         ` equu
2023-02-09  4:50       ` [PATCH v6 3/3] wifi: ath10k: only load compatible " equu
2023-02-09  4:50         ` equu
2023-02-09 16:09         ` Rob Herring
2023-02-09 16:09           ` Rob Herring
2023-01-17  9:28 ` [PATCH " Edward Chow
2023-01-17  9:28   ` Edward Chow
2023-01-17 10:01 ` [PATCH 1/3] PCI: of: Match pci devices or drivers against OF DT nodes Mad Horse
2023-01-17 10:01   ` Mad Horse
2023-01-17 10:02 ` [PATCH 2/3] wifi: ath9k: stop loading incompatible DT cal data Mad Horse
2023-01-17 10:02   ` Mad Horse
2023-01-17 10:02 ` [PATCH 3/3] wifi: ath10k: only load compatible " Mad Horse
2023-01-17 10:02   ` Mad Horse
2023-01-17 10:29 ` [PATCH 1/3] PCI: of: Match pci devices or drivers against OF DT nodes Mad Horse
2023-01-17 10:29   ` Mad Horse
2023-01-21 10:00 ` [PATCH 2/3] wifi: ath9k: stop loading incompatible DT cal data persmule
2023-01-21 10:00   ` persmule
2023-01-21 10:06 ` [PATCH 3/3] wifi: ath10k: only load compatible " persmule
2023-01-21 10:06   ` persmule

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=202302021511.hIXEXftH-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=ath10k@lists.infradead.org \
    --cc=equu@openmail.cc \
    --cc=kvalo@kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=lpieralisi@kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=robh@kernel.org \
    --cc=toke@toke.dk \
    /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.