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 <ryan@xxxxxxxxxxxxxxxx> > Signed-off-by: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> > Cc: Ryan Mallon <ryan@xxxxxxxxxxxxxxxx> > Cc: Anton Vorontsov <cbouatmailru@xxxxxxxxx> > --- > 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html