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@xxxxxxxxxxxxxxxx> wrote: > From: Tomi Valkeinen <tomi.valkeinen+renesas@xxxxxxxxxxxxxxxx> > > 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@xxxxxxxxxxxxxxx > Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@xxxxxxxxxxxxxxxx> Looks good: Reviewed-by: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx> -- Luca Ceresoli, Bootlin Embedded Linux and Kernel engineering https://bootlin.com