Wolfram Sang wrote:
> Probably due to a copy & paste bug, clientdata was set again to the data
> structure (which is freed immediately afterwards) when it should be NULLed.

Good catch. Thanks.

Acked-by: Ryan Mallon <[email protected]>

> Signed-off-by: Wolfram Sang <[email protected]>
> Cc: Ryan Mallon <[email protected]>
> Cc: Anton Vorontsov <[email protected]>
> ---
>  drivers/power/ds2782_battery.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/power/ds2782_battery.c b/drivers/power/ds2782_battery.c
> index da14f37..6971b85 100644
> --- a/drivers/power/ds2782_battery.c
> +++ b/drivers/power/ds2782_battery.c
> @@ -236,7 +236,7 @@ static int ds2782_battery_remove(struct i2c_client 
> *client)
>       idr_remove(&battery_id, info->id);
>       mutex_unlock(&battery_lock);
>  
> -     i2c_set_clientdata(client, info);
> +     i2c_set_clientdata(client, NULL);
>  
>       kfree(info);
>       return 0;
> @@ -289,7 +289,7 @@ static int ds2782_battery_probe(struct i2c_client *client,
>  fail_register:
>       kfree(info->battery.name);
>  fail_name:
> -     i2c_set_clientdata(client, info);
> +     i2c_set_clientdata(client, NULL);
>       kfree(info);
>  fail_info:
>       mutex_lock(&battery_lock);

--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to