Messages in this thread | | | Date | Thu, 5 Oct 2023 06:02:58 +0800 | From | kernel test robot <> | Subject | Re: [PATCH v2] firmware_loader: Abort new fw load request once firmware core knows about reboot |
| |
Hi Mukesh,
kernel test robot noticed the following build warnings:
[auto build test WARNING on driver-core/driver-core-testing] [also build test WARNING on driver-core/driver-core-next driver-core/driver-core-linus linus/master v6.6-rc4 next-20231004] [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/Mukesh-Ojha/firmware_loader-Abort-new-fw-load-request-once-firmware-core-knows-about-reboot/20231004-225910 base: driver-core/driver-core-testing patch link: https://lore.kernel.org/r/1696431327-7369-1-git-send-email-quic_mojha%40quicinc.com patch subject: [PATCH v2] firmware_loader: Abort new fw load request once firmware core knows about reboot config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20231005/202310050525.CcwD9rYd-lkp@intel.com/config) compiler: m68k-linux-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231005/202310050525.CcwD9rYd-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@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202310050525.CcwD9rYd-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/base/firmware_loader/fallback.h:9, from drivers/base/firmware_loader/fallback.c:11: drivers/base/firmware_loader/sysfs.h:87:20: error: 'fw_load_abort' redeclared as different kind of symbol 87 | static inline void fw_load_abort(struct fw_sysfs *fw_sysfs) | ^~~~~~~~~~~~~ In file included from drivers/base/firmware_loader/fallback.h:8: drivers/base/firmware_loader/firmware.h:89:13: note: previous declaration of 'fw_load_abort' with type 'bool' {aka '_Bool'} 89 | extern bool fw_load_abort; | ^~~~~~~~~~~~~ drivers/base/firmware_loader/fallback.c: In function 'kill_pending_fw_fallback_reqs': drivers/base/firmware_loader/fallback.c:62:31: error: lvalue required as left operand of assignment 62 | fw_load_abort = true; | ^ drivers/base/firmware_loader/fallback.c: In function 'fw_load_sysfs_fallback': >> drivers/base/firmware_loader/fallback.c:93:13: warning: the address of 'fw_load_abort' will always evaluate as 'true' [-Waddress] 93 | if (fw_load_abort || fw_state_is_aborted(fw_priv)) { | ^~~~~~~~~~~~~
vim +93 drivers/base/firmware_loader/fallback.c
66 67 /** 68 * fw_load_sysfs_fallback() - load a firmware via the sysfs fallback mechanism 69 * @fw_sysfs: firmware sysfs information for the firmware to load 70 * @timeout: timeout to wait for the load 71 * 72 * In charge of constructing a sysfs fallback interface for firmware loading. 73 **/ 74 static int fw_load_sysfs_fallback(struct fw_sysfs *fw_sysfs, long timeout) 75 { 76 int retval = 0; 77 struct device *f_dev = &fw_sysfs->dev; 78 struct fw_priv *fw_priv = fw_sysfs->fw_priv; 79 80 /* fall back on userspace loading */ 81 if (!fw_priv->data) 82 fw_priv->is_paged_buf = true; 83 84 dev_set_uevent_suppress(f_dev, true); 85 86 retval = device_add(f_dev); 87 if (retval) { 88 dev_err(f_dev, "%s: device_register failed\n", __func__); 89 goto err_put_dev; 90 } 91 92 mutex_lock(&fw_lock); > 93 if (fw_load_abort || fw_state_is_aborted(fw_priv)) { 94 mutex_unlock(&fw_lock); 95 retval = -EINTR; 96 goto out; 97 } 98 list_add(&fw_priv->pending_list, &pending_fw_head); 99 mutex_unlock(&fw_lock); 100 101 if (fw_priv->opt_flags & FW_OPT_UEVENT) { 102 fw_priv->need_uevent = true; 103 dev_set_uevent_suppress(f_dev, false); 104 dev_dbg(f_dev, "firmware: requesting %s\n", fw_priv->fw_name); 105 kobject_uevent(&fw_sysfs->dev.kobj, KOBJ_ADD); 106 } else { 107 timeout = MAX_JIFFY_OFFSET; 108 } 109 110 retval = fw_sysfs_wait_timeout(fw_priv, timeout); 111 if (retval < 0 && retval != -ENOENT) { 112 mutex_lock(&fw_lock); 113 fw_load_abort(fw_sysfs); 114 mutex_unlock(&fw_lock); 115 } 116 117 if (fw_state_is_aborted(fw_priv)) { 118 if (retval == -ERESTARTSYS) 119 retval = -EINTR; 120 } else if (fw_priv->is_paged_buf && !fw_priv->data) 121 retval = -ENOMEM; 122 123 out: 124 device_del(f_dev); 125 err_put_dev: 126 put_device(f_dev); 127 return retval; 128 } 129
-- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
| |