All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/dp/mst: Always clear proposed vcpi table for port.
@ 2016-05-25 20:45 ` Andrey Grodzovsky
  0 siblings, 0 replies; 10+ messages in thread
From: Andrey Grodzovsky @ 2016-05-25 20:45 UTC (permalink / raw)
  To: dri-devel; +Cc: Andrey Grodzovsky, stable, Mykola Lysenko, Alex Deucher

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 <Andrey.Grodzovsky@amd.com>
Reviewed-by: Lyude <cpaul@redhat.com>
Cc: stable@vger.kernel.org
Cc: Mykola Lysenko <Mykola.Lysenko@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>

---
 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


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH] drm/dp/mst: Always clear proposed vcpi table for port.
@ 2016-05-25 20:45 ` Andrey Grodzovsky
  0 siblings, 0 replies; 10+ messages in thread
From: Andrey Grodzovsky @ 2016-05-25 20:45 UTC (permalink / raw)
  To: dri-devel; +Cc: Andrey Grodzovsky, stable, Mykola Lysenko, Alex Deucher

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 <Andrey.Grodzovsky@amd.com>
Reviewed-by: Lyude <cpaul@redhat.com>
Cc: stable@vger.kernel.org
Cc: Mykola Lysenko <Mykola.Lysenko@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>

---
 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

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] drm/dp/mst: Always clear proposed vcpi table for port.
  2016-05-25 16:08 ` Andrey Grodzovsky
  (?)
@ 2016-05-25 18:19 ` Greg KH
  -1 siblings, 0 replies; 10+ messages in thread
From: Greg KH @ 2016-05-25 18:19 UTC (permalink / raw)
  To: Andrey Grodzovsky; +Cc: dri-devel, stable, Mykola.Lysenko, Alexander.Deucher

On Wed, May 25, 2016 at 12:08:23PM -0400, Andrey Grodzovsky wrote:
> 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 <Andrey.Grodzovsky@amd.com>
> Reviewed-by: Lyude <cpaul@redhat.com>
> 

<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree.  Please read Documentation/stable_kernel_rules.txt
for how to do this properly.

</formletter>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH] drm/dp/mst: Always clear proposed vcpi table for port.
@ 2016-05-25 16:08 ` Andrey Grodzovsky
  0 siblings, 0 replies; 10+ messages in thread
From: Andrey Grodzovsky @ 2016-05-25 16:08 UTC (permalink / raw)
  To: dri-devel; +Cc: stable, Mykola.Lysenko, Alexander.Deucher, Andrey Grodzovsky

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 <Andrey.Grodzovsky@amd.com>
Reviewed-by: Lyude <cpaul@redhat.com>

---
 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


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH] drm/dp/mst: Always clear proposed vcpi table for port.
@ 2016-05-25 16:08 ` Andrey Grodzovsky
  0 siblings, 0 replies; 10+ messages in thread
From: Andrey Grodzovsky @ 2016-05-25 16:08 UTC (permalink / raw)
  To: dri-devel; +Cc: Alexander.Deucher, Andrey Grodzovsky, Mykola.Lysenko, stable

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 <Andrey.Grodzovsky@amd.com>
Reviewed-by: Lyude <cpaul@redhat.com>

---
 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

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] drm/dp/mst: Always clear proposed vcpi table for port.
  2016-05-20  3:18 ` Andrey Grodzovsky
  (?)
  (?)
@ 2016-05-24 15:00 ` Lyude Paul
  -1 siblings, 0 replies; 10+ messages in thread
From: Lyude Paul @ 2016-05-24 15:00 UTC (permalink / raw)
  To: Andrey Grodzovsky, dri-devel; +Cc: Alexander.Deucher, Mykola.Lysenko, stable

Looks good to me.

Reviewed-by: Lyude <cpaul@redhat.com>

On Thu, 2016-05-19 at 23:18 -0400, Andrey Grodzovsky wrote:
> 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 <Andrey.Grodzovsky@amd.com>
> ---
>  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);

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] drm/dp/mst: Always clear proposed vcpi table for port.
  2016-05-20  3:18 ` Andrey Grodzovsky
@ 2016-05-23  8:38   ` Jani Nikula
  -1 siblings, 0 replies; 10+ messages in thread
From: Jani Nikula @ 2016-05-23  8:38 UTC (permalink / raw)
  To: Andrey Grodzovsky, dri-devel
  Cc: Alexander.Deucher, Andrey Grodzovsky, Mykola.Lysenko, stable,
	Harry Wentland, Dave Airlie, Lyude


Added some folks to Cc.

On Fri, 20 May 2016, Andrey Grodzovsky <Andrey.Grodzovsky@amd.com> wrote:
> 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.

You should list the relevant Cc's here too, and note where the bug was
introduced. A quick glance suggests

Fixes: 91a25e463130 ("drm/dp/mst: deallocate payload on port destruction")

but Mykola hopefully knows better.

BR,
Jani.

> Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
> ---
>  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);

-- 
Jani Nikula, Intel Open Source Technology Center

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] drm/dp/mst: Always clear proposed vcpi table for port.
@ 2016-05-23  8:38   ` Jani Nikula
  0 siblings, 0 replies; 10+ messages in thread
From: Jani Nikula @ 2016-05-23  8:38 UTC (permalink / raw)
  To: dri-devel
  Cc: Alexander.Deucher, Andrey Grodzovsky, Mykola.Lysenko, stable,
	Harry Wentland, Dave Airlie, Lyude


Added some folks to Cc.

On Fri, 20 May 2016, Andrey Grodzovsky <Andrey.Grodzovsky@amd.com> wrote:
> 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.

You should list the relevant Cc's here too, and note where the bug was
introduced. A quick glance suggests

Fixes: 91a25e463130 ("drm/dp/mst: deallocate payload on port destruction")

but Mykola hopefully knows better.

BR,
Jani.

> Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
> ---
>  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);

-- 
Jani Nikula, Intel Open Source Technology Center

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH] drm/dp/mst: Always clear proposed vcpi table for port.
@ 2016-05-20  3:18 ` Andrey Grodzovsky
  0 siblings, 0 replies; 10+ messages in thread
From: Andrey Grodzovsky @ 2016-05-20  3:18 UTC (permalink / raw)
  To: dri-devel; +Cc: stable, Mykola.Lysenko, Alexander.Deucher, Andrey Grodzovsky

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 <Andrey.Grodzovsky@amd.com>
---
 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


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH] drm/dp/mst: Always clear proposed vcpi table for port.
@ 2016-05-20  3:18 ` Andrey Grodzovsky
  0 siblings, 0 replies; 10+ messages in thread
From: Andrey Grodzovsky @ 2016-05-20  3:18 UTC (permalink / raw)
  To: dri-devel; +Cc: stable, Mykola.Lysenko, Alexander.Deucher, Andrey Grodzovsky

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 <Andrey.Grodzovsky@amd.com>
---
 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

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-05-25 20:47 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-25 20:45 [PATCH] drm/dp/mst: Always clear proposed vcpi table for port Andrey Grodzovsky
2016-05-25 20:45 ` Andrey Grodzovsky
  -- strict thread matches above, loose matches on Subject: below --
2016-05-25 16:08 Andrey Grodzovsky
2016-05-25 16:08 ` Andrey Grodzovsky
2016-05-25 18:19 ` Greg KH
2016-05-20  3:18 Andrey Grodzovsky
2016-05-20  3:18 ` Andrey Grodzovsky
2016-05-23  8:38 ` Jani Nikula
2016-05-23  8:38   ` Jani Nikula
2016-05-24 15:00 ` Lyude Paul

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.