Re: [PATCH] Input: edt-ft5x06 - fix regmap leak when probe fails

From: Oliver Graute
Date: Wed Oct 23 2024 - 07:47:04 EST


On 18/10/24, Dmitry Torokhov wrote:
> The driver neglects to free the instance of I2C regmap constructed at
> the beginning of the edt_ft5x06_ts_probe() method when probe fails.
> Additionally edt_ft5x06_ts_remove() is freeing the regmap too early,
> before the rest of the device resources that are managed by devm are
> released.
>
> Fix this by installing a custom devm action that will ensure that the
> regmap is released at the right time during normal teardown as well as
> in case of probe failure.
>
> Note that devm_regmap_init_i2c() could not be used because the driver
> may replace the original regmap with a regmap specific for M06 devices
> in the middle of the probe, and using devm_regmap_init_i2c() would
> result in releasing the M06 regmap too early.
>
> Reported-by: Li Zetao <lizetao1@xxxxxxxxxx>
> Fixes: 9dfd9708ffba ("Input: edt-ft5x06 - convert to use regmap API")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>

Reviewed-by: Oliver Graute <oliver.graute@xxxxxxxxxxxxxxxxx>