CC: kbuild-...@lists.01.org
BCC: l...@intel.com
CC: Linux Memory Management List <linux...@kvack.org>
TO: Karthikeyan Periyasamy <quic_periy...@quicinc.com>
CC: Kalle Valo <quic_kv...@quicinc.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   e7d6987e09a328d4a949701db40ef63fbb970670
commit: 7b0c70d92a435913f6e11d6a248b935697e8a3eb [460/5845] ath11k: Add peer 
rhash table support
:::::: branch date: 6 hours ago
:::::: commit date: 4 weeks ago
config: x86_64-randconfig-m001-20220418 
(https://download.01.org/0day-ci/archive/20220422/202204221911.yi4xdtgu-...@intel.com/config)
compiler: gcc-11 (Debian 11.2.0-19) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>
Reported-by: Dan Carpenter <dan.carpen...@oracle.com>

smatch warnings:
drivers/net/wireless/ath/ath11k/peer.c:520 ath11k_peer_rhash_id_tbl_init() 
warn: missing error code 'ret'
drivers/net/wireless/ath/ath11k/peer.c:575 ath11k_peer_rhash_addr_tbl_init() 
warn: missing error code 'ret'

vim +/ret +520 drivers/net/wireless/ath/ath11k/peer.c

7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  479  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  480  static int 
ath11k_peer_rhash_id_tbl_init(struct ath11k_base *ab)
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  481  {
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  482   struct 
rhashtable_params *param;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  483   struct rhashtable 
*rhash_id_tbl;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  484   int ret;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  485   size_t size;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  486  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  487   
lockdep_assert_held(&ab->tbl_mtx_lock);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  488  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  489   if (ab->rhead_peer_id)
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  490           return 0;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  491  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  492   size = 
sizeof(*ab->rhead_peer_id);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  493   rhash_id_tbl = 
kzalloc(size, GFP_KERNEL);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  494   if (!rhash_id_tbl) {
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  495           ath11k_warn(ab, 
"failed to init rhash id table due to no mem (size %zu)\n",
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  496                       
size);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  497           return -ENOMEM;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  498   }
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  499  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  500   param = 
&ab->rhash_peer_id_param;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  501  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  502   param->key_offset = 
offsetof(struct ath11k_peer, peer_id);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  503   param->head_offset = 
offsetof(struct ath11k_peer, rhash_id);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  504   param->key_len = 
sizeof_field(struct ath11k_peer, peer_id);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  505   
param->automatic_shrinking = true;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  506   param->nelem_hint = 
ab->num_radios * TARGET_NUM_PEERS_PDEV(ab);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  507  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  508   ret = 
rhashtable_init(rhash_id_tbl, param);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  509   if (ret) {
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  510           ath11k_warn(ab, 
"failed to init peer id rhash table %d\n", ret);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  511           goto err_free;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  512   }
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  513  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  514   
spin_lock_bh(&ab->base_lock);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  515  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  516   if (!ab->rhead_peer_id) 
{
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  517           
ab->rhead_peer_id = rhash_id_tbl;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  518   } else {
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  519           
spin_unlock_bh(&ab->base_lock);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23 @520           goto 
cleanup_tbl;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  521   }
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  522  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  523   
spin_unlock_bh(&ab->base_lock);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  524  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  525   return 0;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  526  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  527  cleanup_tbl:
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  528   
rhashtable_destroy(rhash_id_tbl);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  529  err_free:
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  530   kfree(rhash_id_tbl);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  531  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  532   return ret;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  533  }
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  534  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  535  static int 
ath11k_peer_rhash_addr_tbl_init(struct ath11k_base *ab)
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  536  {
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  537   struct 
rhashtable_params *param;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  538   struct rhashtable 
*rhash_addr_tbl;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  539   int ret;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  540   size_t size;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  541  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  542   
lockdep_assert_held(&ab->tbl_mtx_lock);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  543  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  544   if (ab->rhead_peer_addr)
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  545           return 0;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  546  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  547   size = 
sizeof(*ab->rhead_peer_addr);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  548   rhash_addr_tbl = 
kzalloc(size, GFP_KERNEL);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  549   if (!rhash_addr_tbl) {
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  550           ath11k_warn(ab, 
"failed to init rhash addr table due to no mem (size %zu)\n",
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  551                       
size);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  552           return -ENOMEM;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  553   }
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  554  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  555   param = 
&ab->rhash_peer_addr_param;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  556  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  557   param->key_offset = 
offsetof(struct ath11k_peer, addr);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  558   param->head_offset = 
offsetof(struct ath11k_peer, rhash_addr);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  559   param->key_len = 
sizeof_field(struct ath11k_peer, addr);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  560   
param->automatic_shrinking = true;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  561   param->nelem_hint = 
ab->num_radios * TARGET_NUM_PEERS_PDEV(ab);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  562  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  563   ret = 
rhashtable_init(rhash_addr_tbl, param);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  564   if (ret) {
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  565           ath11k_warn(ab, 
"failed to init peer addr rhash table %d\n", ret);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  566           goto err_free;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  567   }
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  568  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  569   
spin_lock_bh(&ab->base_lock);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  570  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  571   if 
(!ab->rhead_peer_addr) {
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  572           
ab->rhead_peer_addr = rhash_addr_tbl;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  573   } else {
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  574           
spin_unlock_bh(&ab->base_lock);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23 @575           goto 
cleanup_tbl;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  576   }
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  577  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  578   
spin_unlock_bh(&ab->base_lock);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  579  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  580   return 0;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  581  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  582  cleanup_tbl:
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  583   
rhashtable_destroy(rhash_addr_tbl);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  584  err_free:
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  585   kfree(rhash_addr_tbl);
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  586  
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  587   return ret;
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  588  }
7b0c70d92a4359 Karthikeyan Periyasamy 2022-03-23  589  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to