From: Wolfram Sang Date: Sat, 20 Mar 2010 14:13:00 +0000 (+0100) Subject: Staging: dream: fix dangling i2c pointers X-Git-Tag: MMI-PSA29.97-13-9~23841^2^2~431 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=5ff0dd18267efc0e7b0352fe54b74114b58535ae;p=GitHub%2FMotorolaMobilityLLC%2Fkernel-slsi.git 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 Signed-off-by: Greg Kroah-Hartman --- 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; }