From: Greg Kroah-Hartman Date: Wed, 13 May 2026 12:03:37 +0000 (+0200) Subject: drop a bunch of broken patches X-Git-Tag: v6.12.88~11 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3ea0cc5e860f4e332c4584ea8a068e2cb1a11d44;p=thirdparty%2Fkernel%2Fstable-queue.git drop a bunch of broken patches --- diff --git a/queue-6.12/riscv-kvm-fix-vector-context-allocation-leak.patch b/queue-6.12/riscv-kvm-fix-vector-context-allocation-leak.patch deleted file mode 100644 index 79191b34e0..0000000000 --- a/queue-6.12/riscv-kvm-fix-vector-context-allocation-leak.patch +++ /dev/null @@ -1,39 +0,0 @@ -From b7c958d7c1eb1cb9b2be7b5ee4129fcd66cec978 Mon Sep 17 00:00:00 2001 -From: Osama Abdelkader -Date: Mon, 16 Mar 2026 16:16:11 +0100 -Subject: riscv: kvm: fix vector context allocation leak - -From: Osama Abdelkader - -commit b7c958d7c1eb1cb9b2be7b5ee4129fcd66cec978 upstream. - -When the second kzalloc (host_context.vector.datap) fails in -kvm_riscv_vcpu_alloc_vector_context, the first allocation -(guest_context.vector.datap) is leaked. Free it before returning. - -Fixes: 0f4b82579716 ("riscv: KVM: Add vector lazy save/restore support") -Cc: stable@vger.kernel.org -Signed-off-by: Osama Abdelkader -Reviewed-by: Andy Chiu -Link: https://lore.kernel.org/r/20260316151612.13305-1-osama.abdelkader@gmail.com -Signed-off-by: Anup Patel -Signed-off-by: Greg Kroah-Hartman ---- - arch/riscv/kvm/vcpu_vector.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- a/arch/riscv/kvm/vcpu_vector.c -+++ b/arch/riscv/kvm/vcpu_vector.c -@@ -79,8 +79,11 @@ int kvm_riscv_vcpu_alloc_vector_context( - cntx->vector.vlenb = riscv_v_vsize / 32; - - vcpu->arch.host_context.vector.datap = kzalloc(riscv_v_vsize, GFP_KERNEL); -- if (!vcpu->arch.host_context.vector.datap) -+ if (!vcpu->arch.host_context.vector.datap) { -+ kfree(vcpu->arch.guest_context.vector.datap); -+ vcpu->arch.guest_context.vector.datap = NULL; - return -ENOMEM; -+ } - - return 0; - } diff --git a/queue-6.12/series b/queue-6.12/series index c430c7df1e..18c4aae6fe 100644 --- a/queue-6.12/series +++ b/queue-6.12/series @@ -43,7 +43,6 @@ usb-usblp-fix-uninitialized-heap-leak-via-lpgetstatus-ioctl.patch alsa-usb-audio-midi2-restart-output-urbs-on-resume.patch alsa-usb-audio-avoid-potential-endless-loop-in-convert_chmap_v3.patch alsa-usb-audio-fix-uac3-cluster-descriptor-size-check.patch -usb-typec-tcpm-reset-internal-port-states-on-soft-reset-ams.patch usb-omap_udc-dma-don-t-enable-burst-4-mode.patch usb-serial-option-add-telit-cinterion-le910cx-compositions.patch usb-ulpi-fix-memory-leak-on-ulpi_register-error-paths.patch @@ -132,7 +131,6 @@ nvmet-avoid-recursive-nvmet-wq-flush-in-nvmet_ctrl_free.patch openvswitch-vport-fix-self-deadlock-on-release-of-tunnel-ports.patch pmdomain-core-fix-detach-procedure-for-virtual-devices-in-genpd.patch rdma-hns-fix-unlocked-call-to-hns_roce_qp_remove.patch -riscv-kvm-fix-vector-context-allocation-leak.patch s390-debug-reject-zero-length-input-in-debug_input_flush_fn.patch smb-client-fix-out-of-bounds-read-in-smb2_compound_op.patch smb-client-fix-out-of-bounds-read-in-symlink_data.patch diff --git a/queue-6.12/usb-typec-tcpm-reset-internal-port-states-on-soft-reset-ams.patch b/queue-6.12/usb-typec-tcpm-reset-internal-port-states-on-soft-reset-ams.patch deleted file mode 100644 index 2b70c9120c..0000000000 --- a/queue-6.12/usb-typec-tcpm-reset-internal-port-states-on-soft-reset-ams.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 2909f0d4994fb4306bf116df5ccee797791fce2c Mon Sep 17 00:00:00 2001 -From: Amit Sunil Dhamne -Date: Tue, 14 Apr 2026 00:58:32 +0000 -Subject: usb: typec: tcpm: reset internal port states on soft reset AMS - -From: Amit Sunil Dhamne - -commit 2909f0d4994fb4306bf116df5ccee797791fce2c upstream. - -Reset internal port states (such as vdm_sm_running and -explicit_contract) on soft reset AMS as the port needs to negotiate a -new contract. The consequence of leaving the states in as-is cond are as -follows: - * port is in SRC power role and an explicit contract is negotiated - with the port partner (in sink role) - * port partner sends a Soft Reset AMS while VDM State Machine is - running - * port accepts the Soft Reset request and the port advertises src caps - * port partner sends a Request message but since the explicit_contract - and vdm_sm_running are true from previous negotiation, the port ends - up sending Soft Reset instead of Accept msg. - -Stub Log: -[ 203.653942] AMS DISCOVER_IDENTITY start -[ 203.653947] PD TX, header: 0x176f -[ 203.655901] PD TX complete, status: 0 -[ 203.657470] PD RX, header: 0x124f [1] -[ 203.657477] Rx VDM cmd 0xff008081 type 2 cmd 1 len 1 -[ 203.657482] AMS DISCOVER_IDENTITY finished -[ 203.657484] cc:=4 -[ 204.155698] PD RX, header: 0x144f [1] -[ 204.155718] Rx VDM cmd 0xeeee8001 type 0 cmd 1 len 1 -[ 204.155741] PD TX, header: 0x196f -[ 204.157622] PD TX complete, status: 0 -[ 204.160060] PD RX, header: 0x4d [1] -[ 204.160066] state change SRC_READY -> SOFT_RESET [rev2 SOFT_RESET_AMS] -[ 204.160076] PD TX, header: 0x163 -[ 204.162486] PD TX complete, status: 0 -[ 204.162832] AMS SOFT_RESET_AMS finished -[ 204.162840] cc:=4 -[ 204.162891] AMS POWER_NEGOTIATION start -[ 204.162896] state change SOFT_RESET -> AMS_START [rev2 POWER_NEGOTIATION] -[ 204.162908] state change AMS_START -> SRC_SEND_CAPABILITIES [rev2 POWER_NEGOTIATION] -[ 204.162913] PD TX, header: 0x1361 -[ 204.165529] PD TX complete, status: 0 -[ 204.165571] pending state change SRC_SEND_CAPABILITIES -> SRC_SEND_CAPABILITIES_TIMEOUT @ 60 ms [rev2 POWER_NEGOTIATION] -[ 204.166996] PD RX, header: 0x1242 [1] -[ 204.167009] state change SRC_SEND_CAPABILITIES -> SRC_SOFT_RESET_WAIT_SNK_TX [rev2 POWER_NEGOTIATION] -[ 204.167019] AMS POWER_NEGOTIATION finished -[ 204.167020] cc:=4 -[ 204.167083] AMS SOFT_RESET_AMS start -[ 204.167086] state change SRC_SOFT_RESET_WAIT_SNK_TX -> SOFT_RESET_SEND [rev2 SOFT_RESET_AMS] -[ 204.167092] PD TX, header: 0x16d -[ 204.168824] PD TX complete, status: 0 -[ 204.168854] pending state change SOFT_RESET_SEND -> HARD_RESET_SEND @ 60 ms [rev2 SOFT_RESET_AMS] -[ 204.171876] PD RX, header: 0x43 [1] -[ 204.171879] AMS SOFT_RESET_AMS finished - -This causes COMMON.PROC.PD.11.2 check failure for -TEST.PD.VDM.SRC.2_Rev2Src test on the PD compliance tester. - -Signed-off-by: Amit Sunil Dhamne -Fixes: 8d3a0578ad1a ("usb: typec: tcpm: Respond Wait if VDM state machine is running") -Fixes: f0690a25a140 ("staging: typec: USB Type-C Port Manager (tcpm)") -Cc: stable -Reviewed-by: Badhri Jagan Sridharan -Acked-by: Heikki Krogerus -Link: https://patch.msgid.link/20260414-fix-soft-reset-v1-1-01d7cb9764e2@google.com -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Greg Kroah-Hartman ---- - drivers/usb/typec/tcpm/tcpm.c | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/drivers/usb/typec/tcpm/tcpm.c -+++ b/drivers/usb/typec/tcpm/tcpm.c -@@ -5614,6 +5614,8 @@ static void run_state_machine(struct tcp - - case VCONN_SWAP_ACCEPT: - tcpm_pd_send_control(port, PD_CTRL_ACCEPT, TCPC_TX_SOP); -+ port->vdm_sm_running = false; -+ port->explicit_contract = false; - tcpm_ams_finish(port); - tcpm_set_state(port, VCONN_SWAP_START, 0); - break; diff --git a/queue-6.18/series b/queue-6.18/series index 77395408cd..3fb0f8f96b 100644 --- a/queue-6.18/series +++ b/queue-6.18/series @@ -40,7 +40,6 @@ usb-usblp-fix-uninitialized-heap-leak-via-lpgetstatus-ioctl.patch alsa-usb-audio-midi2-restart-output-urbs-on-resume.patch alsa-usb-audio-avoid-potential-endless-loop-in-convert_chmap_v3.patch alsa-usb-audio-fix-uac3-cluster-descriptor-size-check.patch -usb-typec-tcpm-reset-internal-port-states-on-soft-reset-ams.patch usb-omap_udc-dma-don-t-enable-burst-4-mode.patch usb-serial-option-add-telit-cinterion-le910cx-compositions.patch usb-ulpi-fix-memory-leak-on-ulpi_register-error-paths.patch diff --git a/queue-6.18/usb-typec-tcpm-fix-debug-accessory-mode-detection-for-sink-ports.patch b/queue-6.18/usb-typec-tcpm-fix-debug-accessory-mode-detection-for-sink-ports.patch index e811cee505..7d95c4e5f6 100644 --- a/queue-6.18/usb-typec-tcpm-fix-debug-accessory-mode-detection-for-sink-ports.patch +++ b/queue-6.18/usb-typec-tcpm-fix-debug-accessory-mode-detection-for-sink-ports.patch @@ -88,7 +88,7 @@ Signed-off-by: Greg Kroah-Hartman tcpm_set_state(port, DEBUG_ACC_ATTACHED, PD_T_CC_DEBOUNCE); else if (tcpm_port_is_audio(port)) -@@ -5950,10 +5955,10 @@ static void _tcpm_cc_change(struct tcpm_ +@@ -5948,10 +5953,10 @@ static void _tcpm_cc_change(struct tcpm_ switch (port->state) { case TOGGLING: @@ -101,7 +101,7 @@ Signed-off-by: Greg Kroah-Hartman tcpm_set_state(port, SNK_ATTACH_WAIT, 0); break; case CHECK_CONTAMINANT: -@@ -5961,9 +5966,11 @@ static void _tcpm_cc_change(struct tcpm_ +@@ -5959,9 +5964,11 @@ static void _tcpm_cc_change(struct tcpm_ break; case SRC_UNATTACHED: case ACC_UNATTACHED: @@ -114,7 +114,7 @@ Signed-off-by: Greg Kroah-Hartman break; case SRC_ATTACH_WAIT: if (tcpm_port_is_disconnected(port) || -@@ -5985,7 +5992,7 @@ static void _tcpm_cc_change(struct tcpm_ +@@ -5983,7 +5990,7 @@ static void _tcpm_cc_change(struct tcpm_ } break; case SNK_UNATTACHED: diff --git a/queue-6.18/usb-typec-tcpm-reset-internal-port-states-on-soft-reset-ams.patch b/queue-6.18/usb-typec-tcpm-reset-internal-port-states-on-soft-reset-ams.patch deleted file mode 100644 index 6d1f38157d..0000000000 --- a/queue-6.18/usb-typec-tcpm-reset-internal-port-states-on-soft-reset-ams.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 2909f0d4994fb4306bf116df5ccee797791fce2c Mon Sep 17 00:00:00 2001 -From: Amit Sunil Dhamne -Date: Tue, 14 Apr 2026 00:58:32 +0000 -Subject: usb: typec: tcpm: reset internal port states on soft reset AMS - -From: Amit Sunil Dhamne - -commit 2909f0d4994fb4306bf116df5ccee797791fce2c upstream. - -Reset internal port states (such as vdm_sm_running and -explicit_contract) on soft reset AMS as the port needs to negotiate a -new contract. The consequence of leaving the states in as-is cond are as -follows: - * port is in SRC power role and an explicit contract is negotiated - with the port partner (in sink role) - * port partner sends a Soft Reset AMS while VDM State Machine is - running - * port accepts the Soft Reset request and the port advertises src caps - * port partner sends a Request message but since the explicit_contract - and vdm_sm_running are true from previous negotiation, the port ends - up sending Soft Reset instead of Accept msg. - -Stub Log: -[ 203.653942] AMS DISCOVER_IDENTITY start -[ 203.653947] PD TX, header: 0x176f -[ 203.655901] PD TX complete, status: 0 -[ 203.657470] PD RX, header: 0x124f [1] -[ 203.657477] Rx VDM cmd 0xff008081 type 2 cmd 1 len 1 -[ 203.657482] AMS DISCOVER_IDENTITY finished -[ 203.657484] cc:=4 -[ 204.155698] PD RX, header: 0x144f [1] -[ 204.155718] Rx VDM cmd 0xeeee8001 type 0 cmd 1 len 1 -[ 204.155741] PD TX, header: 0x196f -[ 204.157622] PD TX complete, status: 0 -[ 204.160060] PD RX, header: 0x4d [1] -[ 204.160066] state change SRC_READY -> SOFT_RESET [rev2 SOFT_RESET_AMS] -[ 204.160076] PD TX, header: 0x163 -[ 204.162486] PD TX complete, status: 0 -[ 204.162832] AMS SOFT_RESET_AMS finished -[ 204.162840] cc:=4 -[ 204.162891] AMS POWER_NEGOTIATION start -[ 204.162896] state change SOFT_RESET -> AMS_START [rev2 POWER_NEGOTIATION] -[ 204.162908] state change AMS_START -> SRC_SEND_CAPABILITIES [rev2 POWER_NEGOTIATION] -[ 204.162913] PD TX, header: 0x1361 -[ 204.165529] PD TX complete, status: 0 -[ 204.165571] pending state change SRC_SEND_CAPABILITIES -> SRC_SEND_CAPABILITIES_TIMEOUT @ 60 ms [rev2 POWER_NEGOTIATION] -[ 204.166996] PD RX, header: 0x1242 [1] -[ 204.167009] state change SRC_SEND_CAPABILITIES -> SRC_SOFT_RESET_WAIT_SNK_TX [rev2 POWER_NEGOTIATION] -[ 204.167019] AMS POWER_NEGOTIATION finished -[ 204.167020] cc:=4 -[ 204.167083] AMS SOFT_RESET_AMS start -[ 204.167086] state change SRC_SOFT_RESET_WAIT_SNK_TX -> SOFT_RESET_SEND [rev2 SOFT_RESET_AMS] -[ 204.167092] PD TX, header: 0x16d -[ 204.168824] PD TX complete, status: 0 -[ 204.168854] pending state change SOFT_RESET_SEND -> HARD_RESET_SEND @ 60 ms [rev2 SOFT_RESET_AMS] -[ 204.171876] PD RX, header: 0x43 [1] -[ 204.171879] AMS SOFT_RESET_AMS finished - -This causes COMMON.PROC.PD.11.2 check failure for -TEST.PD.VDM.SRC.2_Rev2Src test on the PD compliance tester. - -Signed-off-by: Amit Sunil Dhamne -Fixes: 8d3a0578ad1a ("usb: typec: tcpm: Respond Wait if VDM state machine is running") -Fixes: f0690a25a140 ("staging: typec: USB Type-C Port Manager (tcpm)") -Cc: stable -Reviewed-by: Badhri Jagan Sridharan -Acked-by: Heikki Krogerus -Link: https://patch.msgid.link/20260414-fix-soft-reset-v1-1-01d7cb9764e2@google.com -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Greg Kroah-Hartman ---- - drivers/usb/typec/tcpm/tcpm.c | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/drivers/usb/typec/tcpm/tcpm.c -+++ b/drivers/usb/typec/tcpm/tcpm.c -@@ -5728,6 +5728,8 @@ static void run_state_machine(struct tcp - - case VCONN_SWAP_ACCEPT: - tcpm_pd_send_control(port, PD_CTRL_ACCEPT, TCPC_TX_SOP); -+ port->vdm_sm_running = false; -+ port->explicit_contract = false; - tcpm_ams_finish(port); - tcpm_set_state(port, VCONN_SWAP_START, 0); - break; diff --git a/queue-6.6/riscv-kvm-fix-vector-context-allocation-leak.patch b/queue-6.6/riscv-kvm-fix-vector-context-allocation-leak.patch deleted file mode 100644 index 085f5f5e38..0000000000 --- a/queue-6.6/riscv-kvm-fix-vector-context-allocation-leak.patch +++ /dev/null @@ -1,39 +0,0 @@ -From b7c958d7c1eb1cb9b2be7b5ee4129fcd66cec978 Mon Sep 17 00:00:00 2001 -From: Osama Abdelkader -Date: Mon, 16 Mar 2026 16:16:11 +0100 -Subject: riscv: kvm: fix vector context allocation leak - -From: Osama Abdelkader - -commit b7c958d7c1eb1cb9b2be7b5ee4129fcd66cec978 upstream. - -When the second kzalloc (host_context.vector.datap) fails in -kvm_riscv_vcpu_alloc_vector_context, the first allocation -(guest_context.vector.datap) is leaked. Free it before returning. - -Fixes: 0f4b82579716 ("riscv: KVM: Add vector lazy save/restore support") -Cc: stable@vger.kernel.org -Signed-off-by: Osama Abdelkader -Reviewed-by: Andy Chiu -Link: https://lore.kernel.org/r/20260316151612.13305-1-osama.abdelkader@gmail.com -Signed-off-by: Anup Patel -Signed-off-by: Greg Kroah-Hartman ---- - arch/riscv/kvm/vcpu_vector.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- a/arch/riscv/kvm/vcpu_vector.c -+++ b/arch/riscv/kvm/vcpu_vector.c -@@ -78,8 +78,11 @@ int kvm_riscv_vcpu_alloc_vector_context( - return -ENOMEM; - - vcpu->arch.host_context.vector.datap = kzalloc(riscv_v_vsize, GFP_KERNEL); -- if (!vcpu->arch.host_context.vector.datap) -+ if (!vcpu->arch.host_context.vector.datap) { -+ kfree(vcpu->arch.guest_context.vector.datap); -+ vcpu->arch.guest_context.vector.datap = NULL; - return -ENOMEM; -+ } - - return 0; - } diff --git a/queue-6.6/series b/queue-6.6/series index 78d6900c90..2ca7ccbfc5 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -265,7 +265,6 @@ nvme-apple-drop-invalid-put-of-admin-queue-reference-count.patch nvmet-avoid-recursive-nvmet-wq-flush-in-nvmet_ctrl_free.patch openvswitch-vport-fix-self-deadlock-on-release-of-tunnel-ports.patch rdma-hns-fix-unlocked-call-to-hns_roce_qp_remove.patch -riscv-kvm-fix-vector-context-allocation-leak.patch s390-debug-reject-zero-length-input-in-debug_input_flush_fn.patch smb-client-fix-out-of-bounds-read-in-smb2_compound_op.patch smb-client-fix-out-of-bounds-read-in-symlink_data.patch diff --git a/queue-7.0/sched_ext-skip-tasks-with-stale-task_rq-in-bypass_lb_cpu.patch b/queue-7.0/sched_ext-skip-tasks-with-stale-task_rq-in-bypass_lb_cpu.patch deleted file mode 100644 index 2aa8a05c85..0000000000 --- a/queue-7.0/sched_ext-skip-tasks-with-stale-task_rq-in-bypass_lb_cpu.patch +++ /dev/null @@ -1,45 +0,0 @@ -From da2d81b4118a74e65d2335e221a38d665902a98c Mon Sep 17 00:00:00 2001 -From: Tejun Heo -Date: Fri, 24 Apr 2026 14:31:35 -1000 -Subject: sched_ext: Skip tasks with stale task_rq in bypass_lb_cpu() - -From: Tejun Heo - -commit da2d81b4118a74e65d2335e221a38d665902a98c upstream. - -bypass_lb_cpu() transfers tasks between per-CPU bypass DSQs without -migrating them - task_cpu() only updates when the donee later consumes the -task via move_remote_task_to_local_dsq(). If the LB timer fires again before -consumption and the new DSQ becomes a donor, @p is still on the previous CPU -and task_rq(@p) != donor_rq. @p can't be moved without its own rq locked. - -Skip such tasks. - -Fixes: 95d1df610cdc ("sched_ext: Implement load balancer for bypass mode") -Cc: stable@vger.kernel.org # v6.19+ -Reported-by: Chris Mason -Signed-off-by: Tejun Heo -Reviewed-by: Andrea Righi -Signed-off-by: Greg Kroah-Hartman ---- - kernel/sched/ext.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - ---- a/kernel/sched/ext.c -+++ b/kernel/sched/ext.c -@@ -4008,6 +4008,15 @@ resume: - if (cpumask_empty(donee_mask)) - break; - -+ /* -+ * If an earlier pass placed @p on @donor_dsq from a different -+ * CPU and the donee hasn't consumed it yet, @p is still on the -+ * previous CPU and task_rq(@p) != @donor_rq. @p can't be moved -+ * without its rq locked. Skip. -+ */ -+ if (task_rq(p) != donor_rq) -+ continue; -+ - donee = cpumask_any_and_distribute(donee_mask, p->cpus_ptr); - if (donee >= nr_cpu_ids) - continue; diff --git a/queue-7.0/series b/queue-7.0/series index 455f7b8c8c..c91fa2d6fb 100644 --- a/queue-7.0/series +++ b/queue-7.0/series @@ -37,7 +37,6 @@ alsa-usb-audio-midi2-restart-output-urbs-on-resume.patch alsa-usb-audio-avoid-potential-endless-loop-in-convert_chmap_v3.patch alsa-usb-audio-fix-uac3-cluster-descriptor-size-check.patch usb-dwc3-move-guid-programming-after-phy-initialization.patch -usb-typec-tcpm-reset-internal-port-states-on-soft-reset-ams.patch usb-omap_udc-dma-don-t-enable-burst-4-mode.patch usb-serial-option-add-telit-cinterion-le910cx-compositions.patch usb-ulpi-fix-memory-leak-on-ulpi_register-error-paths.patch @@ -244,7 +243,6 @@ rdma-vmw_pvrdma-fix-double-free-on-pvrdma_alloc_ucontext-error-path.patch remoteproc-imx_rproc-fix-null-vs-is_err-bug-in-imx_rproc_addr_init.patch remoteproc-k3-fix-null-vs-is_err-bug-in-k3_reserved_mem_init.patch sched_ext-idle-recheck-prev_cpu-after-narrowing-allowed-mask.patch -sched_ext-skip-tasks-with-stale-task_rq-in-bypass_lb_cpu.patch sched_ext-use-dsq-first_task-instead-of-list_empty-in-dispatch_enqueue-fifo-tail.patch selftests-mptcp-check-output-catch-cmd-errors.patch selftests-mptcp-pm-restrict-unknown-check-to-pm_nl_ctl.patch diff --git a/queue-7.0/usb-typec-tcpm-fix-debug-accessory-mode-detection-for-sink-ports.patch b/queue-7.0/usb-typec-tcpm-fix-debug-accessory-mode-detection-for-sink-ports.patch index f9f0a99d06..17a8f56be4 100644 --- a/queue-7.0/usb-typec-tcpm-fix-debug-accessory-mode-detection-for-sink-ports.patch +++ b/queue-7.0/usb-typec-tcpm-fix-debug-accessory-mode-detection-for-sink-ports.patch @@ -88,7 +88,7 @@ Signed-off-by: Greg Kroah-Hartman tcpm_set_state(port, DEBUG_ACC_ATTACHED, PD_T_CC_DEBOUNCE); else if (tcpm_port_is_audio(port)) -@@ -5963,10 +5968,10 @@ static void _tcpm_cc_change(struct tcpm_ +@@ -5961,10 +5966,10 @@ static void _tcpm_cc_change(struct tcpm_ switch (port->state) { case TOGGLING: @@ -101,7 +101,7 @@ Signed-off-by: Greg Kroah-Hartman tcpm_set_state(port, SNK_ATTACH_WAIT, 0); break; case CHECK_CONTAMINANT: -@@ -5974,9 +5979,11 @@ static void _tcpm_cc_change(struct tcpm_ +@@ -5972,9 +5977,11 @@ static void _tcpm_cc_change(struct tcpm_ break; case SRC_UNATTACHED: case ACC_UNATTACHED: @@ -114,7 +114,7 @@ Signed-off-by: Greg Kroah-Hartman break; case SRC_ATTACH_WAIT: if (tcpm_port_is_disconnected(port) || -@@ -5998,7 +6005,7 @@ static void _tcpm_cc_change(struct tcpm_ +@@ -5996,7 +6003,7 @@ static void _tcpm_cc_change(struct tcpm_ } break; case SNK_UNATTACHED: diff --git a/queue-7.0/usb-typec-tcpm-reset-internal-port-states-on-soft-reset-ams.patch b/queue-7.0/usb-typec-tcpm-reset-internal-port-states-on-soft-reset-ams.patch deleted file mode 100644 index beb1a71e3a..0000000000 --- a/queue-7.0/usb-typec-tcpm-reset-internal-port-states-on-soft-reset-ams.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 2909f0d4994fb4306bf116df5ccee797791fce2c Mon Sep 17 00:00:00 2001 -From: Amit Sunil Dhamne -Date: Tue, 14 Apr 2026 00:58:32 +0000 -Subject: usb: typec: tcpm: reset internal port states on soft reset AMS - -From: Amit Sunil Dhamne - -commit 2909f0d4994fb4306bf116df5ccee797791fce2c upstream. - -Reset internal port states (such as vdm_sm_running and -explicit_contract) on soft reset AMS as the port needs to negotiate a -new contract. The consequence of leaving the states in as-is cond are as -follows: - * port is in SRC power role and an explicit contract is negotiated - with the port partner (in sink role) - * port partner sends a Soft Reset AMS while VDM State Machine is - running - * port accepts the Soft Reset request and the port advertises src caps - * port partner sends a Request message but since the explicit_contract - and vdm_sm_running are true from previous negotiation, the port ends - up sending Soft Reset instead of Accept msg. - -Stub Log: -[ 203.653942] AMS DISCOVER_IDENTITY start -[ 203.653947] PD TX, header: 0x176f -[ 203.655901] PD TX complete, status: 0 -[ 203.657470] PD RX, header: 0x124f [1] -[ 203.657477] Rx VDM cmd 0xff008081 type 2 cmd 1 len 1 -[ 203.657482] AMS DISCOVER_IDENTITY finished -[ 203.657484] cc:=4 -[ 204.155698] PD RX, header: 0x144f [1] -[ 204.155718] Rx VDM cmd 0xeeee8001 type 0 cmd 1 len 1 -[ 204.155741] PD TX, header: 0x196f -[ 204.157622] PD TX complete, status: 0 -[ 204.160060] PD RX, header: 0x4d [1] -[ 204.160066] state change SRC_READY -> SOFT_RESET [rev2 SOFT_RESET_AMS] -[ 204.160076] PD TX, header: 0x163 -[ 204.162486] PD TX complete, status: 0 -[ 204.162832] AMS SOFT_RESET_AMS finished -[ 204.162840] cc:=4 -[ 204.162891] AMS POWER_NEGOTIATION start -[ 204.162896] state change SOFT_RESET -> AMS_START [rev2 POWER_NEGOTIATION] -[ 204.162908] state change AMS_START -> SRC_SEND_CAPABILITIES [rev2 POWER_NEGOTIATION] -[ 204.162913] PD TX, header: 0x1361 -[ 204.165529] PD TX complete, status: 0 -[ 204.165571] pending state change SRC_SEND_CAPABILITIES -> SRC_SEND_CAPABILITIES_TIMEOUT @ 60 ms [rev2 POWER_NEGOTIATION] -[ 204.166996] PD RX, header: 0x1242 [1] -[ 204.167009] state change SRC_SEND_CAPABILITIES -> SRC_SOFT_RESET_WAIT_SNK_TX [rev2 POWER_NEGOTIATION] -[ 204.167019] AMS POWER_NEGOTIATION finished -[ 204.167020] cc:=4 -[ 204.167083] AMS SOFT_RESET_AMS start -[ 204.167086] state change SRC_SOFT_RESET_WAIT_SNK_TX -> SOFT_RESET_SEND [rev2 SOFT_RESET_AMS] -[ 204.167092] PD TX, header: 0x16d -[ 204.168824] PD TX complete, status: 0 -[ 204.168854] pending state change SOFT_RESET_SEND -> HARD_RESET_SEND @ 60 ms [rev2 SOFT_RESET_AMS] -[ 204.171876] PD RX, header: 0x43 [1] -[ 204.171879] AMS SOFT_RESET_AMS finished - -This causes COMMON.PROC.PD.11.2 check failure for -TEST.PD.VDM.SRC.2_Rev2Src test on the PD compliance tester. - -Signed-off-by: Amit Sunil Dhamne -Fixes: 8d3a0578ad1a ("usb: typec: tcpm: Respond Wait if VDM state machine is running") -Fixes: f0690a25a140 ("staging: typec: USB Type-C Port Manager (tcpm)") -Cc: stable -Reviewed-by: Badhri Jagan Sridharan -Acked-by: Heikki Krogerus -Link: https://patch.msgid.link/20260414-fix-soft-reset-v1-1-01d7cb9764e2@google.com -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Greg Kroah-Hartman ---- - drivers/usb/typec/tcpm/tcpm.c | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/drivers/usb/typec/tcpm/tcpm.c -+++ b/drivers/usb/typec/tcpm/tcpm.c -@@ -5741,6 +5741,8 @@ static void run_state_machine(struct tcp - - case VCONN_SWAP_ACCEPT: - tcpm_pd_send_control(port, PD_CTRL_ACCEPT, TCPC_TX_SOP); -+ port->vdm_sm_running = false; -+ port->explicit_contract = false; - tcpm_ams_finish(port); - tcpm_set_state(port, VCONN_SWAP_START, 0); - break;