ds2782_battery: Fix clientdata on removal
authorWolfram Sang <w.sang@pengutronix.de>
Thu, 1 Apr 2010 10:27:44 +0000 (12:27 +0200)
committerAnton Vorontsov <cbouatmailru@gmail.com>
Tue, 6 Apr 2010 16:07:05 +0000 (20:07 +0400)
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. Just remove the calls as the i2c-core does this automatically
now.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Cc: Ryan Mallon <ryan@bluewatersys.com>
Cc: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
drivers/power/ds2782_battery.c

index da14f37..305d463 100644 (file)
@@ -236,8 +236,6 @@ static int ds2782_battery_remove(struct i2c_client *client)
        idr_remove(&battery_id, info->id);
        mutex_unlock(&battery_lock);
 
-       i2c_set_clientdata(client, info);
-
        kfree(info);
        return 0;
 }
@@ -289,7 +287,6 @@ static int ds2782_battery_probe(struct i2c_client *client,
 fail_register:
        kfree(info->battery.name);
 fail_name:
-       i2c_set_clientdata(client, info);
        kfree(info);
 fail_info:
        mutex_lock(&battery_lock);