Dnia 17 Września 2012, 3:29 am, Pn, Axel Lin napisał(a): > 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 Hi Alex, The initial idea was that the OLEDs/LED are not critical for tablet functioning and that's why there was no call of hid_stop_hw if the OLED/LED initialisation faild. What's is the general kernel/HID policy: is it OK to have a device working with some non-essential features missing? -- Regards, Przemo Firszt -- 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