* [frank-li:imx/ele 5/7] drivers/firmware/imx/ele_fw_api.c:311:9: error: cleanup argument not a function
@ 2026-09-15 20:52 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-09-15 20:52 UTC (permalink / raw)
To: Pankaj Gupta; +Cc: oe-kbuild-all, Frank Li
tree: https://git.kernel.org/pub/scm/linux/kernel/git/frank.li/linux.git imx/ele
head: 211dcfe620fc1038ac5de521d170ea2390c15aea
commit: 7560ad03bbf40f5b89e210bee2dadb4be20efc1f [5/7] firmware: imx: adds miscdev
config: arc-randconfig-001-20260916 (https://download.01.org/0day-ci/archive/20260916/202609160425.RUMT14Ym-lkp@intel.com/config)
compiler: arc-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260916/202609160425.RUMT14Ym-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/202609160425.RUMT14Ym-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
drivers/firmware/imx/ele_fw_api.c: In function 'se_close_session':
>> drivers/firmware/imx/ele_fw_api.c:311:9: error: cleanup argument not a function
struct se_api_msg *tx_msg __free(kfree) =
^~~~~~~~~~
>> drivers/firmware/imx/ele_fw_api.c:312:3: error: implicit declaration of function 'kzalloc'; did you mean 'xa_alloc'? [-Werror=implicit-function-declaration]
kzalloc(ELE_SESSION_CLOSE_REQ_SZ, GFP_KERNEL);
^~~~~~~
xa_alloc
>> drivers/firmware/imx/ele_fw_api.c:312:3: warning: initialization of 'struct se_api_msg *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
drivers/firmware/imx/ele_fw_api.c:313:9: error: cleanup argument not a function
struct se_api_msg *rx_msg __free(kfree) =
^~~~~~~~~~
drivers/firmware/imx/ele_fw_api.c:314:3: warning: initialization of 'struct se_api_msg *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
kzalloc(ELE_SESSION_CLOSE_RSP_SZ, GFP_KERNEL);
^~~~~~~
drivers/firmware/imx/ele_fw_api.c: In function 'se_close_storage':
drivers/firmware/imx/ele_fw_api.c:368:9: error: cleanup argument not a function
struct se_api_msg *tx_msg __free(kfree) =
^~~~~~~~~~
drivers/firmware/imx/ele_fw_api.c:369:3: warning: initialization of 'struct se_api_msg *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
kzalloc(ELE_STORAGE_CLOSE_REQ_SZ, GFP_KERNEL);
^~~~~~~
drivers/firmware/imx/ele_fw_api.c:370:9: error: cleanup argument not a function
struct se_api_msg *rx_msg __free(kfree) =
^~~~~~~~~~
drivers/firmware/imx/ele_fw_api.c:371:3: warning: initialization of 'struct se_api_msg *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
kzalloc(ELE_STORAGE_CLOSE_RSP_SZ, GFP_KERNEL);
^~~~~~~
cc1: some warnings being treated as errors
vim +311 drivers/firmware/imx/ele_fw_api.c
308
309 int se_close_session(struct se_if_device_ctx *dev_ctx, u32 session_hdl)
310 {
> 311 struct se_api_msg *tx_msg __free(kfree) =
> 312 kzalloc(ELE_SESSION_CLOSE_REQ_SZ, GFP_KERNEL);
313 struct se_api_msg *rx_msg __free(kfree) =
314 kzalloc(ELE_SESSION_CLOSE_RSP_SZ, GFP_KERNEL);
315 struct se_if_priv *priv;
316 int ret;
317
318 if (!dev_ctx || !dev_ctx->priv)
319 return -EINVAL;
320
321 if (!tx_msg || !rx_msg)
322 return -ENOMEM;
323
324 priv = dev_ctx->priv;
325
326 /*
327 * Session close is a FW-API command; pass is_base_api=false so the
328 * header carries fw_api_ver.
329 */
330 se_fill_cmd_msg_hdr(priv, (struct se_msg_hdr *)&tx_msg->header,
331 ELE_SESSION_CLOSE_REQ, ELE_SESSION_CLOSE_REQ_SZ, false);
332
333 tx_msg->data[0] = session_hdl;
334
335 /*
336 * Transmit on the caller's own context. Using dev_ctx (rather than
337 * hardcoding priv->priv_dev_ctx) keeps a userspace close() subject to
338 * the going_away check in ele_msg_send_rcv(): if unbind has begun and
339 * freed priv->tx_chan, the send is rejected with -ENODEV instead of
340 * touching the freed mailbox channel.
341 *
342 * The teardown and fw_busy-recovery paths instead reserve the messaging
343 * interface for their own task via se_reserve_msg_if() before calling
344 * this. That reservation (msg_excl_owner == current) is what makes
345 * ele_msg_send_rcv() let their resync closes through the going_away and
346 * fw_busy gates; they also pass priv_dev_ctx so the wait is the
347 * uninterruptible internal-context wait.
348 */
349
350 ret = ele_msg_send_rcv(dev_ctx,
351 tx_msg,
352 ELE_SESSION_CLOSE_REQ_SZ,
353 rx_msg,
354 ELE_SESSION_CLOSE_RSP_SZ, NULL);
355 if (ret < 0)
356 return ret;
357
358 ret = se_val_rsp_hdr_n_status(dev_ctx,
359 rx_msg,
360 ELE_SESSION_CLOSE_REQ,
361 ELE_SESSION_CLOSE_RSP_SZ,
362 priv->if_defs->fw_api_ver);
363 return ret;
364 }
365
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-15 20:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-15 20:52 [frank-li:imx/ele 5/7] drivers/firmware/imx/ele_fw_api.c:311:9: error: cleanup argument not a function kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.