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 14:26, Jerome Brunet <jbrunet@xxxxxxxxxxxx> wrote:

> 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.

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

Sorry for the confusing typo

>
> * 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