On Mon, Jun 15, 2020 at 3:27 AM Aditya Pakki <pakki001@xxxxxxx> wrote: > > On calling pm_runtime_get_sync() the reference count of the device > is incremented. In case of failure, decrement the > reference count before returning the error. Is this required if pm_runtime_get_sync() fails? Alex > > Signed-off-by: Aditya Pakki <pakki001@xxxxxxx> > --- > drivers/gpu/drm/radeon/radeon_connectors.c | 20 +++++++++++++++----- > 1 file changed, 15 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c > index fe12d9d91d7a..e30834434442 100644 > --- a/drivers/gpu/drm/radeon/radeon_connectors.c > +++ b/drivers/gpu/drm/radeon/radeon_connectors.c > @@ -879,8 +879,10 @@ radeon_lvds_detect(struct drm_connector *connector, bool force) > > if (!drm_kms_helper_is_poll_worker()) { > r = pm_runtime_get_sync(connector->dev->dev); > - if (r < 0) > + if (r < 0) { > + pm_runtime_put_autosuspend(connector->dev->dev); > return connector_status_disconnected; > + } > } > > if (encoder) { > @@ -1025,8 +1027,10 @@ radeon_vga_detect(struct drm_connector *connector, bool force) > > if (!drm_kms_helper_is_poll_worker()) { > r = pm_runtime_get_sync(connector->dev->dev); > - if (r < 0) > + if (r < 0) { > + pm_runtime_put_autosuspend(connector->dev->dev); > return connector_status_disconnected; > + } > } > > encoder = radeon_best_single_encoder(connector); > @@ -1163,8 +1167,10 @@ radeon_tv_detect(struct drm_connector *connector, bool force) > > if (!drm_kms_helper_is_poll_worker()) { > r = pm_runtime_get_sync(connector->dev->dev); > - if (r < 0) > + if (r < 0) { > + pm_runtime_put_autosuspend(connector->dev->dev); > return connector_status_disconnected; > + } > } > > encoder = radeon_best_single_encoder(connector); > @@ -1247,8 +1253,10 @@ radeon_dvi_detect(struct drm_connector *connector, bool force) > > if (!drm_kms_helper_is_poll_worker()) { > r = pm_runtime_get_sync(connector->dev->dev); > - if (r < 0) > + if (r < 0) { > + pm_runtime_put_autosuspend(connector->dev->dev); > return connector_status_disconnected; > + } > } > > if (radeon_connector->detected_hpd_without_ddc) { > @@ -1657,8 +1665,10 @@ radeon_dp_detect(struct drm_connector *connector, bool force) > > if (!drm_kms_helper_is_poll_worker()) { > r = pm_runtime_get_sync(connector->dev->dev); > - if (r < 0) > + if (r < 0) { > + pm_runtime_put_autosuspend(connector->dev->dev); > return connector_status_disconnected; > + } > } > > if (!force && radeon_check_hpd_status_unchanged(connector)) { > -- > 2.25.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel