We dereference "ts" in the printk so move the kfree() down a line. Signed-off-by: Dan Carpenter <error27@xxxxxxxxx> diff --git a/drivers/staging/cptm1217/clearpad_tm1217.c b/drivers/staging/cptm1217/clearpad_tm1217.c index 269503f..76e4b78 100644 --- a/drivers/staging/cptm1217/clearpad_tm1217.c +++ b/drivers/staging/cptm1217/clearpad_tm1217.c @@ -460,9 +460,9 @@ static int cp_tm1217_probe(struct i2c_client *client, for (i = 0; i < TOUCH_SUPPORTED; i++) { input_dev = input_allocate_device(); if (input_dev == NULL) { - kfree(ts); dev_err(ts->dev, "cp_tm1217:Input Device Struct alloc failed\n"); + kfree(ts); return -ENOMEM; } input_info = &ts->cp_input_info[i]; -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html