From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-by2on0096.outbound.protection.outlook.com ([207.46.100.96]:34336 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751821AbcETDSu (ORCPT ); Thu, 19 May 2016 23:18:50 -0400 From: Andrey Grodzovsky To: CC: , , , Andrey Grodzovsky Subject: [PATCH] drm/dp/mst: Always clear proposed vcpi table for port. Date: Thu, 19 May 2016 23:18:37 -0400 Message-ID: <1463714317-14392-1-git-send-email-Andrey.Grodzovsky@amd.com> MIME-Version: 1.0 Content-Type: text/plain Sender: stable-owner@vger.kernel.org List-ID: 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. Signed-off-by: Andrey Grodzovsky --- drivers/gpu/drm/drm_dp_mst_topology.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c index 9971c46..cd6014b 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -2881,11 +2881,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); -- 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrey Grodzovsky Subject: [PATCH] drm/dp/mst: Always clear proposed vcpi table for port. Date: Thu, 19 May 2016 23:18:37 -0400 Message-ID: <1463714317-14392-1-git-send-email-Andrey.Grodzovsky@amd.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Sender: stable-owner@vger.kernel.org To: dri-devel@lists.freedesktop.org Cc: stable@vger.kernel.org, Mykola.Lysenko@amd.com, Alexander.Deucher@amd.com, Andrey Grodzovsky List-Id: dri-devel@lists.freedesktop.org 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. Signed-off-by: Andrey Grodzovsky --- drivers/gpu/drm/drm_dp_mst_topology.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c index 9971c46..cd6014b 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -2881,11 +2881,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); -- 1.9.1