Commit b752a271 authored by Andrey Grodzovsky's avatar Andrey Grodzovsky Committed by Greg Kroah-Hartman

drm/dp/mst: Always clear proposed vcpi table for port.

commit fd2d2bac upstream.

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: 91a25e46 ("drm/dp/mst: deallocate payload on port destruction")
Signed-off-by: default avatarAndrey Grodzovsky <Andrey.Grodzovsky@amd.com>
Reviewed-by: default avatarLyude <cpaul@redhat.com>
Cc: Mykola Lysenko <Mykola.Lysenko@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 83a6e52a
...@@ -2874,11 +2874,9 @@ static void drm_dp_destroy_connector_work(struct work_struct *work) ...@@ -2874,11 +2874,9 @@ static void drm_dp_destroy_connector_work(struct work_struct *work)
drm_dp_port_teardown_pdt(port, port->pdt); drm_dp_port_teardown_pdt(port, port->pdt);
if (!port->input && port->vcpi.vcpi > 0) { if (!port->input && port->vcpi.vcpi > 0) {
if (mgr->mst_state) { drm_dp_mst_reset_vcpi_slots(mgr, port);
drm_dp_mst_reset_vcpi_slots(mgr, port); drm_dp_update_payload_part1(mgr);
drm_dp_update_payload_part1(mgr); drm_dp_mst_put_payload_id(mgr, port->vcpi.vcpi);
drm_dp_mst_put_payload_id(mgr, port->vcpi.vcpi);
}
} }
kref_put(&port->kref, drm_dp_free_mst_port); kref_put(&port->kref, drm_dp_free_mst_port);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment