Re: [PATCHv2] drm/xe/display: check for error on drmm_mutex_init

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jani,

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

At the end drmm_mutex_init() should make our life easier.

Andi



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux