Re: [PATCH] firmware: arm_scmi: Make scmi core independent of transport type

From: Sudeep Holla
Date: Fri Jan 10 2020 - 07:22:35 EST


On Thu, Jan 09, 2020 at 02:46:13PM +0530, Viresh Kumar wrote:
> On 09-01-20, 09:18, Arnd Bergmann wrote:
> > > +static int mailbox_chan_free(int id, void *p, void *data)
> > > +{
> > > + struct scmi_chan_info *cinfo = p;
> > > + struct scmi_mailbox *smbox = cinfo->transport_info;
> > > +
> > > + if (!IS_ERR_OR_NULL(smbox->chan)) {
> > > + mbox_free_channel(smbox->chan);
> > > + cinfo->transport_info = NULL;
> > > + smbox->chan = NULL;
> > > + smbox->cinfo = NULL;
> > > + }
> >
> > There is something wrong if smbox->chan can be be one of
> > three things (a valid pointer, a NULL pointer, or an error value).
> >
> > I see this is a preexisting problem, but please add a patch to
> > make it consistently use either NULL pointers or error codes
> > and remove all instances of IS_ERR_OR_NULL() from this
> > subsystem.
>
> This isn't a subsystem problem actually. mbox_request_channel() never
> returns NULL on error.
>
> @Sudeep, do we really need the IS_ERR_OR_NULL() check in
> scmi_mbox_free_channel() helper ? Or can it just be IS_ERR() ?
>

It can be just IS_ERR, just not noticed it so far I believe.

--
Regards,
Sudeep