]> Git Repo - linux.git/commitdiff
drm/dp/mst: Always clear proposed vcpi table for port.
authorAndrey Grodzovsky <[email protected]>
Wed, 25 May 2016 20:45:43 +0000 (16:45 -0400)
committerDave Airlie <[email protected]>
Wed, 15 Jun 2016 01:14:36 +0000 (11:14 +1000)
Not clearing mst manager's proposed vcpis table for destroyed connectors when the manager is stopped leaves it pointing to unrefernced memory, this causes pagefault when the manager is restarted when plugging back a branch.

Fixes: 91a25e463130 ("drm/dp/mst: deallocate payload on port destruction")
Signed-off-by: Andrey Grodzovsky <[email protected]>
Reviewed-by: Lyude <[email protected]>
Cc: [email protected]
Cc: Mykola Lysenko <[email protected]>
Cc: Alex Deucher <[email protected]>
drivers/gpu/drm/drm_dp_mst_topology.c

index a13edf5de2d6daafc0e89849a6cdd1c324835345..6537908050d71b8e3efe2d5e6c60b5417957f0bf 100644 (file)
@@ -2927,11 +2927,9 @@ static void drm_dp_destroy_connector_work(struct work_struct *work)
                drm_dp_port_teardown_pdt(port, port->pdt);
 
                if (!port->input && port->vcpi.vcpi > 0) {
-                       if (mgr->mst_state) {
-                               drm_dp_mst_reset_vcpi_slots(mgr, port);
-                               drm_dp_update_payload_part1(mgr);
-                               drm_dp_mst_put_payload_id(mgr, port->vcpi.vcpi);
-                       }
+                       drm_dp_mst_reset_vcpi_slots(mgr, port);
+                       drm_dp_update_payload_part1(mgr);
+                       drm_dp_mst_put_payload_id(mgr, port->vcpi.vcpi);
                }
 
                kref_put(&port->kref, drm_dp_free_mst_port);
This page took 0.064835 seconds and 4 git commands to generate.