[PATCH v7 12/17] remoteproc: Properly deal with the resource table when stopping

kernel test robot lkp at intel.com
Wed Mar 10 23:00:50 GMT 2021


Hi Mathieu,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linux/master]
[also build test WARNING on linus/master v5.12-rc2 next-20210310]
[cannot apply to remoteproc/for-next rpmsg/for-next]
[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]

url:    https://github.com/0day-ci/linux/commits/Mathieu-Poirier/remoteproc-Add-support-for-detaching-a-remote-processor/20210311-051242
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 144c79ef33536b4ecb4951e07dbc1f2b7fa99d32
config: arm-randconfig-r036-20210310 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/6715f51e2b7ade7b5121eced81cad8065d4f5525
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Mathieu-Poirier/remoteproc-Add-support-for-detaching-a-remote-processor/20210311-051242
        git checkout 6715f51e2b7ade7b5121eced81cad8065d4f5525
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>

All warnings (new ones prefixed by >>):

   drivers/remoteproc/remoteproc_core.c: In function 'rproc_reset_rsc_table_on_stop':
>> drivers/remoteproc/remoteproc_core.c:1639:25: warning: variable 'table_ptr' set but not used [-Wunused-but-set-variable]
    1639 |  struct resource_table *table_ptr;
         |                         ^~~~~~~~~


vim +/table_ptr +1639 drivers/remoteproc/remoteproc_core.c

  1636	
  1637	static int rproc_reset_rsc_table_on_stop(struct rproc *rproc)
  1638	{
> 1639		struct resource_table *table_ptr;
  1640	
  1641		/* A resource table was never retrieved, nothing to do here */
  1642		if (!rproc->table_ptr)
  1643			return 0;
  1644	
  1645		/*
  1646		 * If a cache table exists the remote processor was started by
  1647		 * the remoteproc core.  That cache table should be used for
  1648		 * the rest of the shutdown process.
  1649		 */
  1650		if (rproc->cached_table)
  1651			goto out;
  1652	
  1653		/* Remember where the external entity installed the resource table */
  1654		table_ptr = rproc->table_ptr;
  1655	
  1656		/*
  1657		 * If we made it here the remote processor was started by another
  1658		 * entity and a cache table doesn't exist.  As such make a copy of
  1659		 * the resource table currently used by the remote processor and
  1660		 * use that for the rest of the shutdown process.  The memory
  1661		 * allocated here is free'd in rproc_shutdown().
  1662		 */
  1663		rproc->cached_table = kmemdup(rproc->table_ptr,
  1664					      rproc->table_sz, GFP_KERNEL);
  1665		if (!rproc->cached_table)
  1666			return -ENOMEM;
  1667	
  1668		/*
  1669		 * Since the remote processor is being switched off the clean table
  1670		 * won't be needed.  Allocated in rproc_set_rsc_table().
  1671		 */
  1672		kfree(rproc->clean_table);
  1673	
  1674	out:
  1675		/*
  1676		 * Use a copy of the resource table for the remainder of the
  1677		 * shutdown process.
  1678		 */
  1679		rproc->table_ptr = rproc->cached_table;
  1680		return 0;
  1681	}
  1682	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 25803 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20210311/efc521a3/attachment-0001.gz>


More information about the linux-arm-kernel mailing list