From: Mark Brown
Sent: 29 June 2023 11:11
On Thu, Jun 29, 2023 at 08:38:09AM +0000, David Laight wrote:
From: Sameer Pujar
Following prints are observed while testing audio on Jetson AGX Orin which has onboard RT5640 audio codec:
BUG: sleeping function called from invalid context at kernel/workqueue.c:3027 in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid: 0, name: swapper/0
My 'gut feel' is that this will just move the problem elsewhere.
If the ISR is responsible for adding audio buffers (etc) then it is also not unlikely that the scheduling delays in running a threaded ISR will cause audio glitches if the system is busy.
What makes you think this is anything to do with audio glitches? The bug is literally what is described, it is not valid to sleep in atomic contexts and if we ever actually try things are likely to go badly.
What I mean is that deferring the ISR to process context is likely to generate audio glitches on a busy system.
I realise that sleeping in an ISR goes badly wrong.
David
- Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)