]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
HID: uclogic: Do not initialize non-USB devices
authorNikolai Kondrashov <spbnick@gmail.com>
Sun, 10 Feb 2019 10:14:06 +0000 (12:14 +0200)
committerBenjamin Tissoires <benjamin.tissoires@redhat.com>
Thu, 21 Feb 2019 11:00:54 +0000 (12:00 +0100)
Do not try to initialize UC-Logic tablets if the underlying device is
not a USB device, but e.g. a uhid device.

Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
drivers/hid/hid-uclogic-params.c

index b582739a570ac69b04de38137cbc01edcc98a904..7710d9f957da5b0dd07ca1444416de7cecd10529 100644 (file)
@@ -826,7 +826,8 @@ static int uclogic_params_huion_init(struct uclogic_params *params,
  *             uclogic_params_cleanup()). Not modified in case of error.
  *             Cannot be NULL.
  * @hdev:      The HID device of the tablet interface to initialize and get
- *             parameters from. Cannot be NULL.
+ *             parameters from. Cannot be NULL. Must be using the USB low-level
+ *             driver, i.e. be an actual USB tablet.
  *
  * Returns:
  *     Zero, if successful. A negative errno code on error.
@@ -844,7 +845,8 @@ int uclogic_params_init(struct uclogic_params *params,
        struct uclogic_params p = {0, };
 
        /* Check arguments */
-       if (params == NULL || hdev == NULL) {
+       if (params == NULL || hdev == NULL ||
+           !hid_is_using_ll_driver(hdev, &usb_hid_driver)) {
                rc = -EINVAL;
                goto cleanup;
        }