All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.