mbox series

[v4,0/4] Fix IRQ mutex inversion on cs42l43

Message ID 20240802105734.2309788-1-ckeepax@opensource.cirrus.com (mailing list archive)
Headers show
Series Fix IRQ mutex inversion on cs42l43 | expand

Message

Charles Keepax Aug. 2, 2024, 10:57 a.m. UTC
Fix a mutex inversion in the IRQ handling for the speaker shutters on
cs42l43. Do this by adding some new helper functions to get kcontrol
pointers and caching those in the driver rather than directly acquiring
them in the IRQ handler.

Changes in v4:
 - Add the missing helper that was causing problems the cs35l45 update.

Changes in v3:
 - Also initialise the control cache for the ASP DAI.

Changes in v2:
 - Rather than using a work queue for the IRQ handler, cache the control
   pointers.
 - Add some helpers to get kcontrol pointers.
 - Update cs35l45 to use the new helper functions.
 - Add a patch fixing a pointless semi-colon.

Thanks,
Charles

Charles Keepax (4):
  ASoC: cs42l43: Remove redundant semi-colon at end of function
  ASoC: soc-component: Add new snd_soc_component_get_kcontrol() helpers
  ASoC: cs35l45: Use new snd_soc_component_get_kcontrol_locked() helper
  ASoC: cs42l43: Cache shutter IRQ control pointers

 include/sound/soc-component.h |  5 +++
 sound/soc/codecs/cs35l45.c    | 11 +----
 sound/soc/codecs/cs42l43.c    | 75 ++++++++++++++++++++++++++---------
 sound/soc/codecs/cs42l43.h    |  2 +
 sound/soc/soc-component.c     | 42 ++++++++++++++++----
 5 files changed, 100 insertions(+), 35 deletions(-)

Comments

Mark Brown Aug. 2, 2024, 10:28 p.m. UTC | #1
On Fri, 02 Aug 2024 11:57:30 +0100, Charles Keepax wrote:
> Fix a mutex inversion in the IRQ handling for the speaker shutters on
> cs42l43. Do this by adding some new helper functions to get kcontrol
> pointers and caching those in the driver rather than directly acquiring
> them in the IRQ handler.
> 
> Changes in v4:
>  - Add the missing helper that was causing problems the cs35l45 update.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/4] ASoC: cs42l43: Remove redundant semi-colon at end of function
      commit: becfa08bfefa2cbb22c84d9e583e81387f2f3bf2
[2/4] ASoC: soc-component: Add new snd_soc_component_get_kcontrol() helpers
      commit: c8a132e2e032b00828d51141ab34f9aeb24f44ae
[3/4] ASoC: cs35l45: Use new snd_soc_component_get_kcontrol_locked() helper
      commit: 4791c422981350d0de4ad02a14a08b99c766d06f
[4/4] ASoC: cs42l43: Cache shutter IRQ control pointers
      commit: 93afd028fb5f06a46a32375fd1f0473451eb1c5a

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark