All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/thunderbolt/tunnel.c:155:16-17: WARNING opportunity for max()
@ 2025-12-15  1:24 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-12-15  1:24 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Julia Lawall

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Tiwei Bie <tiwei.btw@antgroup.com>
CC: Johannes Berg <johannes.berg@intel.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   8f0b4cce4481fb22653697cced8d0d04027cb1e8
commit: a0e2cb6a90634f3dc80f16e882a683ee5761b0b0 um: Add VFIO-based virtual PCI driver
date:   7 months ago
:::::: branch date: 21 hours ago
:::::: commit date: 7 months ago
config: um-randconfig-r063-20251215 (https://download.01.org/0day-ci/archive/20251215/202512150921.zRadglCI-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.4.0-5) 12.4.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: Julia Lawall <julia.lawall@inria.fr>
| Closes: https://lore.kernel.org/r/202512150921.zRadglCI-lkp@intel.com/

cocci warnings: (new ones prefixed by >>)
>> drivers/thunderbolt/tunnel.c:155:16-17: WARNING opportunity for max()
   drivers/thunderbolt/tunnel.c:1653:16-17: WARNING opportunity for max()
--
>> drivers/pci/quirks.c:2758:4-31: opportunity for str_enabled_disabled(flags & HT_MSI_FLAGS_ENABLE)
--
>> drivers/net/ethernet/realtek/r8169_main.c:5634:7-23: opportunity for str_enabled_disabled(tp -> dash_enabled)
--
>> drivers/pci/setup-bus.c:2108:21-24: ERROR: invalid reference to the index variable of the iterator on line 2082

vim +155 drivers/thunderbolt/tunnel.c

6ed541c53edcd5 Mika Westerberg 2021-03-22  110  
6ed541c53edcd5 Mika Westerberg 2021-03-22  111  /**
6ed541c53edcd5 Mika Westerberg 2021-03-22  112   * tb_available_credits() - Available credits for PCIe and DMA
6ed541c53edcd5 Mika Westerberg 2021-03-22  113   * @port: Lane adapter to check
6ed541c53edcd5 Mika Westerberg 2021-03-22  114   * @max_dp_streams: If non-%NULL stores maximum number of simultaneous DP
6ed541c53edcd5 Mika Westerberg 2021-03-22  115   *		    streams possible through this lane adapter
6ed541c53edcd5 Mika Westerberg 2021-03-22  116   */
6ed541c53edcd5 Mika Westerberg 2021-03-22  117  static unsigned int tb_available_credits(const struct tb_port *port,
6ed541c53edcd5 Mika Westerberg 2021-03-22  118  					 size_t *max_dp_streams)
6ed541c53edcd5 Mika Westerberg 2021-03-22  119  {
6ed541c53edcd5 Mika Westerberg 2021-03-22  120  	const struct tb_switch *sw = port->sw;
6ed541c53edcd5 Mika Westerberg 2021-03-22  121  	int credits, usb3, pcie, spare;
6ed541c53edcd5 Mika Westerberg 2021-03-22  122  	size_t ndp;
6ed541c53edcd5 Mika Westerberg 2021-03-22  123  
6ed541c53edcd5 Mika Westerberg 2021-03-22  124  	usb3 = tb_acpi_may_tunnel_usb3() ? sw->max_usb3_credits : 0;
6ed541c53edcd5 Mika Westerberg 2021-03-22  125  	pcie = tb_acpi_may_tunnel_pcie() ? sw->max_pcie_credits : 0;
6ed541c53edcd5 Mika Westerberg 2021-03-22  126  
6ed541c53edcd5 Mika Westerberg 2021-03-22  127  	if (tb_acpi_is_xdomain_allowed()) {
7ee20d0afb69df Mika Westerberg 2022-09-08  128  		spare = min_not_zero(sw->max_dma_credits, dma_credits);
6ed541c53edcd5 Mika Westerberg 2021-03-22  129  		/* Add some credits for potential second DMA tunnel */
6ed541c53edcd5 Mika Westerberg 2021-03-22  130  		spare += TB_MIN_DMA_CREDITS;
6ed541c53edcd5 Mika Westerberg 2021-03-22  131  	} else {
6ed541c53edcd5 Mika Westerberg 2021-03-22  132  		spare = 0;
6ed541c53edcd5 Mika Westerberg 2021-03-22  133  	}
6ed541c53edcd5 Mika Westerberg 2021-03-22  134  
6ed541c53edcd5 Mika Westerberg 2021-03-22  135  	credits = tb_usable_credits(port);
6ed541c53edcd5 Mika Westerberg 2021-03-22  136  	if (tb_acpi_may_tunnel_dp()) {
6ed541c53edcd5 Mika Westerberg 2021-03-22  137  		/*
6ed541c53edcd5 Mika Westerberg 2021-03-22  138  		 * Maximum number of DP streams possible through the
6ed541c53edcd5 Mika Westerberg 2021-03-22  139  		 * lane adapter.
6ed541c53edcd5 Mika Westerberg 2021-03-22  140  		 */
93bf344f66995e Gil Fine        2022-05-09  141  		if (sw->min_dp_aux_credits + sw->min_dp_main_credits)
6ed541c53edcd5 Mika Westerberg 2021-03-22  142  			ndp = (credits - (usb3 + pcie + spare)) /
6ed541c53edcd5 Mika Westerberg 2021-03-22  143  			      (sw->min_dp_aux_credits + sw->min_dp_main_credits);
93bf344f66995e Gil Fine        2022-05-09  144  		else
93bf344f66995e Gil Fine        2022-05-09  145  			ndp = 0;
6ed541c53edcd5 Mika Westerberg 2021-03-22  146  	} else {
6ed541c53edcd5 Mika Westerberg 2021-03-22  147  		ndp = 0;
6ed541c53edcd5 Mika Westerberg 2021-03-22  148  	}
6ed541c53edcd5 Mika Westerberg 2021-03-22  149  	credits -= ndp * (sw->min_dp_aux_credits + sw->min_dp_main_credits);
6ed541c53edcd5 Mika Westerberg 2021-03-22  150  	credits -= usb3;
6ed541c53edcd5 Mika Westerberg 2021-03-22  151  
6ed541c53edcd5 Mika Westerberg 2021-03-22  152  	if (max_dp_streams)
6ed541c53edcd5 Mika Westerberg 2021-03-22  153  		*max_dp_streams = ndp;
6ed541c53edcd5 Mika Westerberg 2021-03-22  154  
6ed541c53edcd5 Mika Westerberg 2021-03-22 @155  	return credits > 0 ? credits : 0;
6ed541c53edcd5 Mika Westerberg 2021-03-22  156  }
6ed541c53edcd5 Mika Westerberg 2021-03-22  157  

:::::: The code at line 155 was first introduced by commit
:::::: 6ed541c53edcd5bf3cbd9fd600fd593e95ec79fb thunderbolt: Allocate credits according to router preferences

:::::: TO: Mika Westerberg <mika.westerberg@linux.intel.com>
:::::: CC: Mika Westerberg <mika.westerberg@linux.intel.com>

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-12-15  1:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-15  1:24 drivers/thunderbolt/tunnel.c:155:16-17: WARNING opportunity for max() 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.