[PATCH RFT] ath11k: pci: support platforms with one MSI vector

kernel test robot lkp at intel.com
Thu Nov 12 01:46:28 EST 2020


Hi Kalle,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.10-rc3 next-20201111]
[cannot apply to ath6kl/ath-next]
[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/0day-ci/linux/commits/Kalle-Valo/ath11k-pci-support-platforms-with-one-MSI-vector/20201112-030041
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git eccc876724927ff3b9ff91f36f7b6b159e948f0c
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.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/0day-ci/linux/commit/e2c4c01cee2e8ce50345b8f70f192921a4875e18
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Kalle-Valo/ath11k-pci-support-platforms-with-one-MSI-vector/20201112-030041
        git checkout e2c4c01cee2e8ce50345b8f70f192921a4875e18
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k 

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

All warnings (new ones prefixed by >>):

   In file included from include/linux/kernel.h:11,
                    from include/linux/list.h:9,
                    from include/linux/mutex.h:15,
                    from drivers/net/wireless/ath/ath11k/qmi.h:9,
                    from drivers/net/wireless/ath/ath11k/qmi.c:8:
   include/linux/scatterlist.h: In function 'sg_set_buf':
   arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
     169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
         |                                                 ^~
   include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
      78 | # define unlikely(x) __builtin_expect(!!(x), 0)
         |                                          ^
   include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
     143 |  BUG_ON(!virt_addr_valid(buf));
         |  ^~~~~~
   include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
     143 |  BUG_ON(!virt_addr_valid(buf));
         |          ^~~~~~~~~~~~~~~
   drivers/net/wireless/ath/ath11k/qmi.c: In function 'ath11k_qmi_respond_fw_mem_request':
>> drivers/net/wireless/ath/ath11k/qmi.c:1678:42: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 4 has type 'dma_addr_t' {aka 'unsigned int'} [-Wformat=]
    1678 |    ath11k_info(ab, "req mem_seg[%d] 0x%llx %u %u\n", i,
         |                                       ~~~^
         |                                          |
         |                                          long long unsigned int
         |                                       %x
    1679 |         ab->qmi.target_mem[i].paddr,
         |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~       
         |                              |
         |                              dma_addr_t {aka unsigned int}

vim +1678 drivers/net/wireless/ath/ath11k/qmi.c

  1648	
  1649	static int ath11k_qmi_respond_fw_mem_request(struct ath11k_base *ab)
  1650	{
  1651		struct qmi_wlanfw_respond_mem_req_msg_v01 *req;
  1652		struct qmi_wlanfw_respond_mem_resp_msg_v01 resp;
  1653		struct qmi_txn txn = {};
  1654		int ret = 0, i;
  1655	
  1656		req = kzalloc(sizeof(*req), GFP_KERNEL);
  1657		if (!req)
  1658			return -ENOMEM;
  1659	
  1660		memset(&resp, 0, sizeof(resp));
  1661	
  1662		/* For QCA6390 by default FW requests a block of ~4M contiguous
  1663		 * DMA memory, it's hard to allocate from OS. So host returns
  1664		 * failure to FW and FW will then request mulitple blocks of small
  1665		 * chunk size memory.
  1666		 */
  1667		if (!ab->bus_params.fixed_mem_region && ab->qmi.mem_seg_count <= 2) {
  1668			ath11k_dbg(ab, ATH11K_DBG_QMI, "qmi delays mem_request %d\n",
  1669				   ab->qmi.mem_seg_count);
  1670			memset(req, 0, sizeof(*req));
  1671		} else {
  1672			req->mem_seg_len = ab->qmi.mem_seg_count;
  1673	
  1674			for (i = 0; i < req->mem_seg_len ; i++) {
  1675				req->mem_seg[i].addr = ab->qmi.target_mem[i].paddr;
  1676				req->mem_seg[i].size = ab->qmi.target_mem[i].size;
  1677				req->mem_seg[i].type = ab->qmi.target_mem[i].type;
> 1678				ath11k_info(ab, "req mem_seg[%d] 0x%llx %u %u\n", i,
  1679					    ab->qmi.target_mem[i].paddr,
  1680					    ab->qmi.target_mem[i].size,
  1681					    ab->qmi.target_mem[i].type);
  1682			}
  1683		}
  1684	
  1685		ret = qmi_txn_init(&ab->qmi.handle, &txn,
  1686				   qmi_wlanfw_respond_mem_resp_msg_v01_ei, &resp);
  1687		if (ret < 0)
  1688			goto out;
  1689	
  1690		ret = qmi_send_request(&ab->qmi.handle, NULL, &txn,
  1691				       QMI_WLANFW_RESPOND_MEM_REQ_V01,
  1692				       QMI_WLANFW_RESPOND_MEM_REQ_MSG_V01_MAX_LEN,
  1693				       qmi_wlanfw_respond_mem_req_msg_v01_ei, req);
  1694		if (ret < 0) {
  1695			ath11k_warn(ab, "qmi failed to respond memory request, err = %d\n",
  1696				    ret);
  1697			goto out;
  1698		}
  1699	
  1700		ret = qmi_txn_wait(&txn, msecs_to_jiffies(ATH11K_QMI_WLANFW_TIMEOUT_MS));
  1701		if (ret < 0) {
  1702			ath11k_warn(ab, "qmi failed memory request, err = %d\n", ret);
  1703			goto out;
  1704		}
  1705	
  1706		if (resp.resp.result != QMI_RESULT_SUCCESS_V01) {
  1707			ath11k_warn(ab, "Respond mem req failed, result: %d, err: %d\n",
  1708				    resp.resp.result, resp.resp.error);
  1709			ret = -EINVAL;
  1710			goto out;
  1711		}
  1712	out:
  1713		kfree(req);
  1714		return ret;
  1715	}
  1716	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 58831 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/ath11k/attachments/20201112/87eade04/attachment-0001.gz>


More information about the ath11k mailing list