aboutsummaryrefslogtreecommitdiffci
path: root/patches/usb/0016-phy-qcom-qmp-usbc-Prevent-unnecessary-PM-runtime-suspend-at-boot.patch
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
authorGravatar Saya Andy <saya.andy@posteo.com> 2026-09-18 21:45:43 +0700
committerGravatar Saya Andy <saya.andy@posteo.com> 2026-09-18 21:45:43 +0700
commit1f2b96ab1a13be88c57c78be08168c0bb0080088 (patch)
treecb830075f52e08698d63f0e5c4e1359a063a62b8 /patches/usb/0016-phy-qcom-qmp-usbc-Prevent-unnecessary-PM-runtime-suspend-at-boot.patch
parentee8c44555b0c3d61bf1998ddf3a5823db04ae68f (diff)
downloadkernel-surface-1f2b96ab1a13be88c57c78be08168c0bb0080088.tar.gz
kernel-surface-1f2b96ab1a13be88c57c78be08168c0bb0080088.zip
fix: adapt patches for some 7.2.6 kernel updates to remoteproc and usbfedora-45-kernel-7.2.6-patchset-1
Diffstat (limited to 'patches/usb/0016-phy-qcom-qmp-usbc-Prevent-unnecessary-PM-runtime-suspend-at-boot.patch')
-rw-r--r--patches/usb/0016-phy-qcom-qmp-usbc-Prevent-unnecessary-PM-runtime-suspend-at-boot.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/patches/usb/0016-phy-qcom-qmp-usbc-Prevent-unnecessary-PM-runtime-suspend-at-boot.patch b/patches/usb/0016-phy-qcom-qmp-usbc-Prevent-unnecessary-PM-runtime-suspend-at-boot.patch
new file mode 100644
index 0000000..65fba1f
--- /dev/null
+++ b/patches/usb/0016-phy-qcom-qmp-usbc-Prevent-unnecessary-PM-runtime-suspend-at-boot.patch
@@ -0,0 +1,40 @@
+There is a small window where the device can suspend after
+pm_runtime_enable() and before pm_runtime_forbid(), causing an
+unnecessary suspend/resume cycle while the PHY is not yet registered.
+
+Move pm_runtime_forbid() before pm_runtime_enable() to eliminate
+this race.
+
+Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
+Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
+Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
+Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
+---
+ drivers/phy/qualcomm/phy-qcom-qmp-usbc.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-usbc.c b/drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
+index 14feb77789b3..90ea6ca64026 100644
+--- a/drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
++++ b/drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
+@@ -1959,15 +1959,15 @@ static int qmp_usbc_probe(struct platform_device *pdev)
+ if (ret)
+ goto err_node_put;
+
++ /*
++ * Enable runtime PM support, but forbid it by default.
++ * Users can allow it again via the power/control attribute in sysfs.
++ */
+ pm_runtime_set_active(dev);
++ pm_runtime_forbid(dev);
+ ret = devm_pm_runtime_enable(dev);
+ if (ret)
+ goto err_node_put;
+- /*
+- * Prevent runtime pm from being ON by default. Users can enable
+- * it using power/control in sysfs.
+- */
+- pm_runtime_forbid(dev);
+
+ ret = qmp_usbc_register_clocks(qmp, np);
+ if (ret)