+++ /dev/null
-From b7c958d7c1eb1cb9b2be7b5ee4129fcd66cec978 Mon Sep 17 00:00:00 2001
-From: Osama Abdelkader <osama.abdelkader@gmail.com>
-Date: Mon, 16 Mar 2026 16:16:11 +0100
-Subject: riscv: kvm: fix vector context allocation leak
-
-From: Osama Abdelkader <osama.abdelkader@gmail.com>
-
-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 <osama.abdelkader@gmail.com>
-Reviewed-by: Andy Chiu <andybnac@gmail.com>
-Link: https://lore.kernel.org/r/20260316151612.13305-1-osama.abdelkader@gmail.com
-Signed-off-by: Anup Patel <anup@brainfault.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- 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;
- }
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
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
+++ /dev/null
-From 2909f0d4994fb4306bf116df5ccee797791fce2c Mon Sep 17 00:00:00 2001
-From: Amit Sunil Dhamne <amitsd@google.com>
-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 <amitsd@google.com>
-
-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 <amitsd@google.com>
-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 <stable@kernel.org>
-Reviewed-by: Badhri Jagan Sridharan <badhri@google.com>
-Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
-Link: https://patch.msgid.link/20260414-fix-soft-reset-v1-1-01d7cb9764e2@google.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- 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;
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
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:
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:
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:
+++ /dev/null
-From 2909f0d4994fb4306bf116df5ccee797791fce2c Mon Sep 17 00:00:00 2001
-From: Amit Sunil Dhamne <amitsd@google.com>
-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 <amitsd@google.com>
-
-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 <amitsd@google.com>
-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 <stable@kernel.org>
-Reviewed-by: Badhri Jagan Sridharan <badhri@google.com>
-Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
-Link: https://patch.msgid.link/20260414-fix-soft-reset-v1-1-01d7cb9764e2@google.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- 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;
+++ /dev/null
-From b7c958d7c1eb1cb9b2be7b5ee4129fcd66cec978 Mon Sep 17 00:00:00 2001
-From: Osama Abdelkader <osama.abdelkader@gmail.com>
-Date: Mon, 16 Mar 2026 16:16:11 +0100
-Subject: riscv: kvm: fix vector context allocation leak
-
-From: Osama Abdelkader <osama.abdelkader@gmail.com>
-
-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 <osama.abdelkader@gmail.com>
-Reviewed-by: Andy Chiu <andybnac@gmail.com>
-Link: https://lore.kernel.org/r/20260316151612.13305-1-osama.abdelkader@gmail.com
-Signed-off-by: Anup Patel <anup@brainfault.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- 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;
- }
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
+++ /dev/null
-From da2d81b4118a74e65d2335e221a38d665902a98c Mon Sep 17 00:00:00 2001
-From: Tejun Heo <tj@kernel.org>
-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 <tj@kernel.org>
-
-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 <clm@meta.com>
-Signed-off-by: Tejun Heo <tj@kernel.org>
-Reviewed-by: Andrea Righi <arighi@nvidia.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- 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;
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
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
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:
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:
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:
+++ /dev/null
-From 2909f0d4994fb4306bf116df5ccee797791fce2c Mon Sep 17 00:00:00 2001
-From: Amit Sunil Dhamne <amitsd@google.com>
-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 <amitsd@google.com>
-
-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 <amitsd@google.com>
-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 <stable@kernel.org>
-Reviewed-by: Badhri Jagan Sridharan <badhri@google.com>
-Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
-Link: https://patch.msgid.link/20260414-fix-soft-reset-v1-1-01d7cb9764e2@google.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- 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;