diff --git a/drivers/staging/cptm1217/clearpad_tm1217.c b/drivers/staging/cptm1217/clearpad_tm1217.c index 7f265ce0dd13de32dfc8813c7d4855b117310845..43046049830c3135e07b8cf4f4e923e4717f7479 100644 --- a/drivers/staging/cptm1217/clearpad_tm1217.c +++ b/drivers/staging/cptm1217/clearpad_tm1217.c @@ -446,6 +446,12 @@ static int cp_tm1217_probe(struct i2c_client *client, /* Mask all the interrupts */ retval = cp_tm1217_mask_interrupt(ts); + if (retval) { + dev_err(ts->dev, "failed to mask interrupts, error: %d\n", + retval); + kfree(ts); + return retval; + } /* Read the controller information */ cp_tm1217_init_data(ts);