Hi, On Tue, Apr 12, 2022 at 07:04:57AM +0000, Miaoqian Lin wrote: > If the device is already in a runtime PM enabled state > pm_runtime_get_sync() will return 1, so a test for negative > value should be used to check for errors. > > Fixes: 4078f5757144 ("drm/vc4: Add DSI driver") > Signed-off-by: Miaoqian Lin > --- > drivers/gpu/drm/vc4/vc4_dsi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/vc4/vc4_dsi.c b/drivers/gpu/drm/vc4/vc4_dsi.c > index 752f921735c6..26aa7d1fa421 100644 > --- a/drivers/gpu/drm/vc4/vc4_dsi.c > +++ b/drivers/gpu/drm/vc4/vc4_dsi.c > @@ -847,7 +847,7 @@ static void vc4_dsi_encoder_enable(struct drm_encoder *encoder) > int ret; > > ret = pm_runtime_get_sync(dev); > - if (ret) { > + if (ret < 0) { > DRM_ERROR("Failed to runtime PM enable on DSI%d\n", dsi->variant->port); > return; > } We also don't put back our reference after an error. I think a better fix would be to switch to pm_runtime_resume_and_get. Maxime