Hi Romain,
On 26/11/2024 10:14, Luca Ceresoli wrote:
Hello Tomi,
+Cc: Romain who is doing a different kind of sorcery on i2c-atr.c, so he is aware of this series.
On Fri, 22 Nov 2024 14:26:18 +0200 Tomi Valkeinen tomi.valkeinen@ideasonboard.com wrote:
From: Tomi Valkeinen tomi.valkeinen+renesas@ideasonboard.com
i2c-atr catches the BUS_NOTIFY_DEL_DEVICE event on the bus and removes the translation by calling i2c_atr_detach_client().
However, BUS_NOTIFY_DEL_DEVICE happens when the device is about to be removed from this bus, i.e. before removal, and thus before calling .remove() on the driver. If the driver happens to do any i2c transactions in its remove(), they will fail.
Fix this by catching BUS_NOTIFY_REMOVED_DEVICE instead, thus removing the translation only after the device is actually removed.
Fixes: a076a860acae ("media: i2c: add I2C Address Translator (ATR) support") Cc: stable@vger.kernel.org Signed-off-by: Tomi Valkeinen tomi.valkeinen+renesas@ideasonboard.com
Looks good: Reviewed-by: Luca Ceresoli luca.ceresoli@bootlin.com
Can you test this one with your setup, and give your Rb/Tb?
I think it's an obvious fix, and could be merged separately from the rest, which still need discussion.
Tomi