ACK/Cmnt: [SRU][R][PATCH v8 0/3] Fix SDCA jack detection race and reprobe issues on Dell Slate Max platform with CirrusLogic audio solution

Andrei Gherzan andrei.gherzan at canonical.com
Wed Sep 23 13:31:38 UTC 2026


On 2026/09/23 09:33AM, Chris Chiu via kernel-team wrote:
> BugLink: https://bugs.launchpad.net/bugs/2163215
> 
> [Impact]
> On Dell Slate Max systems with SoundWire Device Class Audio (SDCA) hardware, there is a race condition when setting up jack detection.
> Plug headset first, sound can output and headset Mic is workable.
> But after cold boot/reboot, audio device is keep but no sound output from headset, headset Mic also no function. Hot plug headset can recovery.
> 
> [Fix]
> 1. ASoC: Add a component fixup_controls callback
>    Clean cherry-pick of 3e81e2fb2163.
> 
> 2. UBUNTU: SAUCE: ASoC: SDCA: Bind jack interrupts to their control
>    after card probe
>    Uses that hook to look the "Selected Mode" control up and
>    re-drive the current hardware state once the control exists.
> 
> 3. UBUNTU: SAUCE: ASoC: SDCA: Do not leak or reuse jack state across
>    a card rebind. 
>    Reuses the existing allocation on re-probe and clears the
>    card-owned pointers in sdca_irq_cleanup().
> 
> [Test Plan]
> Boot the system, plug headphones in and out, and check if audio switches correctly.
> 
> 1. Boot the system with headphones unplugged.
> 2. Plug headphones in and check the jack state:
> 3. Unplug headphones and verify sound switches back.
> 4. Reload the SoundWire driver modules or trigger suspend/resume to force card teardown and reprobe:
>    $ sudo rtcwake -m mem -s 15
> 
>    Or reload the SoundWire modules:
> 
>    $ sudo modprobe -r snd_sof_intel_sdw
>    $ sudo modprobe snd_sof_intel_sdw
> 
> Without these patches:
> - On boot, headphones might show up as connected when they are not, or sound might not switch correctly when plugged in.
> - After suspend/resume or reloading modules, jack detection stops working, or the system crashes/shows warnings due to stale pointers.
> 
> With these patches:
> - Headphones and speaker paths are always set correctly on boot.
> - Jack detection and audio routing work correctly after suspend/resume and driver reloads.
> 
> [Where problems could occur]
> Could break SDCA jack detection and SoundWire audio class drivers.
> If the new fixup_controls callback has a bug, jack IRQs will not be registered. Jack detection could stop working completely.
> If the cached kcontrol search gets a wrong pointer, the kernel will crash with a NULL pointer dereference when the IRQ handler runs.
> 
> [Other Info]
> All seven patches are upstream in v7.2-rc6.

I would leave this comment as unblocking but this seciton is stale.

Acked-by: Andrei Gherzan <andrei.gherzan at canonical.com>

-- 
Andrei Gherzan
gpg: rsa4096/D4D94F67AD0E9640
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20260923/6e26f66e/attachment.sig>


More information about the kernel-team mailing list