All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/net/wireless/intel/iwlwifi/pcie/tx.c:690 iwl_pcie_txq_alloc() warn: check sign expansion for 'slots_num'
@ 2024-10-27 10:18 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2024-10-27 10:18 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Johannes Berg <johannes.berg@intel.com>
CC: Miri Korenblit <miriam.rachel.korenblit@intel.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   850925a8133c73c4a2453c360b2c3beb3bab67c9
commit: 49101078be769e9c50a8bfbc8caaab56db9d12d9 wifi: iwlwifi: pcie: integrate TX queue code
date:   5 months ago
:::::: branch date: 2 days ago
:::::: commit date: 5 months ago
config: x86_64-randconfig-161-20241026 (https://download.01.org/0day-ci/archive/20241027/202410271847.iCD1KB9P-lkp@intel.com/config)
compiler: clang version 19.1.2 (https://github.com/llvm/llvm-project 7ba7d8e2f7b6445b60679da826210cdde29eaf8b)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202410271847.iCD1KB9P-lkp@intel.com/

smatch warnings:
drivers/net/wireless/intel/iwlwifi/pcie/tx.c:690 iwl_pcie_txq_alloc() warn: check sign expansion for 'slots_num'

vim +/slots_num +690 drivers/net/wireless/intel/iwlwifi/pcie/tx.c

49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  685  
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  686  int iwl_pcie_txq_alloc(struct iwl_trans *trans, struct iwl_txq *txq,
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  687  		       int slots_num, bool cmd_queue)
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  688  {
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  689  	struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05 @690  	size_t num_entries = trans->trans_cfg->gen2 ?
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  691  		slots_num : trans->trans_cfg->base_params->max_tfd_queue_size;
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  692  	size_t tfd_sz;
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  693  	size_t tb0_buf_sz;
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  694  	int i;
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  695  
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  696  	if (WARN_ONCE(slots_num <= 0, "Invalid slots num:%d\n", slots_num))
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  697  		return -EINVAL;
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  698  
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  699  	if (WARN_ON(txq->entries || txq->tfds))
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  700  		return -EINVAL;
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  701  
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  702  	tfd_sz = trans_pcie->txqs.tfd.size * num_entries;
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  703  
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  704  	timer_setup(&txq->stuck_timer, iwl_txq_stuck_timer, 0);
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  705  	txq->trans = trans;
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  706  
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  707  	txq->n_window = slots_num;
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  708  
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  709  	txq->entries = kcalloc(slots_num,
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  710  			       sizeof(struct iwl_pcie_txq_entry),
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  711  			       GFP_KERNEL);
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  712  
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  713  	if (!txq->entries)
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  714  		goto error;
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  715  
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  716  	if (cmd_queue)
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  717  		for (i = 0; i < slots_num; i++) {
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  718  			txq->entries[i].cmd =
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  719  				kmalloc(sizeof(struct iwl_device_cmd),
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  720  					GFP_KERNEL);
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  721  			if (!txq->entries[i].cmd)
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  722  				goto error;
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  723  		}
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  724  
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  725  	/* Circular buffer of transmit frame descriptors (TFDs),
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  726  	 * shared with device
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  727  	 */
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  728  	txq->tfds = dma_alloc_coherent(trans->dev, tfd_sz,
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  729  				       &txq->dma_addr, GFP_KERNEL);
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  730  	if (!txq->tfds)
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  731  		goto error;
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  732  
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  733  	BUILD_BUG_ON(sizeof(*txq->first_tb_bufs) != IWL_FIRST_TB_SIZE_ALIGN);
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  734  
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  735  	tb0_buf_sz = sizeof(*txq->first_tb_bufs) * slots_num;
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  736  
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  737  	txq->first_tb_bufs = dma_alloc_coherent(trans->dev, tb0_buf_sz,
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  738  						&txq->first_tb_dma,
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  739  						GFP_KERNEL);
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  740  	if (!txq->first_tb_bufs)
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  741  		goto err_free_tfds;
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  742  
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  743  	for (i = 0; i < num_entries; i++) {
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  744  		void *tfd = iwl_txq_get_tfd(trans, txq, i);
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  745  
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  746  		if (trans->trans_cfg->gen2)
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  747  			iwl_txq_set_tfd_invalid_gen2(trans, tfd);
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  748  		else
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  749  			iwl_txq_set_tfd_invalid_gen1(trans, tfd);
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  750  	}
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  751  
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  752  	return 0;
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  753  err_free_tfds:
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  754  	dma_free_coherent(trans->dev, tfd_sz, txq->tfds, txq->dma_addr);
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  755  	txq->tfds = NULL;
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  756  error:
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  757  	if (txq->entries && cmd_queue)
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  758  		for (i = 0; i < slots_num; i++)
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  759  			kfree(txq->entries[i].cmd);
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  760  	kfree(txq->entries);
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  761  	txq->entries = NULL;
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  762  
49101078be769e drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  763  	return -ENOMEM;
f02831be962c7b drivers/net/wireless/iwlwifi/pcie/tx.c       Emmanuel Grumbach 2012-11-14  764  }
f02831be962c7b drivers/net/wireless/iwlwifi/pcie/tx.c       Emmanuel Grumbach 2012-11-14  765  

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* drivers/net/wireless/intel/iwlwifi/pcie/tx.c:690 iwl_pcie_txq_alloc() warn: check sign expansion for 'slots_num'
@ 2024-12-13 16:33 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2024-12-13 16:33 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Johannes Berg <johannes.berg@intel.com>
CC: Miri Korenblit <miriam.rachel.korenblit@intel.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   f932fb9b40749d1c9a539d89bb3e288c077aafe5
commit: 49101078be769e9c50a8bfbc8caaab56db9d12d9 wifi: iwlwifi: pcie: integrate TX queue code
date:   6 months ago
:::::: branch date: 15 hours ago
:::::: commit date: 6 months ago
config: x86_64-randconfig-161-20241213 (https://download.01.org/0day-ci/archive/20241214/202412140012.lmyIwJfZ-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202412140012.lmyIwJfZ-lkp@intel.com/

smatch warnings:
drivers/net/wireless/intel/iwlwifi/pcie/tx.c:690 iwl_pcie_txq_alloc() warn: check sign expansion for 'slots_num'

vim +/slots_num +690 drivers/net/wireless/intel/iwlwifi/pcie/tx.c

49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  685  
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  686  int iwl_pcie_txq_alloc(struct iwl_trans *trans, struct iwl_txq *txq,
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  687  		       int slots_num, bool cmd_queue)
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  688  {
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  689  	struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05 @690  	size_t num_entries = trans->trans_cfg->gen2 ?
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  691  		slots_num : trans->trans_cfg->base_params->max_tfd_queue_size;
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  692  	size_t tfd_sz;
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  693  	size_t tb0_buf_sz;
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  694  	int i;
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  695  
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  696  	if (WARN_ONCE(slots_num <= 0, "Invalid slots num:%d\n", slots_num))
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  697  		return -EINVAL;
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  698  
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  699  	if (WARN_ON(txq->entries || txq->tfds))
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  700  		return -EINVAL;
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  701  
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  702  	tfd_sz = trans_pcie->txqs.tfd.size * num_entries;
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  703  
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  704  	timer_setup(&txq->stuck_timer, iwl_txq_stuck_timer, 0);
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  705  	txq->trans = trans;
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  706  
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  707  	txq->n_window = slots_num;
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  708  
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  709  	txq->entries = kcalloc(slots_num,
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  710  			       sizeof(struct iwl_pcie_txq_entry),
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  711  			       GFP_KERNEL);
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  712  
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  713  	if (!txq->entries)
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  714  		goto error;
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  715  
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  716  	if (cmd_queue)
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  717  		for (i = 0; i < slots_num; i++) {
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  718  			txq->entries[i].cmd =
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  719  				kmalloc(sizeof(struct iwl_device_cmd),
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  720  					GFP_KERNEL);
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  721  			if (!txq->entries[i].cmd)
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  722  				goto error;
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  723  		}
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  724  
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  725  	/* Circular buffer of transmit frame descriptors (TFDs),
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  726  	 * shared with device
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  727  	 */
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  728  	txq->tfds = dma_alloc_coherent(trans->dev, tfd_sz,
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  729  				       &txq->dma_addr, GFP_KERNEL);
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  730  	if (!txq->tfds)
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  731  		goto error;
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  732  
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  733  	BUILD_BUG_ON(sizeof(*txq->first_tb_bufs) != IWL_FIRST_TB_SIZE_ALIGN);
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  734  
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  735  	tb0_buf_sz = sizeof(*txq->first_tb_bufs) * slots_num;
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  736  
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  737  	txq->first_tb_bufs = dma_alloc_coherent(trans->dev, tb0_buf_sz,
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  738  						&txq->first_tb_dma,
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  739  						GFP_KERNEL);
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  740  	if (!txq->first_tb_bufs)
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  741  		goto err_free_tfds;
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  742  
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  743  	for (i = 0; i < num_entries; i++) {
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  744  		void *tfd = iwl_txq_get_tfd(trans, txq, i);
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  745  
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  746  		if (trans->trans_cfg->gen2)
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  747  			iwl_txq_set_tfd_invalid_gen2(trans, tfd);
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  748  		else
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  749  			iwl_txq_set_tfd_invalid_gen1(trans, tfd);
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  750  	}
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  751  
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  752  	return 0;
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  753  err_free_tfds:
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  754  	dma_free_coherent(trans->dev, tfd_sz, txq->tfds, txq->dma_addr);
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  755  	txq->tfds = NULL;
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  756  error:
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  757  	if (txq->entries && cmd_queue)
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  758  		for (i = 0; i < slots_num; i++)
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  759  			kfree(txq->entries[i].cmd);
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  760  	kfree(txq->entries);
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  761  	txq->entries = NULL;
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  762  
49101078be769e9 drivers/net/wireless/intel/iwlwifi/pcie/tx.c Johannes Berg     2024-06-05  763  	return -ENOMEM;
f02831be962c7be drivers/net/wireless/iwlwifi/pcie/tx.c       Emmanuel Grumbach 2012-11-14  764  }
f02831be962c7be drivers/net/wireless/iwlwifi/pcie/tx.c       Emmanuel Grumbach 2012-11-14  765  

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-12-13 16:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-27 10:18 drivers/net/wireless/intel/iwlwifi/pcie/tx.c:690 iwl_pcie_txq_alloc() warn: check sign expansion for 'slots_num' kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2024-12-13 16:33 kernel test robot

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.