Commit 8e116d31 authored by Jason Gerecke's avatar Jason Gerecke Committed by Jiri Kosina

HID: wacom: Fail probe if HID_GENERIC device has unknown device_type

The last patch was careful to maintain backwards-compatible behavior
by forcing device_type to BTN_TOOL_PEN (and printing a warning) if it
were still uninitialized after scanning the HID descriptor and applying
quirks. We should be more strict with HID_GENERIC devices, however,
since there is no a priori guarantee that it is a tablet or touchpad.
If the device_type is still uninitialized for a HID_GENERIC device then
we assume that it isn't something the driver can work with and so fail
the probe.
Signed-off-by: default avatarJason Gerecke <jason.gerecke@wacom.com>
Reviewed-by: default avatarPing Cheng <pingc@wacom.com>
Reviewed-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent 042628ab
...@@ -1528,8 +1528,14 @@ static int wacom_probe(struct hid_device *hdev, ...@@ -1528,8 +1528,14 @@ static int wacom_probe(struct hid_device *hdev,
wacom_setup_device_quirks(wacom); wacom_setup_device_quirks(wacom);
if (!features->device_type && features->type != WIRELESS) { if (!features->device_type && features->type != WIRELESS) {
error = features->type == HID_GENERIC ? -ENODEV : 0;
dev_warn(&hdev->dev, "Unknown device_type for '%s'. %s.", dev_warn(&hdev->dev, "Unknown device_type for '%s'. %s.",
hdev->name, "Assuming pen"); hdev->name,
error ? "Ignoring" : "Assuming pen");
if (error)
goto fail_shared_data;
features->device_type = BTN_TOOL_PEN; features->device_type = BTN_TOOL_PEN;
} }
......
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