Messages in this thread | | | Subject | Re: [PATCH] i2c: tegra: Wait for config load atomically while in ISR | From | Mikko Perttunen <> | Date | Mon, 11 Jan 2021 16:38:06 +0200 |
| |
Agreed that this is possibly not optimal, but this patch simply returns the behavior to what it was before "i2c: tegra: Support atomic transfers", fixing the overt issue.
Design fixes can be considered later, in a non-stable patch.
Mikko
On 1/11/21 4:31 PM, David Laight wrote: > From: Mikko Perttunen >> Sent: 11 January 2021 13:56 >> >> Upon a communication error, the interrupt handler can call >> tegra_i2c_disable_packet_mode. This causes a sleeping poll to happen >> unless the current transaction was marked atomic. Since >> tegra_i2c_disable_packet_mode is only called from the interrupt path, >> make it use atomic waiting always. > > Spin-waiting in an ISR for anything that it makes sense to do > a sleep-wait for at other times is badly broken design. > > David > > - > Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK > Registration No: 1397386 (Wales) >
| |