Re: [PATCH 5.15 100/168] ASoC: meson: axg-card: Fix nonatomic links

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue 14 May 2024 at 12:19, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:

> 5.15-stable review patch.  If anyone has any objections, please let me know.
>

Patch #100 and #101 should not be applied on v5.15.

A bit of history:
* 3y ago patches #44 and #45 have been applied to fix a problem in AML
  audio, but it caused a regression.
* No solution was found at the time, so the patches were reverted by
  change #100 and #101
* Recently I came up with change #43 which fixes the regression from 3y
  ago, so the fixes for original problem could be applied again (with a
  different sha1 of course)

The situation was detailed in the cover letter of the related series:
https://lore.kernel.org/linux-amlogic/20240426152946.3078805-1-jbrunet@xxxxxxxxxxxx

>From what I can see the backport is fine on 6.8, 6.6 and 6.1.
Things starts to be problematic on 5.15.

In general, if upstream commit b11d26660dff is backported, it is fine to
apply upstream commits:
 * dcba52ace7d4 ("ASoC: meson: axg-card: make links nonatomic")
 * f949ed458ad1 ("ASoC: meson: axg-tdm-interface: manage formatters in trigger")
And the following commits (which are reverts for the 2 above) should not be applied:
 * 0c9b152c72e5 ("ASoC: meson: axg-card: Fix nonatomic links")
 * c26830b6c5c5 ("ASoC: meson: axg-tdm-interface: Fix formatters in trigger"")

If b11d26660dff is not backported, the 2 first change should be
backported, or reverted if they have already been.

* v5.15: just dropping change #100 and #101 should be fine
* v5.10: I suppose this is where the backport starts to be problematic
         Best would be to drop #31, #32, #73 and #74 for now
* v5.4: Same drop #26, #27, #60 and #61
* v4.19: drop #17 and #44

Regards
Jerome

> ------------------
>
> From: Neil Armstrong <narmstrong@xxxxxxxxxxxx>
>
> [ Upstream commit 0c9b152c72e53016e96593bdbb8cffe2176694b9 ]
>
> This commit e138233e56e9829e65b6293887063a1a3ccb2d68 causes the
> following system crash when using audio on G12A/G12B & SM1 systems:
>
>  BUG: sleeping function called from invalid context at kernel/locking/mutex.c:282
>   in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid: 0, name: swapper/0
>  preempt_count: 10001, expected: 0
>  RCU nest depth: 0, expected: 0
>  Preemption disabled at:
>  schedule_preempt_disabled+0x20/0x2c
>
>  mutex_lock+0x24/0x60
>  _snd_pcm_stream_lock_irqsave+0x20/0x3c
>  snd_pcm_period_elapsed+0x24/0xa4
>  axg_fifo_pcm_irq_block+0x64/0xdc
>  __handle_irq_event_percpu+0x104/0x264
>  handle_irq_event+0x48/0xb4
>  ...
>  start_kernel+0x3f0/0x484
>  __primary_switched+0xc0/0xc8
>
> Revert this commit until the crash is fixed.
>
> Fixes: e138233e56e9829e65b6 ("ASoC: meson: axg-card: make links nonatomic")
> Reported-by: Dmitry Shmidt <dimitrysh@xxxxxxxxxx>
> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx>
> Acked-by: Jerome Brunet <jbrunet@xxxxxxxxxxxx>
> Link: https://lore.kernel.org/r/20220421155725.2589089-2-narmstrong@xxxxxxxxxxxx
> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> ---
>  sound/soc/meson/axg-card.c | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/sound/soc/meson/axg-card.c b/sound/soc/meson/axg-card.c
> index cbbaa55d92a66..2b77010c2c5ce 100644
> --- a/sound/soc/meson/axg-card.c
> +++ b/sound/soc/meson/axg-card.c
> @@ -320,7 +320,6 @@ static int axg_card_add_link(struct snd_soc_card *card, struct device_node *np,
>  
>  	dai_link->cpus = cpu;
>  	dai_link->num_cpus = 1;
> -	dai_link->nonatomic = true;
>  
>  	ret = meson_card_parse_dai(card, np, &dai_link->cpus->of_node,
>  				   &dai_link->cpus->dai_name);


-- 
Jerome




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux