drm: rcar-du: Fix a NULL vs IS_ERR() bug
authorDan Carpenter <error27@gmail.com>
Mon, 27 Feb 2023 10:06:59 +0000 (13:06 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 May 2023 14:03:11 +0000 (23:03 +0900)
[ Upstream commit 40f43730f43699ce8557e4fe59622d4f4b69f44a ]

The drmm_encoder_alloc() function returns error pointers.  It never
returns NULL.  Fix the check accordingly.

Fixes: 7a1adbd23990 ("drm: rcar-du: Use drmm_encoder_alloc() to manage encoder")
Signed-off-by: Dan Carpenter <error27@gmail.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/rcar-du/rcar_du_encoder.c

index b1787be..7ecec7b 100644 (file)
@@ -109,8 +109,8 @@ int rcar_du_encoder_init(struct rcar_du_device *rcdu,
        renc = drmm_encoder_alloc(&rcdu->ddev, struct rcar_du_encoder, base,
                                  &rcar_du_encoder_funcs, DRM_MODE_ENCODER_NONE,
                                  NULL);
-       if (!renc)
-               return -ENOMEM;
+       if (IS_ERR(renc))
+               return PTR_ERR(renc);
 
        renc->output = output;