[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202506200530.jiD9Txum-lkp@intel.com>
Date: Fri, 20 Jun 2025 05:25:03 +0800
From: kernel test robot <lkp@...el.com>
To: Vikas Gupta <vikas.gupta@...adcom.com>, davem@...emloft.net,
edumazet@...gle.com, kuba@...nel.org, pabeni@...hat.com,
andrew+netdev@...n.ch, horms@...nel.org
Cc: oe-kbuild-all@...ts.linux.dev, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, michael.chan@...adcom.com,
pavan.chebbi@...adcom.com, vsrama-krishna.nemani@...adcom.com,
Vikas Gupta <vikas.gupta@...adcom.com>,
Bhargava Chenna Marreddy <bhargava.marreddy@...adcom.com>,
Rajashekar Hudumula <rajashekar.hudumula@...adcom.com>
Subject: Re: [net-next, 08/10] bng_en: Add irq allocation support
Hi Vikas,
kernel test robot noticed the following build warnings:
[auto build test WARNING on linus/master]
[also build test WARNING on v6.16-rc2 next-20250619]
[cannot apply to horms-ipvs/master]
[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/Vikas-Gupta/bng_en-Add-PCI-interface/20250618-173130
base: linus/master
patch link: https://lore.kernel.org/r/20250618144743.843815-9-vikas.gupta%40broadcom.com
patch subject: [net-next, 08/10] bng_en: Add irq allocation support
config: parisc-randconfig-r073-20250619 (https://download.01.org/0day-ci/archive/20250620/202506200530.jiD9Txum-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 8.5.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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506200530.jiD9Txum-lkp@intel.com/
smatch warnings:
drivers/net/ethernet/broadcom/bnge/bnge_resc.c:347 bnge_alloc_irqs() warn: unsigned 'irqs_demand' is never less than zero.
vim +/irqs_demand +347 drivers/net/ethernet/broadcom/bnge/bnge_resc.c
329
330 int bnge_alloc_irqs(struct bnge_dev *bd)
331 {
332 u16 aux_msix, tx_cp, num_entries;
333 u16 irqs_demand, max, min = 1;
334 int i, rc = 0;
335
336 irqs_demand = bnge_nqs_demand(bd);
337 max = bnge_get_max_func_irqs(bd);
338 if (irqs_demand > max)
339 irqs_demand = max;
340
341 if (!(bd->flags & BNGE_EN_SHARED_CHNL))
342 min = 2;
343
344 irqs_demand = pci_alloc_irq_vectors(bd->pdev, min, irqs_demand,
345 PCI_IRQ_MSIX);
346 aux_msix = bnge_aux_get_msix(bd);
> 347 if (irqs_demand < 0 || irqs_demand < aux_msix) {
348 rc = -ENODEV;
349 goto err_free_irqs;
350 }
351
352 num_entries = irqs_demand;
353 if (pci_msix_can_alloc_dyn(bd->pdev))
354 num_entries = max;
355 bd->irq_tbl = kcalloc(num_entries, sizeof(*bd->irq_tbl), GFP_KERNEL);
356 if (!bd->irq_tbl) {
357 rc = -ENOMEM;
358 goto err_free_irqs;
359 }
360
361 for (i = 0; i < irqs_demand; i++)
362 bd->irq_tbl[i].vector = pci_irq_vector(bd->pdev, i);
363
364 bd->irqs_acquired = irqs_demand;
365 /* Reduce rings based upon num of vectors allocated.
366 * We dont need to consider NQs as they have been calculated
367 * and must be more than irqs_demand.
368 */
369 rc = bnge_adjust_rings(bd, &bd->rx_nr_rings,
370 &bd->tx_nr_rings,
371 irqs_demand - aux_msix, min == 1);
372 if (rc)
373 goto err_free_irqs;
374
375 tx_cp = bnge_num_tx_to_cp(bd, bd->tx_nr_rings);
376 bd->nq_nr_rings = (min == 1) ?
377 max_t(u16, tx_cp, bd->rx_nr_rings) :
378 tx_cp + bd->rx_nr_rings;
379
380 /* Readjust tx_nr_rings_per_tc */
381 if (!bd->num_tc)
382 bd->tx_nr_rings_per_tc = bd->tx_nr_rings;
383
384 return 0;
385
386 err_free_irqs:
387 dev_err(bd->dev, "Failed to allocate IRQs err = %d\n", rc);
388 bnge_free_irqs(bd);
389 return rc;
390 }
391
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists