In the case of goto destroy_leds, we also need to call hid_hw_stop(hdev) and remove sysfs attribute files we created for speed and oleds. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx> --- drivers/hid/hid-wacom.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/hid/hid-wacom.c b/drivers/hid/hid-wacom.c index a0fafac..fae7fd7 100644 --- a/drivers/hid/hid-wacom.c +++ b/drivers/hid/hid-wacom.c @@ -902,10 +902,18 @@ OLED_INIT(7); err_ac: power_supply_unregister(&wdata->battery); err_battery: - device_remove_file(&hdev->dev, &dev_attr_speed); - hid_hw_stop(hdev); destroy_leds: wacom_destroy_leds(hdev); + device_remove_file(&hdev->dev, &dev_attr_oled0_img); + device_remove_file(&hdev->dev, &dev_attr_oled1_img); + device_remove_file(&hdev->dev, &dev_attr_oled2_img); + device_remove_file(&hdev->dev, &dev_attr_oled3_img); + device_remove_file(&hdev->dev, &dev_attr_oled4_img); + device_remove_file(&hdev->dev, &dev_attr_oled5_img); + device_remove_file(&hdev->dev, &dev_attr_oled6_img); + device_remove_file(&hdev->dev, &dev_attr_oled7_img); + device_remove_file(&hdev->dev, &dev_attr_speed); + hid_hw_stop(hdev); err_free: kfree(wdata); return ret; -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html