On 23.02.2024 08:11, Heiner Kallweit wrote: > If registering the platform device fails, the lookup table is > removed in the error path. On module removal we would try to > remove the lookup table again. Fix this by leaving it to > i801_del_mux() to clean up. > > Fixes: d308dfbf62ef ("i2c: mux/i801: Switch to use descriptor passing") > Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> > --- > drivers/i2c/busses/i2c-i801.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c > index 4b9d04f20..223cd2b84 100644 > --- a/drivers/i2c/busses/i2c-i801.c > +++ b/drivers/i2c/busses/i2c-i801.c > @@ -1457,10 +1457,8 @@ static void i801_add_mux(struct i801_priv *priv) > priv->mux_pdev = platform_device_register_data(dev, "i2c-mux-gpio", > PLATFORM_DEVID_NONE, &gpio_data, > sizeof(struct i2c_mux_gpio_platform_data)); > - if (IS_ERR(priv->mux_pdev)) { > - gpiod_remove_lookup_table(lookup); > + if (IS_ERR(priv->mux_pdev)) > dev_err(dev, "Failed to register i2c-mux-gpio device\n"); > - } > } > > static void i801_del_mux(struct i801_priv *priv) Forgot to cc stable in both patches. I'll wait for other feedback and will submit a v2 afterwards.