CC: [email protected] TO: Otavio Salvador <[email protected]>
tree: https://github.com/Freescale/linux-fslc 5.4-2.3.x-imx head: 3e30474a9fe2cbf3c78a1c173ab6ce2db22f943f commit: eb225e1d92f46b07dbce5e6acbb3302542d63ee7 [8776/16896] MLK-23754-5 remoteproc: add support to skip firmware load when recovery :::::: branch date: 8 hours ago :::::: commit date: 10 months ago config: x86_64-randconfig-m001-20210204 (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> New smatch warnings: drivers/remoteproc/remoteproc_core.c:1695 rproc_trigger_recovery() error: uninitialized symbol 'firmware_p'. Old smatch warnings: drivers/remoteproc/remoteproc_core.c:1608 rproc_coredump() warn: is 'data' large enough for 'struct elf32_hdr'? 1 vim +/firmware_p +1695 drivers/remoteproc/remoteproc_core.c 2666ca9197e3d3 Sarangdhar Joshi 2018-01-05 1655 70b85ef83ce352 Fernando Guzman Lugo 2012-08-30 1656 /** 70b85ef83ce352 Fernando Guzman Lugo 2012-08-30 1657 * rproc_trigger_recovery() - recover a remoteproc 70b85ef83ce352 Fernando Guzman Lugo 2012-08-30 1658 * @rproc: the remote processor 70b85ef83ce352 Fernando Guzman Lugo 2012-08-30 1659 * 56324d7a229486 Anna, Suman 2016-08-12 1660 * The recovery is done by resetting all the virtio devices, that way all the 70b85ef83ce352 Fernando Guzman Lugo 2012-08-30 1661 * rpmsg drivers will be reseted along with the remote processor making the 70b85ef83ce352 Fernando Guzman Lugo 2012-08-30 1662 * remoteproc functional again. 70b85ef83ce352 Fernando Guzman Lugo 2012-08-30 1663 * 70b85ef83ce352 Fernando Guzman Lugo 2012-08-30 1664 * This function can sleep, so it cannot be called from atomic context. 70b85ef83ce352 Fernando Guzman Lugo 2012-08-30 1665 */ 70b85ef83ce352 Fernando Guzman Lugo 2012-08-30 1666 int rproc_trigger_recovery(struct rproc *rproc) 70b85ef83ce352 Fernando Guzman Lugo 2012-08-30 1667 { 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1668 const struct firmware *firmware_p; 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1669 struct device *dev = &rproc->dev; 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1670 int ret; 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1671 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1672 dev_err(dev, "recovering %s\n", rproc->name); 70b85ef83ce352 Fernando Guzman Lugo 2012-08-30 1673 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1674 ret = mutex_lock_interruptible(&rproc->lock); 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1675 if (ret) 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1676 return ret; 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1677 fcd58037f28bf7 Arnaud Pouliquen 2018-04-10 1678 ret = rproc_stop(rproc, true); 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1679 if (ret) 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1680 goto unlock_mutex; ddf711872c9d2b Bjorn Andersson 2016-08-11 1681 eb225e1d92f46b Peng Fan 2020-02-19 1682 if (!rproc->skip_fw_load) { 2666ca9197e3d3 Sarangdhar Joshi 2018-01-05 1683 /* generate coredump */ 2666ca9197e3d3 Sarangdhar Joshi 2018-01-05 1684 rproc_coredump(rproc); 2666ca9197e3d3 Sarangdhar Joshi 2018-01-05 1685 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1686 /* load firmware */ 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1687 ret = request_firmware(&firmware_p, rproc->firmware, dev); 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1688 if (ret < 0) { 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1689 dev_err(dev, "request_firmware failed: %d\n", ret); 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1690 goto unlock_mutex; 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1691 } eb225e1d92f46b Peng Fan 2020-02-19 1692 } ddf711872c9d2b Bjorn Andersson 2016-08-11 1693 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1694 /* boot the remote processor up again */ 7e83cab824a867 Sarangdhar Joshi 2017-05-26 @1695 ret = rproc_start(rproc, firmware_p); 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1696 eb225e1d92f46b Peng Fan 2020-02-19 1697 if (!rproc->skip_fw_load) 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1698 release_firmware(firmware_p); 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1699 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1700 unlock_mutex: 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1701 mutex_unlock(&rproc->lock); 7e83cab824a867 Sarangdhar Joshi 2017-05-26 1702 return ret; 70b85ef83ce352 Fernando Guzman Lugo 2012-08-30 1703 } 70b85ef83ce352 Fernando Guzman Lugo 2012-08-30 1704 :::::: The code at line 1695 was first introduced by commit :::::: 7e83cab824a86704cdbd7735c19d34e0ce423dc5 remoteproc: Modify recovery path to use rproc_{start,stop}() :::::: TO: Sarangdhar Joshi <[email protected]> :::::: CC: Bjorn Andersson <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
