File tree Expand file tree Collapse file tree 1 file changed +14
-1
lines changed
drivers/gpu/drm/nouveau/dispnv50 Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -900,9 +900,22 @@ static enum drm_connector_status
900
900
nv50_mstc_detect (struct drm_connector * connector , bool force )
901
901
{
902
902
struct nv50_mstc * mstc = nv50_mstc (connector );
903
+ enum drm_connector_status conn_status ;
904
+ int ret ;
905
+
903
906
if (!mstc -> port )
904
907
return connector_status_disconnected ;
905
- return drm_dp_mst_detect_port (connector , mstc -> port -> mgr , mstc -> port );
908
+
909
+ ret = pm_runtime_get_sync (connector -> dev -> dev );
910
+ if (ret < 0 && ret != - EACCES )
911
+ return connector_status_disconnected ;
912
+
913
+ conn_status = drm_dp_mst_detect_port (connector , mstc -> port -> mgr ,
914
+ mstc -> port );
915
+
916
+ pm_runtime_mark_last_busy (connector -> dev -> dev );
917
+ pm_runtime_put_autosuspend (connector -> dev -> dev );
918
+ return conn_status ;
906
919
}
907
920
908
921
static void
You can’t perform that action at this time.
0 commit comments