aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/hwmon/hdaps.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/hwmon/hdaps.c b/drivers/hwmon/hdaps.c
index 42b632889dd8..8e7b5607f5a1 100644
--- a/drivers/hwmon/hdaps.c
+++ b/drivers/hwmon/hdaps.c
@@ -587,7 +587,9 @@ static int __init hdaps_init(void)
587 input_set_abs_params(hdaps_idev, ABS_Y, 587 input_set_abs_params(hdaps_idev, ABS_Y,
588 -256, 256, HDAPS_INPUT_FUZZ, HDAPS_INPUT_FLAT); 588 -256, 256, HDAPS_INPUT_FUZZ, HDAPS_INPUT_FLAT);
589 589
590 input_register_device(hdaps_idev); 590 ret = input_register_device(hdaps_idev);
591 if (ret)
592 goto out_idev;
591 593
592 /* start up our timer for the input device */ 594 /* start up our timer for the input device */
593 init_timer(&hdaps_timer); 595 init_timer(&hdaps_timer);
@@ -598,6 +600,8 @@ static int __init hdaps_init(void)
598 printk(KERN_INFO "hdaps: driver successfully loaded.\n"); 600 printk(KERN_INFO "hdaps: driver successfully loaded.\n");
599 return 0; 601 return 0;
600 602
603out_idev:
604 input_free_device(hdaps_idev);
601out_group: 605out_group:
602 sysfs_remove_group(&pdev->dev.kobj, &hdaps_attribute_group); 606 sysfs_remove_group(&pdev->dev.kobj, &hdaps_attribute_group);
603out_device: 607out_device: