All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH 1/3] drm/i915: HDCP: fix Ri prime check done during link check
@ 2020-02-26  8:06 Oliver Barta
  2020-02-26  8:06 ` [Intel-gfx] [PATCH 2/3] drm/i915: HDCP: fix Ri prime and R0 checks during auth Oliver Barta
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Oliver Barta @ 2020-02-26  8:06 UTC (permalink / raw)
  To: intel-gfx, Jani Nikula, Joonas Lahtinen
  Cc: Daniel Vetter, Ravisankar Madasamy, Sean Paul, Oliver Barta

The check was always succeeding even in case of a mismatch
due to the HDCP_STATUS_ENC bit being set. Make sure both
bits are actually set.

Signed-off-by: Oliver Barta <oliver.barta@aptiv.com>
Fixes: 2320175feb74 ("drm/i915: Implement HDCP for HDMI")
---
 drivers/gpu/drm/i915/display/intel_hdmi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index 93ac0f296852..14912daad7ff 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -1526,7 +1526,8 @@ bool intel_hdmi_hdcp_check_link(struct intel_digital_port *intel_dig_port)
 	I915_WRITE(HDCP_RPRIME(dev_priv, cpu_transcoder, port), ri.reg);
 
 	/* Wait for Ri prime match */
-	if (wait_for(I915_READ(HDCP_STATUS(dev_priv, cpu_transcoder, port)) &
+	if (wait_for((I915_READ(HDCP_STATUS(dev_priv, cpu_transcoder, port)) &
+		     (HDCP_STATUS_RI_MATCH | HDCP_STATUS_ENC)) ==
 		     (HDCP_STATUS_RI_MATCH | HDCP_STATUS_ENC), 1)) {
 		DRM_ERROR("Ri' mismatch detected, link check failed (%x)\n",
 			  I915_READ(HDCP_STATUS(dev_priv, cpu_transcoder,
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] [PATCH 2/3] drm/i915: HDCP: fix Ri prime and R0 checks during auth
  2020-02-26  8:06 [Intel-gfx] [PATCH 1/3] drm/i915: HDCP: fix Ri prime check done during link check Oliver Barta
@ 2020-02-26  8:06 ` Oliver Barta
  2020-02-26  8:06 ` [Intel-gfx] [PATCH 3/3] drm/i915: HDCP: retry link integrity check on failure Oliver Barta
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Oliver Barta @ 2020-02-26  8:06 UTC (permalink / raw)
  To: intel-gfx, Jani Nikula, Joonas Lahtinen
  Cc: Daniel Vetter, Ravisankar Madasamy, Sean Paul, Oliver Barta

Including HDCP_STATUS_ENC bit in the checks is pointless.
It is simply not set at this point.

Signed-off-by: Oliver Barta <oliver.barta@aptiv.com>
Fixes: ee5e5e7a5e0f ("drm/i915: Add HDCP framework + base implementation")
---
 drivers/gpu/drm/i915/display/intel_hdcp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
index 0fdbd39f6641..9d7af15e128e 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -689,7 +689,7 @@ static int intel_hdcp_auth(struct intel_connector *connector)
 
 	/* Wait for R0 ready */
 	if (wait_for(I915_READ(HDCP_STATUS(dev_priv, cpu_transcoder, port)) &
-		     (HDCP_STATUS_R0_READY | HDCP_STATUS_ENC), 1)) {
+		     HDCP_STATUS_R0_READY, 1)) {
 		DRM_ERROR("Timed out waiting for R0 ready\n");
 		return -ETIMEDOUT;
 	}
@@ -721,7 +721,7 @@ static int intel_hdcp_auth(struct intel_connector *connector)
 		/* Wait for Ri prime match */
 		if (!wait_for(I915_READ(HDCP_STATUS(dev_priv, cpu_transcoder,
 						    port)) &
-		    (HDCP_STATUS_RI_MATCH | HDCP_STATUS_ENC), 1))
+		    HDCP_STATUS_RI_MATCH, 1))
 			break;
 	}
 
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] [PATCH 3/3] drm/i915: HDCP: retry link integrity check on failure
  2020-02-26  8:06 [Intel-gfx] [PATCH 1/3] drm/i915: HDCP: fix Ri prime check done during link check Oliver Barta
  2020-02-26  8:06 ` [Intel-gfx] [PATCH 2/3] drm/i915: HDCP: fix Ri prime and R0 checks during auth Oliver Barta
@ 2020-02-26  8:06 ` Oliver Barta
  2020-02-27  1:37 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for series starting with [1/3] drm/i915: HDCP: fix Ri prime check done during link check Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Oliver Barta @ 2020-02-26  8:06 UTC (permalink / raw)
  To: intel-gfx, Jani Nikula, Joonas Lahtinen
  Cc: Daniel Vetter, Ravisankar Madasamy, Sean Paul, Oliver Barta

A single Ri mismatch doesn't automatically mean that the
link integrity is broken. Update and check of Ri and Ri'
are done asynchronously. In case an update happens just
between the read of Ri' and the check against Ri there will
be a mismatch even if the link integrity is fine otherwise.

A failure can also be caused by transmission errors on DDC.

Signed-off-by: Oliver Barta <oliver.barta@aptiv.com>
---
 drivers/gpu/drm/i915/display/intel_hdmi.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index 14912daad7ff..5711745d0006 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -1505,7 +1505,7 @@ int intel_hdmi_hdcp_toggle_signalling(struct intel_digital_port *intel_dig_port,
 }
 
 static
-bool intel_hdmi_hdcp_check_link(struct intel_digital_port *intel_dig_port)
+bool intel_hdmi_hdcp_check_link_once(struct intel_digital_port *intel_dig_port)
 {
 	struct drm_i915_private *dev_priv =
 		intel_dig_port->base.base.dev->dev_private;
@@ -1529,7 +1529,7 @@ bool intel_hdmi_hdcp_check_link(struct intel_digital_port *intel_dig_port)
 	if (wait_for((I915_READ(HDCP_STATUS(dev_priv, cpu_transcoder, port)) &
 		     (HDCP_STATUS_RI_MATCH | HDCP_STATUS_ENC)) ==
 		     (HDCP_STATUS_RI_MATCH | HDCP_STATUS_ENC), 1)) {
-		DRM_ERROR("Ri' mismatch detected, link check failed (%x)\n",
+		DRM_DEBUG("Ri' mismatch detected (%x)\n",
 			  I915_READ(HDCP_STATUS(dev_priv, cpu_transcoder,
 						port)));
 		return false;
@@ -1537,6 +1537,19 @@ bool intel_hdmi_hdcp_check_link(struct intel_digital_port *intel_dig_port)
 	return true;
 }
 
+static
+bool intel_hdmi_hdcp_check_link(struct intel_digital_port *intel_dig_port)
+{
+	int retry;
+
+	for (retry = 0; retry < 3; retry++)
+		if (intel_hdmi_hdcp_check_link_once(intel_dig_port))
+			return true;
+
+	DRM_ERROR("Link check failed\n");
+	return false;
+}
+
 struct hdcp2_hdmi_msg_timeout {
 	u8 msg_id;
 	u16 timeout;
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.BUILD: failure for series starting with [1/3] drm/i915: HDCP: fix Ri prime check done during link check
  2020-02-26  8:06 [Intel-gfx] [PATCH 1/3] drm/i915: HDCP: fix Ri prime check done during link check Oliver Barta
  2020-02-26  8:06 ` [Intel-gfx] [PATCH 2/3] drm/i915: HDCP: fix Ri prime and R0 checks during auth Oliver Barta
  2020-02-26  8:06 ` [Intel-gfx] [PATCH 3/3] drm/i915: HDCP: retry link integrity check on failure Oliver Barta
@ 2020-02-27  1:37 ` Patchwork
  2020-02-28 16:18 ` [Intel-gfx] [PATCH v2 1/3] " Oliver Barta
  2020-02-28 19:44 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for series starting with [v2,3/3] drm/i915: HDCP: retry link integrity check on failure (rev3) Patchwork
  4 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2020-02-27  1:37 UTC (permalink / raw)
  To: Oliver Barta; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/3] drm/i915: HDCP: fix Ri prime check done during link check
URL   : https://patchwork.freedesktop.org/series/73961/
State : failure

== Summary ==

Applying: drm/i915: HDCP: fix Ri prime check done during link check
Using index info to reconstruct a base tree...
M	drivers/gpu/drm/i915/display/intel_hdmi.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/display/intel_hdmi.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/display/intel_hdmi.c
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0001 drm/i915: HDCP: fix Ri prime check done during link check
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] [PATCH v2 1/3] drm/i915: HDCP: fix Ri prime check done during link check
  2020-02-26  8:06 [Intel-gfx] [PATCH 1/3] drm/i915: HDCP: fix Ri prime check done during link check Oliver Barta
                   ` (2 preceding siblings ...)
  2020-02-27  1:37 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for series starting with [1/3] drm/i915: HDCP: fix Ri prime check done during link check Patchwork
@ 2020-02-28 16:18 ` Oliver Barta
  2020-02-28 16:18   ` [Intel-gfx] [PATCH v2 2/3] drm/i915: HDCP: fix Ri prime and R0 checks during auth Oliver Barta
  2020-02-28 16:18   ` [Intel-gfx] [PATCH v2 3/3] drm/i915: HDCP: retry link integrity check on failure Oliver Barta
  2020-02-28 19:44 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for series starting with [v2,3/3] drm/i915: HDCP: retry link integrity check on failure (rev3) Patchwork
  4 siblings, 2 replies; 8+ messages in thread
From: Oliver Barta @ 2020-02-28 16:18 UTC (permalink / raw)
  To: intel-gfx, Jani Nikula, Joonas Lahtinen
  Cc: Daniel Vetter, Ravisankar Madasamy, Sean Paul, Oliver Barta

From: Oliver Barta <oliver.barta@aptiv.com>

The check was always succeeding even in case of a mismatch due to the
HDCP_STATUS_ENC bit being set. Make sure both bits are actually set.

Signed-off-by: Oliver Barta <oliver.barta@aptiv.com>
Fixes: 2320175feb74 ("drm/i915: Implement HDCP for HDMI")
---
[v2] Rebased patch series from master to drm-intel-next-queued branch.

 drivers/gpu/drm/i915/display/intel_hdmi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index 0ac9bdfbc094..ac4276157182 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -1536,7 +1536,8 @@ bool intel_hdmi_hdcp_check_link(struct intel_digital_port *intel_dig_port)
 	intel_de_write(i915, HDCP_RPRIME(i915, cpu_transcoder, port), ri.reg);
 
 	/* Wait for Ri prime match */
-	if (wait_for(intel_de_read(i915, HDCP_STATUS(i915, cpu_transcoder, port)) &
+	if (wait_for((intel_de_read(i915, HDCP_STATUS(i915, cpu_transcoder,
+		     port)) & (HDCP_STATUS_RI_MATCH | HDCP_STATUS_ENC)) ==
 		     (HDCP_STATUS_RI_MATCH | HDCP_STATUS_ENC), 1)) {
 		DRM_ERROR("Ri' mismatch detected, link check failed (%x)\n",
 			  intel_de_read(i915, HDCP_STATUS(i915, cpu_transcoder, port)));
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] [PATCH v2 2/3] drm/i915: HDCP: fix Ri prime and R0 checks during auth
  2020-02-28 16:18 ` [Intel-gfx] [PATCH v2 1/3] " Oliver Barta
@ 2020-02-28 16:18   ` Oliver Barta
  2020-02-28 16:18   ` [Intel-gfx] [PATCH v2 3/3] drm/i915: HDCP: retry link integrity check on failure Oliver Barta
  1 sibling, 0 replies; 8+ messages in thread
From: Oliver Barta @ 2020-02-28 16:18 UTC (permalink / raw)
  To: intel-gfx, Jani Nikula, Joonas Lahtinen
  Cc: Daniel Vetter, Ravisankar Madasamy, Sean Paul, Oliver Barta

From: Oliver Barta <oliver.barta@aptiv.com>

Including HDCP_STATUS_ENC bit in the checks is pointless.
It is simply not set at this point.

Signed-off-by: Oliver Barta <oliver.barta@aptiv.com>
Fixes: ee5e5e7a5e0f ("drm/i915: Add HDCP framework + base implementation")
---
[v2] Rebased patch series from master to drm-intel-next-queued branch.

 drivers/gpu/drm/i915/display/intel_hdcp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
index 229b4e329864..89d035da95e7 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -705,7 +705,7 @@ static int intel_hdcp_auth(struct intel_connector *connector)
 
 	/* Wait for R0 ready */
 	if (wait_for(intel_de_read(dev_priv, HDCP_STATUS(dev_priv, cpu_transcoder, port)) &
-		     (HDCP_STATUS_R0_READY | HDCP_STATUS_ENC), 1)) {
+		     HDCP_STATUS_R0_READY, 1)) {
 		DRM_ERROR("Timed out waiting for R0 ready\n");
 		return -ETIMEDOUT;
 	}
@@ -738,7 +738,7 @@ static int intel_hdcp_auth(struct intel_connector *connector)
 
 		/* Wait for Ri prime match */
 		if (!wait_for(intel_de_read(dev_priv, HDCP_STATUS(dev_priv, cpu_transcoder, port)) &
-			      (HDCP_STATUS_RI_MATCH | HDCP_STATUS_ENC), 1))
+			      HDCP_STATUS_RI_MATCH, 1))
 			break;
 	}
 
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] [PATCH v2 3/3] drm/i915: HDCP: retry link integrity check on failure
  2020-02-28 16:18 ` [Intel-gfx] [PATCH v2 1/3] " Oliver Barta
  2020-02-28 16:18   ` [Intel-gfx] [PATCH v2 2/3] drm/i915: HDCP: fix Ri prime and R0 checks during auth Oliver Barta
@ 2020-02-28 16:18   ` Oliver Barta
  1 sibling, 0 replies; 8+ messages in thread
From: Oliver Barta @ 2020-02-28 16:18 UTC (permalink / raw)
  To: intel-gfx, Jani Nikula, Joonas Lahtinen
  Cc: Daniel Vetter, Ravisankar Madasamy, Sean Paul, Oliver Barta

From: Oliver Barta <oliver.barta@aptiv.com>

A single Ri mismatch doesn't automatically mean that the link integrity
is broken. Update and check of Ri and Ri' are done asynchronously. In
case an update happens just between the read of Ri' and the check against
Ri there will be a mismatch even if the link integrity is fine otherwise.
A failure can also be caused by transmission errors on DDC.

Signed-off-by: Oliver Barta <oliver.barta@aptiv.com>
---
[v2] Rebased patch series from master to drm-intel-next-queued branch.

 drivers/gpu/drm/i915/display/intel_hdmi.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index ac4276157182..296b4e1bb3c6 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -1516,7 +1516,7 @@ int intel_hdmi_hdcp_toggle_signalling(struct intel_digital_port *intel_dig_port,
 }
 
 static
-bool intel_hdmi_hdcp_check_link(struct intel_digital_port *intel_dig_port)
+bool intel_hdmi_hdcp_check_link_once(struct intel_digital_port *intel_dig_port)
 {
 	struct drm_i915_private *i915 = to_i915(intel_dig_port->base.base.dev);
 	struct intel_connector *connector =
@@ -1539,13 +1539,26 @@ bool intel_hdmi_hdcp_check_link(struct intel_digital_port *intel_dig_port)
 	if (wait_for((intel_de_read(i915, HDCP_STATUS(i915, cpu_transcoder,
 		     port)) & (HDCP_STATUS_RI_MATCH | HDCP_STATUS_ENC)) ==
 		     (HDCP_STATUS_RI_MATCH | HDCP_STATUS_ENC), 1)) {
-		DRM_ERROR("Ri' mismatch detected, link check failed (%x)\n",
+		DRM_DEBUG("Ri' mismatch detected (%x)\n",
 			  intel_de_read(i915, HDCP_STATUS(i915, cpu_transcoder, port)));
 		return false;
 	}
 	return true;
 }
 
+static
+bool intel_hdmi_hdcp_check_link(struct intel_digital_port *intel_dig_port)
+{
+	int retry;
+
+	for (retry = 0; retry < 3; retry++)
+		if (intel_hdmi_hdcp_check_link_once(intel_dig_port))
+			return true;
+
+	DRM_ERROR("Link check failed\n");
+	return false;
+}
+
 struct hdcp2_hdmi_msg_timeout {
 	u8 msg_id;
 	u16 timeout;
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.BUILD: failure for series starting with [v2,3/3] drm/i915: HDCP: retry link integrity check on failure (rev3)
  2020-02-26  8:06 [Intel-gfx] [PATCH 1/3] drm/i915: HDCP: fix Ri prime check done during link check Oliver Barta
                   ` (3 preceding siblings ...)
  2020-02-28 16:18 ` [Intel-gfx] [PATCH v2 1/3] " Oliver Barta
@ 2020-02-28 19:44 ` Patchwork
  4 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2020-02-28 19:44 UTC (permalink / raw)
  To: Oliver Barta; +Cc: intel-gfx

== Series Details ==

Series: series starting with [v2,3/3] drm/i915: HDCP: retry link integrity check on failure (rev3)
URL   : https://patchwork.freedesktop.org/series/73961/
State : failure

== Summary ==

Applying: drm/i915: HDCP: retry link integrity check on failure
error: sha1 information is lacking or useless (drivers/gpu/drm/i915/display/intel_hdmi.c).
error: could not build fake ancestor
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0001 drm/i915: HDCP: retry link integrity check on failure
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2020-02-28 19:44 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-26  8:06 [Intel-gfx] [PATCH 1/3] drm/i915: HDCP: fix Ri prime check done during link check Oliver Barta
2020-02-26  8:06 ` [Intel-gfx] [PATCH 2/3] drm/i915: HDCP: fix Ri prime and R0 checks during auth Oliver Barta
2020-02-26  8:06 ` [Intel-gfx] [PATCH 3/3] drm/i915: HDCP: retry link integrity check on failure Oliver Barta
2020-02-27  1:37 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for series starting with [1/3] drm/i915: HDCP: fix Ri prime check done during link check Patchwork
2020-02-28 16:18 ` [Intel-gfx] [PATCH v2 1/3] " Oliver Barta
2020-02-28 16:18   ` [Intel-gfx] [PATCH v2 2/3] drm/i915: HDCP: fix Ri prime and R0 checks during auth Oliver Barta
2020-02-28 16:18   ` [Intel-gfx] [PATCH v2 3/3] drm/i915: HDCP: retry link integrity check on failure Oliver Barta
2020-02-28 19:44 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for series starting with [v2,3/3] drm/i915: HDCP: retry link integrity check on failure (rev3) Patchwork

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.