diff options
author | Wolfram Sang <w.sang@pengutronix.de> | 2010-03-20 17:13:00 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-05-11 22:35:45 +0400 |
commit | 5ff0dd18267efc0e7b0352fe54b74114b58535ae (patch) | |
tree | f260858cb236ad0ad4b6e337037bd20a344a64b0 /drivers/staging/dream | |
parent | 593a961649226aae13705dc066ee277f112b8397 (diff) | |
download | linux-5ff0dd18267efc0e7b0352fe54b74114b58535ae.tar.xz |
Staging: dream: fix dangling i2c pointers
Fix I2C-drivers which missed setting clientdata to NULL before freeing the
structure it points to. Also fix drivers which do this _after_ the structure
was freed already.
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/dream')
-rw-r--r-- | drivers/staging/dream/synaptics_i2c_rmi.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/staging/dream/synaptics_i2c_rmi.c b/drivers/staging/dream/synaptics_i2c_rmi.c index d2ca116a1c25..ae2f72ca7351 100644 --- a/drivers/staging/dream/synaptics_i2c_rmi.c +++ b/drivers/staging/dream/synaptics_i2c_rmi.c @@ -535,6 +535,7 @@ err_input_register_device_failed: err_input_dev_alloc_failed: err_detect_failed: err_power_failed: + i2c_set_clientdata(client, NULL); kfree(ts); err_alloc_data_failed: err_check_functionality_failed: @@ -552,6 +553,7 @@ static int synaptics_ts_remove(struct i2c_client *client) else hrtimer_cancel(&ts->timer); input_unregister_device(ts->input_dev); + i2c_set_clientdata(client, NULL); kfree(ts); return 0; } |