Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 342f31e8 authored by Jiri Kosina's avatar Jiri Kosina
Browse files

HID: make Wacom modesetting failures non-fatal



With Wacom tablet mode-setting moved from userspace into kernel,
we don't have to consider failures of device queries through the
_raw callback as hard failure, as the driver can safely continue
anyway.

This is consistent with the current USB driver in wacom_sys.c

Reported-by: default avatarPing Cheng <pinglinux@gmail.com>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent f9ce7c28
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -181,6 +181,11 @@ static int wacom_probe(struct hid_device *hdev,
		goto err_free;
	}

	/*
	 * Note that if the raw queries fail, it's not a hard failure and it
	 * is safe to continue
	 */

	/* Set Wacom mode2 */
	rep_data[0] = 0x03; rep_data[1] = 0x00;
	limit = 3;
@@ -188,10 +193,8 @@ static int wacom_probe(struct hid_device *hdev,
		ret = hdev->hid_output_raw_report(hdev, rep_data, 2,
				HID_FEATURE_REPORT);
	} while (ret < 0 && limit-- > 0);
	if (ret < 0) {
		dev_err(&hdev->dev, "failed to poke device #1, %d\n", ret);
		goto err_free;
	}
	if (ret < 0)
		dev_warn(&hdev->dev, "failed to poke device #1, %d\n", ret);

	/* 0x06 - high reporting speed, 0x05 - low speed */
	rep_data[0] = 0x06; rep_data[1] = 0x00;
@@ -200,10 +203,8 @@ static int wacom_probe(struct hid_device *hdev,
		ret = hdev->hid_output_raw_report(hdev, rep_data, 2,
				HID_FEATURE_REPORT);
	} while (ret < 0 && limit-- > 0);
	if (ret < 0) {
		dev_err(&hdev->dev, "failed to poke device #2, %d\n", ret);
		goto err_free;
	}
	if (ret < 0)
		dev_warn(&hdev->dev, "failed to poke device #2, %d\n", ret);

	hidinput = list_entry(hdev->inputs.next, struct hid_input, list);
	input = hidinput->input;