diff --git a/drivers/input/touchscreen/sur40.c b/drivers/input/touchscreen/sur40.c index 77ec2c94b91f..4b3a4d5386e4 100644 --- a/drivers/input/touchscreen/sur40.c +++ b/drivers/input/touchscreen/sur40.c @@ -808,6 +808,10 @@ static int sur40_probe(struct usb_interface *interface, video_unregister_device(&sur40->vdev); err_unreg_v4l2: v4l2_device_unregister(&sur40->v4l2); + input_unregister_device(input); + kfree(sur40->bulk_in_buffer); + kfree(sur40); + return error; err_free_buffer: kfree(sur40->bulk_in_buffer); err_free_input: