lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202511251336.5gGRd3hJ-lkp@intel.com>
Date: Tue, 25 Nov 2025 14:06:31 +0800
From: kernel test robot <lkp@...el.com>
To: Richard Fitzgerald <rf@...nsource.cirrus.com>, vkoul@...nel.org,
	yung-chuan.liao@...ux.intel.com, pierre-louis.bossart@...ux.dev
Cc: oe-kbuild-all@...ts.linux.dev, linux-sound@...r.kernel.org,
	linux-kernel@...r.kernel.org, patches@...nsource.cirrus.com
Subject: Re: [PATCH] soundwire: stream: Prepare ports in parallel to reduce
 stream start latency

Hi Richard,

kernel test robot noticed the following build warnings:

[auto build test WARNING on linus/master]
[also build test WARNING on v6.18-rc7 next-20251124]
[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/Richard-Fitzgerald/soundwire-stream-Prepare-ports-in-parallel-to-reduce-stream-start-latency/20251124-233421
base:   linus/master
patch link:    https://lore.kernel.org/r/20251124152956.2293218-1-rf%40opensource.cirrus.com
patch subject: [PATCH] soundwire: stream: Prepare ports in parallel to reduce stream start latency
config: arm-randconfig-r052-20251125 (https://download.01.org/0day-ci/archive/20251125/202511251336.5gGRd3hJ-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 9e9fe08b16ea2c4d9867fb4974edf2a3776d6ece)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251125/202511251336.5gGRd3hJ-lkp@intel.com/reproduce)

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/202511251336.5gGRd3hJ-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/soundwire/stream.c:553:21: warning: variable 'dp0_prop' is uninitialized when used here [-Wuninitialized]
     553 |                 ch_prep_timeout = dp0_prop->ch_prep_timeout;
         |                                   ^~~~~~~~
   drivers/soundwire/stream.c:541:31: note: initialize the variable 'dp0_prop' to silence this warning
     541 |         struct sdw_dp0_prop *dp0_prop;
         |                                      ^
         |                                       = NULL
   1 warning generated.


vim +/dp0_prop +553 drivers/soundwire/stream.c

   534	
   535	static int sdw_wait_prep_slave_ports(struct sdw_bus *bus,
   536					     struct sdw_slave_runtime *s_rt,
   537					     struct sdw_port_runtime *p_rt)
   538	{
   539		struct completion *port_ready;
   540		struct sdw_dpn_prop *dpn_prop;
   541		struct sdw_dp0_prop *dp0_prop;
   542		struct sdw_prepare_ch prep_ch;
   543		bool simple_ch_prep_sm;
   544		u32 ch_prep_timeout;
   545		int ret, val;
   546	
   547		if (p_rt->num) {
   548			dpn_prop = sdw_get_slave_dpn_prop(s_rt->slave, s_rt->direction, p_rt->num);
   549			simple_ch_prep_sm = dpn_prop->simple_ch_prep_sm;
   550			ch_prep_timeout = dpn_prop->ch_prep_timeout;
   551		} else {
   552			simple_ch_prep_sm = s_rt->slave->prop.dp0_prop->simple_ch_prep_sm;
 > 553			ch_prep_timeout = dp0_prop->ch_prep_timeout;
   554		}
   555	
   556		if (simple_ch_prep_sm)
   557			return 0;
   558	
   559		/*
   560		 * Check if already prepared. Avoid overhead of waiting for interrupt
   561		 * and port_ready completion if we don't need to.
   562		 */
   563		val = sdw_read_no_pm(s_rt->slave, SDW_DPN_PREPARESTATUS(p_rt->num));
   564		if (val < 0) {
   565			ret = val;
   566			goto err;
   567		}
   568	
   569		if (val & p_rt->ch_mask) {
   570			/* Wait for completion on port ready */
   571			port_ready = &s_rt->slave->port_ready[p_rt->num];
   572			wait_for_completion_timeout(port_ready, msecs_to_jiffies(ch_prep_timeout));
   573			val = sdw_read_no_pm(s_rt->slave, SDW_DPN_PREPARESTATUS(p_rt->num));
   574			if ((val < 0) || (val & p_rt->ch_mask)) {
   575				ret = (val < 0) ? val : -ETIMEDOUT;
   576				goto err;
   577			}
   578		}
   579	
   580		/* Inform slaves about ports prepared */
   581		prep_ch.num = p_rt->num;
   582		prep_ch.ch_mask = p_rt->ch_mask;
   583		prep_ch.prepare = true;
   584		prep_ch.bank = bus->params.next_bank;
   585		sdw_do_port_prep(s_rt, prep_ch, SDW_OPS_PORT_POST_PREP);
   586	
   587		return 0;
   588	
   589	err:
   590		dev_err(&s_rt->slave->dev, "Chn prep failed for port %d: %d\n", p_rt->num, ret);
   591	
   592		return ret;
   593	}
   594	

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ