From 95b5e38416174ac8243ce2b4d3e11299c77e9663 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 20 Feb 2024 10:11:20 +0100 Subject: [PATCH] 6.6-stable patches added patches: usb-typec-tpcm-fix-issues-with-power-being-removed-during-reset.patch --- queue-6.6/series | 1 + ...ith-power-being-removed-during-reset.patch | 49 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 queue-6.6/usb-typec-tpcm-fix-issues-with-power-being-removed-during-reset.patch diff --git a/queue-6.6/series b/queue-6.6/series index 2690f2bfe91..9e793f32a4c 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -135,6 +135,7 @@ xen-netback-properly-sync-tx-responses.patch um-fix-adding-no-pie-for-clang.patch linux-init-remove-__memexit-annotations.patch modpost-add-.ltext-and-.ltext.-to-text_sections.patch +usb-typec-tpcm-fix-issues-with-power-being-removed-during-reset.patch alsa-hda-realtek-enable-headset-mic-on-vaio-vjfe-adl.patch alsa-hda-realtek-add-speaker-pin-verbtable-for-dell-dual-speaker-platform.patch asoc-codecs-wcd938x-handle-deferred-probe.patch diff --git a/queue-6.6/usb-typec-tpcm-fix-issues-with-power-being-removed-during-reset.patch b/queue-6.6/usb-typec-tpcm-fix-issues-with-power-being-removed-during-reset.patch new file mode 100644 index 00000000000..0a9c51686dc --- /dev/null +++ b/queue-6.6/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