Skip to content

clk: qcom / usb: typec: propagate reset errors and retry PS883x recovery - #79

Merged
ooaklee merged 3 commits into
sp11/ubuntu-qcom-x1e-7.3.yfrom
fix/pr72-bounded-recovery-20261112
Nov 12, 2026
Merged

ooaklee merged 3 commits into
sp11/ubuntu-qcom-x1e-7.3.yfrom
fix/pr72-bounded-recovery-20261112

Conversation

@ooaklee

@ooaklee ooaklee commented Nov 12, 2026 •

Copy link
Copy Markdown
Owner

Qualcomm reset requests can currently report success after the assert, deassert or completion read fails. PS883x can cache an orientation before a failed register write, causing an identical retry to be skipped; probe/remove can also release regulator enables already released by reset.

This splits two bounded fixes from #72 onto sp11/ubuntu-qcom-x1e-7.3.y:

  • Propagate reset provider and regmap errors, without deasserting after a failed assert.
  • Commit PS883x orientation only after a successful write, retry invalid cached state, and use the existing idempotent reset helper for probe/remove unwind.
  • Add fork-only source-derived regression CI. Existing USB4 fallback policy and mode construction are unchanged.

Validation on the exact head:

  • 29 behavioral cases and seven expected-failing negative controls, including ASan/UBSan.
  • Fresh AArch64 Kbuild of complete drivers/clk/qcom/reset.o and drivers/usb/typec/mux/ps883x.o, W=1, GCC 15.2 / GNU ld 2.46: passed without warnings.
  • Independent GLM 5.3 source/CI review approved exact head 714bf34d0b3f; GitHub typec-bounded regression CI passed on that head.

The original author commits are retained. The other twelve files of #72 remain in that draft with their broader PMIC/DP/AUX/audio/QMP lifecycle work. These results cover source behavior and compilation; physical hotplug, suspend/recovery and kernel packaging remain separate qualification steps.

Return assert, update, readback and deassert errors to reset consumers.
Do not issue deassert or the pulse delay after a failed assert.

Split and ported from frozen Type-C recovery source overlay
507356d (PR #72), based on
7.3.y source c8cdaac.
Only this file is carried here; the broader DP/PMIC/QMP recovery overlay
is deferred. Original overlay authorship retained; no submitter
certification or hardware qualification is asserted.
Only commit the cached orientation after its hardware update succeeds,
track whether the register orientation is valid across resets and retries,
and use the idempotent reset helper for probe unwind and remove.

Preserve the current platform USB4 fallback policy unchanged.

Split and ported from frozen Type-C recovery source overlay
507356d (PR #72), based on
7.3.y source c8cdaac.
Only this file is carried here; the broader DP/PMIC/QMP recovery overlay
is deferred. Original overlay authorship retained; no submitter
certification or hardware qualification is asserted.
@ooaklee
ooaklee marked this pull request as ready for review November 12, 2026 03:20
@ooaklee
ooaklee merged commit 1dd90a8 into sp11/ubuntu-qcom-x1e-7.3.y Nov 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant