]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.7-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Feb 2024 09:11:51 +0000 (10:11 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Feb 2024 09:11:51 +0000 (10:11 +0100)
added patches:
usb-typec-tpcm-fix-issues-with-power-being-removed-during-reset.patch

queue-6.7/series
queue-6.7/usb-typec-tpcm-fix-issues-with-power-being-removed-during-reset.patch [new file with mode: 0644]

index 2eb769736e590e8f6ec52106526ea46220ca516b..5427ff679d8ccfa708971e4dddb95c0b6ebea4a6 100644 (file)
@@ -306,3 +306,4 @@ tracing-fix-have_dynamic_ftrace_with_regs-ifdef.patch
 tracing-inform-kmemleak-of-saved_cmdlines-allocation.patch
 md-bypass-block-throttle-for-superblock-update.patch
 block-fix-partial-zone-append-completion-handling-in.patch
+usb-typec-tpcm-fix-issues-with-power-being-removed-during-reset.patch
diff --git a/queue-6.7/usb-typec-tpcm-fix-issues-with-power-being-removed-during-reset.patch b/queue-6.7/usb-typec-tpcm-fix-issues-with-power-being-removed-during-reset.patch
new file mode 100644 (file)
index 0000000..0a9c516
--- /dev/null
@@ -0,0 +1,49 @@
+From 69f89168b310878be82d7d97bc0d22068ad858c0 Mon Sep 17 00:00:00 2001
+From: Mark Brown <broonie@kernel.org>
+Date: Mon, 12 Feb 2024 18:42:13 +0000
+Subject: usb: typec: tpcm: Fix issues with power being removed during reset
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Mark Brown <broonie@kernel.org>
+
+commit 69f89168b310878be82d7d97bc0d22068ad858c0 upstream.
+
+Since the merge of b717dfbf73e8 ("Revert "usb: typec: tcpm: fix
+cc role at port reset"") into mainline the LibreTech Renegade
+Elite/Firefly has died during boot, the main symptom observed in testing
+is a sudden stop in console output.  Gábor Stefanik identified in review
+that the patch would cause power to be removed from devices without
+batteries (like this board), observing that while the patch is correct
+according to the spec this appears to be an oversight in the spec.
+
+Given that the change makes previously working systems unusable let's
+revert it, there was some discussion of identifying systems that have
+alternative power and implementing the standards conforming behaviour in
+only that case.
+
+Fixes: b717dfbf73e8 ("Revert "usb: typec: tcpm: fix cc role at port reset"")
+Cc: stable <stable@kernel.org>
+Cc: Badhri Jagan Sridharan <badhri@google.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
+Reviewed-by: Guenter Roeck <linux@roeck-us.net>
+Link: https://lore.kernel.org/r/20240212-usb-fix-renegade-v1-1-22c43c88d635@kernel.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/typec/tcpm/tcpm.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/usb/typec/tcpm/tcpm.c
++++ b/drivers/usb/typec/tcpm/tcpm.c
+@@ -4862,7 +4862,8 @@ static void run_state_machine(struct tcp
+               break;
+       case PORT_RESET:
+               tcpm_reset_port(port);
+-              tcpm_set_cc(port, TYPEC_CC_OPEN);
++              tcpm_set_cc(port, tcpm_default_state(port) == SNK_UNATTACHED ?
++                          TYPEC_CC_RD : tcpm_rp_cc(port));
+               tcpm_set_state(port, PORT_RESET_WAIT_OFF,
+                              PD_T_ERROR_RECOVERY);
+               break;