Commit 7fefeec5 authored by Benjamin Tissoires's avatar Benjamin Tissoires Committed by Jiri Kosina

HID: wacom: rename failN with some meaningful information

When we have to deal with new elements in probe, having the exit labels
named sequencially is a pain to maintain. Put a meaningful name instead
so that we do not have to renumber them on inserts.
Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
Acked-by: default avatarJason Gerecke <killertofu@gmail.com>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent 8ffffd52
......@@ -1075,7 +1075,7 @@ static int wacom_register_inputs(struct wacom *wacom)
pad_input_dev = wacom_allocate_input(wacom);
if (!input_dev || !pad_input_dev) {
error = -ENOMEM;
goto fail1;
goto fail_allocate_input;
}
wacom_wac->input = input_dev;
......@@ -1084,11 +1084,11 @@ static int wacom_register_inputs(struct wacom *wacom)
error = wacom_setup_input_capabilities(input_dev, wacom_wac);
if (error)
goto fail2;
goto fail_input_cap;
error = input_register_device(input_dev);
if (error)
goto fail2;
goto fail_register_input;
error = wacom_setup_pad_input_capabilities(pad_input_dev, wacom_wac);
if (error) {
......@@ -1099,25 +1099,26 @@ static int wacom_register_inputs(struct wacom *wacom)
} else {
error = input_register_device(pad_input_dev);
if (error)
goto fail3;
goto fail_register_pad_input;
error = wacom_initialize_leds(wacom);
if (error)
goto fail4;
goto fail_leds;
}
return 0;
fail4:
fail_leds:
input_unregister_device(pad_input_dev);
pad_input_dev = NULL;
fail3:
fail_register_pad_input:
input_unregister_device(input_dev);
input_dev = NULL;
fail2:
fail_register_input:
fail_input_cap:
wacom_wac->input = NULL;
wacom_wac->pad_input = NULL;
fail1:
fail_allocate_input:
if (input_dev)
input_free_device(input_dev);
if (pad_input_dev)
......@@ -1305,7 +1306,7 @@ static int wacom_probe(struct hid_device *hdev,
error = hid_parse(hdev);
if (error) {
hid_err(hdev, "parse failed\n");
goto fail1;
goto fail_parse;
}
wacom_wac = &wacom->wacom_wac;
......@@ -1314,12 +1315,12 @@ static int wacom_probe(struct hid_device *hdev,
features->pktlen = wacom_compute_pktlen(hdev);
if (features->pktlen > WACOM_PKGLEN_MAX) {
error = -EINVAL;
goto fail1;
goto fail_pktlen;
}
if (features->check_for_hid_type && features->hid_type != hdev->type) {
error = -ENODEV;
goto fail1;
goto fail_type;
}
wacom->usbdev = dev;
......@@ -1388,20 +1389,20 @@ static int wacom_probe(struct hid_device *hdev,
error = wacom_add_shared_data(hdev);
if (error)
goto fail1;
goto fail_shared_data;
}
if (!(features->quirks & WACOM_QUIRK_MONITOR) &&
(features->quirks & WACOM_QUIRK_BATTERY)) {
error = wacom_initialize_battery(wacom);
if (error)
goto fail2;
goto fail_battery;
}
if (!(features->quirks & WACOM_QUIRK_NO_INPUT)) {
error = wacom_register_inputs(wacom);
if (error)
goto fail3;
goto fail_register_inputs;
}
if (hdev->bus == BUS_BLUETOOTH) {
......@@ -1419,7 +1420,7 @@ static int wacom_probe(struct hid_device *hdev,
error = hid_hw_start(hdev, HID_CONNECT_HIDRAW);
if (error) {
hid_err(hdev, "hw start failed\n");
goto fail4;
goto fail_hw_start;
}
if (features->quirks & WACOM_QUIRK_MONITOR)
......@@ -1432,12 +1433,20 @@ static int wacom_probe(struct hid_device *hdev,
return 0;
fail4: if (hdev->bus == BUS_BLUETOOTH)
fail_hw_start:
wacom_unregister_inputs(wacom);
if (hdev->bus == BUS_BLUETOOTH)
device_remove_file(&hdev->dev, &dev_attr_speed);
fail_register_inputs:
wacom_unregister_inputs(wacom);
fail3: wacom_destroy_battery(wacom);
fail2: wacom_remove_shared_data(wacom_wac);
fail1: kfree(wacom);
wacom_destroy_battery(wacom);
fail_battery:
wacom_remove_shared_data(wacom_wac);
fail_shared_data:
fail_type:
fail_pktlen:
fail_parse:
kfree(wacom);
hid_set_drvdata(hdev, NULL);
return error;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment