> -----Original Message-----
> From: Andi Shyti <[email protected]>
> Sent: Thursday, March 28, 2024 4:16 PM
> To: Jani Nikula <[email protected]>
> Cc: Andi Shyti <[email protected]>; Murthy, Arun R
> <[email protected]>; [email protected]; intel-
> [email protected]
> Subject: Re: [PATCHv2] drm/xe/display: check for error on drmm_mutex_init
> 
> Hi Jani,
> 
> On Thu, Mar 28, 2024 at 12:33:09PM +0200, Jani Nikula wrote:
> > On Thu, 28 Mar 2024, Andi Shyti <[email protected]> wrote:
> > >> -        drmm_mutex_init(&xe->drm, &xe->sb_lock);
> > >> -        drmm_mutex_init(&xe->drm, &xe->display.backlight.lock);
> > >> -        drmm_mutex_init(&xe->drm, &xe->display.audio.mutex);
> > >> -        drmm_mutex_init(&xe->drm, &xe->display.wm.wm_mutex);
> > >> -        drmm_mutex_init(&xe->drm, &xe->display.pps.mutex);
> > >> -        drmm_mutex_init(&xe->drm, &xe->display.hdcp.hdcp_mutex);
> > >> +        if (drmm_mutex_init(&xe->drm, &xe->sb_lock) ||
> > >> +            drmm_mutex_init(&xe->drm, &xe->display.backlight.lock) ||
> > >> +            drmm_mutex_init(&xe->drm, &xe->display.audio.mutex) ||
> > >> +            drmm_mutex_init(&xe->drm, &xe->display.wm.wm_mutex) ||
> > >> +            drmm_mutex_init(&xe->drm, &xe->display.pps.mutex) ||
> > >> +            drmm_mutex_init(&xe->drm, &xe->display.hdcp.hdcp_mutex))
> > >> +                return -ENOMEM;
> > >
> > > why not extract the value from drmm_mutex_init()? it would make the
> > > code a bit more complex, but better than forcing a -ENOMEM return.
> > >
> > >   err = drmm_mutex_init(...)
> > >   if (err)
> > >           return err;
> > >
> > >   err = drmm_mutex_init(...)
> > >   if (err)
> > >           return err;
> > >
> > >   err = drmm_mutex_init(...)
> > >   if (err)
> > >           return err;
> > >
> > >   ...
> > >
> > > On the other hand drmm_mutex_init(), as of now returns only -ENOMEM,

The function is also returning -ENOMEM and there is no other error code 
returned from the error.

> > > but it's a bad practice to assume it will always do. I'd rather
> > > prefer not to check the error value at all.
> >
> > And round and round we go. This is exactly what v1 was [1], but it's
> > not clear because the patch doesn't have a changelog.
> 
> ha! funny! I missed v1.
> 
> > This is all utterly ridiculous compared to *why* we even have or use
> > drmm_mutex_init(). Managed initialization causes more trouble here
> > than it gains us. Gah.
> 
> As I wrote here:
> 
> > > I'd rather prefer not to check the error value at all.
> 
> we could rather drop this patch. Checking the error value is always good, but
> checking implausible errors with this price is not really worth it.

This is reported as error from Coverity. My suggestion was also to discard this 
error from Coverity but the same API used in other places in our driver is 
considering the return value.

Thanks and Regards,
Arun R Murthy
--------------------
> 
> At the end drmm_mutex_init() should make our life easier.
> 
> Andi

Reply via email to