From 7d84494cf872455e6955d78d521c84ca9a236a03 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 20 Feb 2024 10:11:51 +0100 Subject: [PATCH] 6.7-stable patches added patches: usb-typec-tpcm-fix-issues-with-power-being-removed-during-reset.patch --- queue-6.7/series | 1 + ...ith-power-being-removed-during-reset.patch | 49 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 queue-6.7/usb-typec-tpcm-fix-issues-with-power-being-removed-during-reset.patch diff --git a/queue-6.7/series b/queue-6.7/series index 2eb769736e5..5427ff679d8 100644 --- a/queue-6.7/series +++ b/queue-6.7/series @@ -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 index 00000000000..0a9c51686dc --- /dev/null +++ b/queue-6.7/usb-typec-tpcm-fix-issues-with-power-being-removed-during-reset.patch @@ -0,0 +1,49 @@ +From 69f89168b310878be82d7d97bc0d22068ad858c0 Mon Sep 17 00:00:00 2001 +From: Mark Brown +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 + +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 +Cc: Badhri Jagan Sridharan +Signed-off-by: Mark Brown +Acked-by: Heikki Krogerus +Reviewed-by: Guenter Roeck +Link: https://lore.kernel.org/r/20240212-usb-fix-renegade-v1-1-22c43c88d635@kernel.org +Signed-off-by: Greg Kroah-Hartman +--- + 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; -- 2.47.3