RE: [PATCH] i2c: tegra: Wait for config load atomically while in ISR
From: David Laight <hidden>
Date: 2021-01-11 14:33:33
Also in:
linux-i2c, linux-tegra, lkml
From: David Laight <hidden>
Date: 2021-01-11 14:33:33
Also in:
linux-i2c, linux-tegra, lkml
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)