Message ID | 20220412070458.21819-1-linmq006@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/vc4: Fix pm_runtime_get_sync() error checking | expand |
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 <linmq006@gmail.com> > --- > 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
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; }
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 <linmq006@gmail.com> --- drivers/gpu/drm/vc4/vc4_dsi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)