Re: [PATCH] HID: wacom: Fix wacom_probe error handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2012/9/17 Przemo Firszt <przemo@xxxxxxxxx>:
>
> 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,
It's Axel.

> 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.

Since it is not critical, current code ignore checking return value when
device_create_file for speed and oleds.

But current code does goto destroy_leds if wacom_initialize_leds fails.
Which means it returns error code in wacom_probe() and thus it should
clean up all the allocated resources in the error patch.

If you want to ignore wacom_initialize_leds() failure, you should not
call goto destroy_leds.

Comment?

Axel
--
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


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux