scsi: ufs: ufs-qcom: Fix UFS OCP issue during UFS power down (PC=3)
Summary
| CVE | CVE-2025-68236 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2025-12-16 14:15:58 UTC |
| Updated | 2026-10-21 13:18:21 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved:
scsi: ufs: ufs-qcom: Fix UFS OCP issue during UFS power down (PC=3)
According to UFS specifications, the power-off sequence for a UFS device
includes:
- Sending an SSU command with Power_Condition=3 and await a response.
- Asserting RST_N low.
- Turning off REF_CLK.
- Turning off VCC.
- Turning off VCCQ/VCCQ2.
As part of ufs shutdown, after the SSU command completion, asserting
hardware reset (HWRST) triggers the device firmware to wake up and
execute its reset routine. This routine initializes hardware blocks and
takes a few milliseconds to complete. During this time, the ICCQ draws a
large current.
This large ICCQ current may cause issues for the regulator which is
supplying power to UFS, because the turn off request from UFS driver to
the regulator framework will be immediately followed by low power
mode(LPM) request by regulator framework. This is done by framework
because UFS which is the only client is requesting for disable. So if
the rail is still in the process of shutting down while ICCQ exceeds LPM
current thresholds, and LPM mode is activated in hardware during this
state, it may trigger an overcurrent protection (OCP) fault in the
regulator.
To prevent this, a 10ms delay is added after asserting HWRST. This
allows the reset operation to complete while power rails remain active
and in high-power mode.
Currently there is no way for Host to query whether the reset is
completed or not and hence this the delay is based on experiments with
Qualcomm UFS controllers across multiple UFS vendors. |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected b61d0414136853fc38898829cde837ce5d691a9a 1c963811b0824d0f51aabd394986589a2126f341 git |
Not specified |
| CNA |
Linux |
Linux |
affected b61d0414136853fc38898829cde837ce5d691a9a 0c2619d1da8bd3d18524d69f12571a8cd7362833 git |
Not specified |
| CNA |
Linux |
Linux |
affected b61d0414136853fc38898829cde837ce5d691a9a b712f234a74c1f5ce70b5d7aec3fc2499c258141 git |
Not specified |
| CNA |
Linux |
Linux |
affected b61d0414136853fc38898829cde837ce5d691a9a 5127be409c6c3815c4a7d8f6d88043e44f9b9543 git |
Not specified |
| CNA |
Linux |
Linux |
affected 82783759e88beee69b710806e45acbb2fc589801 git |
Not specified |
| CNA |
Linux |
Linux |
affected 5.10.219 5.11 semver |
Not specified |
| CNA |
Linux |
Linux |
affected 5.12 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 5.12 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.6.160 6.6.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.12.114 6.12.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.17.10 6.17.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/5127be409c6c3815c4a7d8f6d88043e44f9b9543 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/0c2619d1da8bd3d18524d69f12571a8cd7362833 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/1c963811b0824d0f51aabd394986589a2126f341 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/b712f234a74c1f5ce70b5d7aec3fc2499c258141 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.