[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