Check return value for drmm_mutex_init as it can fail and return on
failure.

Signed-off-by: Arun R Murthy <arun.r.mur...@intel.com>
---
 drivers/gpu/drm/xe/display/xe_display.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/xe/display/xe_display.c 
b/drivers/gpu/drm/xe/display/xe_display.c
index e4db069f0db3..ac2e58d1fa82 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -107,12 +107,14 @@ int xe_display_create(struct xe_device *xe)
 
        xe->display.hotplug.dp_wq = alloc_ordered_workqueue("xe-dp", 0);
 
-       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;
+
        xe->enabled_irq_mask = ~0;
 
        err = drmm_add_action_or_reset(&xe->drm, display_destroy, NULL);
-- 
2.25.1

Reply via email to