Re: [PATCH v4 2/2] mailbox: arm_mhuv3: Add driver

From: Cristian Marussi
Date: Mon Apr 15 2024 - 10:14:37 EST


On Mon, Apr 15, 2024 at 09:56:52PM +0800, kernel test robot wrote:
> Hi Cristian,
>
> kernel test robot noticed the following build errors:
>
> [auto build test ERROR on robh/for-next]
> [also build test ERROR on soc/for-next linus/master v6.9-rc4 next-20240415]
> [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/Cristian-Marussi/dt-bindings-mailbox-arm-mhuv3-Add-bindings/20240415-094106
> base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
> patch link: https://lore.kernel.org/r/20240412192801.554464-3-cristian.marussi%40arm.com
> patch subject: [PATCH v4 2/2] mailbox: arm_mhuv3: Add driver
> config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20240415/202404152144.RtJxmEsQ-lkp@xxxxxxxxx/config)
> compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240415/202404152144.RtJxmEsQ-lkp@xxxxxxxxx/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@xxxxxxxxx>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202404152144.RtJxmEsQ-lkp@xxxxxxxxx/
>
> All errors (new ones prefixed by >>):
>
> drivers/mailbox/arm_mhuv3.c: In function 'mhuv3_mbx_comb_interrupt':
> >> drivers/mailbox/arm_mhuv3.c:922:17: error: cleanup argument not a function
> 922 | void *data __free(kfree) = NULL;
> | ^~~~

Right, I suppose is missing slab.h to define kfree now that it is using
cleanup.h.

I'll fix in V5, after some more possible feedback comes in...

Thanks,
Cristian

>
>
> vim +922 drivers/mailbox/arm_mhuv3.c
>
> 910
> 911 static irqreturn_t mhuv3_mbx_comb_interrupt(int irq, void *arg)
> 912 {
> 913 unsigned int i, found = 0;
> 914 struct mhuv3 *mhu = arg;
> 915 struct mbox_chan *chan;
> 916 struct device *dev;
> 917 int ret = IRQ_NONE;
> 918
> 919 dev = mhu->mbox.dev;
> 920 for (i = 0; i < NUM_EXT; i++) {
> 921 struct mhuv3_mbox_chan_priv *priv;
> > 922 void *data __free(kfree) = NULL;
> 923
> 924 if (!mhu->ext[i])
> 925 continue;
> 926
> 927 /* Process any extension which could be source of the IRQ */
> 928 chan = mhu->ext[i]->chan_from_comb_irq_get(mhu);
> 929 if (IS_ERR(chan))
> 930 continue;
> 931
> 932 found++;
> 933 /* From here on we need to call rx_complete even on error */
> 934 priv = chan->con_priv;
> 935 if (!chan->cl) {
> 936 dev_warn(dev, "RX Data on UNBOUND channel (%u)\n",
> 937 priv->ch_idx);
> 938 goto rx_ack;
> 939 }
> 940
> 941 /* Read optional in-band LE data first. */
> 942 if (priv->ops->read_data) {
> 943 data = priv->ops->read_data(mhu, chan);
> 944 if (IS_ERR(data)) {
> 945 dev_err(dev,
> 946 "Failed to read in-band data. err:%ld\n",
> 947 PTR_ERR(no_free_ptr(data)));
> 948 goto rx_ack;
> 949 }
> 950 }
> 951
> 952 mbox_chan_received_data(chan, data);
> 953 ret = IRQ_HANDLED;
> 954
> 955 /*
> 956 * Acknowledge transfer after any possible optional
> 957 * out-of-band data has also been retrieved via
> 958 * mbox_chan_received_data().
> 959 */
> 960 rx_ack:
> 961 if (priv->ops->rx_complete)
> 962 priv->ops->rx_complete(mhu, chan);
> 963 }
> 964
> 965 if (found == 0)
> 966 dev_warn_once(dev, "Failed to find channel for the RX interrupt\n");
> 967
> 968 return ret;
> 969 }
> 970
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki