[PATCH] ath10k: Fix device boot error

kernel test robot lkp at intel.com
Mon Sep 13 20:20:22 PDT 2021


Hi Jouni,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on ath6kl/ath-next]
[also build test ERROR on wireless-drivers-next/master wireless-drivers/master v5.15-rc1 next-20210913]
[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/Jouni-Malinen/ath10k-Fix-device-boot-error/20210914-015303
base:   https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git ath-next
config: x86_64-randconfig-a013-20210913 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 261cbe98c38f8c1ee1a482fe76511110e790f58a)
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/06d0afd6a0864795a6750173f7959430da2def78
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Jouni-Malinen/ath10k-Fix-device-boot-error/20210914-015303
        git checkout 06d0afd6a0864795a6750173f7959430da2def78
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

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

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

>> drivers/net/wireless/ath/ath10k/core.c:2693:11: error: implicit declaration of function 'ath10k_coredump_get_hw_mem_layout' [-Werror,-Wimplicit-function-declaration]
           hw_mem = ath10k_coredump_get_hw_mem_layout(ar);
                    ^
   drivers/net/wireless/ath/ath10k/core.c:2693:11: note: did you mean 'ath10k_coredump_get_mem_layout'?
   drivers/net/wireless/ath/ath10k/coredump.h:213:1: note: 'ath10k_coredump_get_mem_layout' declared here
   ath10k_coredump_get_mem_layout(struct ath10k *ar)
   ^
>> drivers/net/wireless/ath/ath10k/core.c:2693:9: warning: incompatible integer to pointer conversion assigning to 'const struct ath10k_hw_mem_layout *' from 'int' [-Wint-conversion]
           hw_mem = ath10k_coredump_get_hw_mem_layout(ar);
                  ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1 warning and 1 error generated.


vim +/ath10k_coredump_get_hw_mem_layout +2693 drivers/net/wireless/ath/ath10k/core.c

  2682	
  2683	static int ath10k_core_copy_target_iram(struct ath10k *ar)
  2684	{
  2685		const struct ath10k_hw_mem_layout *hw_mem;
  2686		const struct ath10k_mem_region *tmp, *mem_region = NULL;
  2687		dma_addr_t paddr;
  2688		void *vaddr = NULL;
  2689		u8 num_read_itr;
  2690		int i, ret;
  2691		u32 len, remaining_len;
  2692	
> 2693		hw_mem = ath10k_coredump_get_hw_mem_layout(ar);
  2694		if (!hw_mem)
  2695			return -ENOMEM;
  2696	
  2697		for (i = 0; i < hw_mem->region_table.size; i++) {
  2698			tmp = &hw_mem->region_table.regions[i];
  2699			if (tmp->type == ATH10K_MEM_REGION_TYPE_REG) {
  2700				mem_region = tmp;
  2701				break;
  2702			}
  2703		}
  2704	
  2705		if (!mem_region)
  2706			return -ENOMEM;
  2707	
  2708		for (i = 0; i < ar->wmi.num_mem_chunks; i++) {
  2709			if (ar->wmi.mem_chunks[i].req_id ==
  2710			    WMI_IRAM_RECOVERY_HOST_MEM_REQ_ID) {
  2711				vaddr = ar->wmi.mem_chunks[i].vaddr;
  2712				len = ar->wmi.mem_chunks[i].len;
  2713				break;
  2714			}
  2715		}
  2716	
  2717		if (!vaddr || !len) {
  2718			ath10k_warn(ar, "No allocated memory for IRAM back up");
  2719			return -ENOMEM;
  2720		}
  2721	
  2722		len = (len < mem_region->len) ? len : mem_region->len;
  2723		paddr = mem_region->start;
  2724		num_read_itr = len / TGT_IRAM_READ_PER_ITR;
  2725		remaining_len = len % TGT_IRAM_READ_PER_ITR;
  2726		for (i = 0; i < num_read_itr; i++) {
  2727			ret = ath10k_hif_diag_read(ar, paddr, vaddr,
  2728						   TGT_IRAM_READ_PER_ITR);
  2729			if (ret) {
  2730				ath10k_warn(ar, "failed to copy firmware IRAM contents: %d",
  2731					    ret);
  2732				return ret;
  2733			}
  2734	
  2735			paddr += TGT_IRAM_READ_PER_ITR;
  2736			vaddr += TGT_IRAM_READ_PER_ITR;
  2737		}
  2738	
  2739		if (remaining_len) {
  2740			ret = ath10k_hif_diag_read(ar, paddr, vaddr, remaining_len);
  2741			if (ret) {
  2742				ath10k_warn(ar, "failed to copy firmware IRAM contents: %d",
  2743					    ret);
  2744				return ret;
  2745			}
  2746		}
  2747	
  2748		ath10k_dbg(ar, ATH10K_DBG_BOOT, "target IRAM back up completed\n");
  2749	
  2750		return 0;
  2751	}
  2752	

---
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: 46640 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/ath10k/attachments/20210914/02e37687/attachment-0001.gz>


More information about the ath10k mailing list