Hi Arun,

> > On Thu, Mar 28, 2024 at 12:33:09PM +0200, Jani Nikula wrote:
> > > On Thu, 28 Mar 2024, Andi Shyti <andi.sh...@linux.intel.com> 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.

yes, but it's wrong to assume this will always be true.

> > > > 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.

Strictly speaking, coverity is right and if I have to choose, I'd
prefer your v1. v2, in my opinion, is wrong, even if it's more
nice and readable.

Thanks,
Andi

Reply via email to