Merge drm/drm-next into drm-misc-next
[sfrench/cifs-2.6.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_connectors.c
index 8955c4fed8cbf74824f214b77dec5db7f08c082b..93160a849af4b22e072d3d746159bf67321d6f88 100644 (file)
@@ -717,8 +717,10 @@ amdgpu_connector_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) {
@@ -855,8 +857,10 @@ amdgpu_connector_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 = amdgpu_connector_best_single_encoder(connector);
@@ -978,8 +982,10 @@ amdgpu_connector_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 (!force && amdgpu_connector_check_hpd_status_unchanged(connector)) {
@@ -1329,8 +1335,10 @@ amdgpu_connector_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 && amdgpu_connector_check_hpd_status_unchanged(connector)) {