i2c: i801: Avoid potential double call to gpiod_remove_lookup_table
authorHeiner Kallweit <hkallweit1@gmail.com>
Mon, 4 Mar 2024 20:31:06 +0000 (21:31 +0100)
committerWolfram Sang <wsa+renesas@sang-engineering.com>
Fri, 8 Mar 2024 09:10:26 +0000 (10:10 +0100)
commitceb013b2d9a2946035de5e1827624edc85ae9484
tree3edba6b9f7555aea923edcec81299d5234ffa2ba
parent09f02902eb9cd41d4b88f4a5b93696297b57a3b0
i2c: i801: Avoid potential double call to gpiod_remove_lookup_table

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 setting priv->lookup
only if registering the platform device was successful.
In addition free the memory allocated for the lookup table in
the error path.

Fixes: d308dfbf62ef ("i2c: mux/i801: Switch to use descriptor passing")
Cc: stable@vger.kernel.org
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
drivers/i2c/busses/i2c-i801.c