[SRU] [L/Unstable] [PATCH 00/16] NULL pointer dereference on CS35L41 HDA AMP Edit

Kai-Heng Feng kai.heng.feng at canonical.com
Tue Aug 1 08:36:33 UTC 2023


BugLink: https://bugs.launchpad.net/bugs/2029199

[Impact]
NULL pointer dereference happens because the HDA driver is trying to use
CS35L41 HDA AMP before its probe routine is fully realized.

[Fix]
Use device link to enforce proper probe order.
Since the fixing commit is part of a patch series, pull in the entire
series which has several other important fixes too.

[Test]
Use dmesg to see if there's error. With the fix applied, no more kernel
splat can be found. Hence the system can perform suspend, reboot and
shutdown normally.

[Where problems could occur]
Though the entire series isn't trivia, it's not a major overhaul either.
The entire changeset is limited to CS35L41 AMP, so the scope of
regression risk is constrained.
One possible risk factor is that it may require newer DSP firmware, and
we'll monitor it closely on such scenario.

Lucas Tanure (3):
  ASoC: cs35l41: Refactor error release code
  ALSA: cs35l41: Add shared boost feature
  ASoC: dt-bindings: cirrus,cs35l41: Document CS35l41 shared boost

Stefan Binding (13):
  ALSA: hda: cs35l41: Ensure firmware/tuning pairs are always loaded
  ALSA: hda: cs35l41: Enable Amp High Pass Filter
  ALSA: cs35l41: Use mbox command to enable speaker output for external
    boost
  ALSA: cs35l41: Poll for Power Up/Down rather than waiting a fixed
    delay
  ALSA: hda: cs35l41: Check mailbox status of pause command after
    firmware load
  ALSA: hda: cs35l41: Ensure we correctly re-sync regmap before system
    suspending.
  ALSA: hda: cs35l41: Ensure we pass up any errors during system
    suspend.
  ALSA: hda: cs35l41: Move Play and Pause into separate functions
  ALSA: hda: hda_component: Add pre and post playback hooks to
    hda_component
  ALSA: hda: cs35l41: Use pre and post playback hooks
  ALSA: hda: cs35l41: Rework System Suspend to ensure correct call
    separation
  ALSA: hda: cs35l41: Add device_link between HDA and cs35l41_hda
  ALSA: hda: cs35l41: Ensure amp is only unmuted during playback

 .../bindings/sound/cirrus,cs35l41.yaml        |  10 +-
 include/sound/cs35l41.h                       |  14 +-
 sound/pci/hda/cs35l41_hda.c                   | 395 ++++++++++++------
 sound/pci/hda/hda_component.h                 |   2 +
 sound/pci/hda/patch_realtek.c                 |  10 +-
 sound/soc/codecs/cs35l41-lib.c                | 185 +++++++-
 sound/soc/codecs/cs35l41.c                    | 101 ++---
 sound/soc/codecs/cs35l41.h                    |   1 +
 8 files changed, 522 insertions(+), 196 deletions(-)

-- 
2.34.1




More information about the kernel-team mailing list