Re: [PATCH] HID: wacom - PAD is independent with pen/touch

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

 



Hi Jiri,

Please don't forget to merge this patch. It fixes a bad pointer issue...

Thanks,

Ping

On Thu, Nov 20, 2014 at 4:31 PM, Ping Cheng <pinglinux@xxxxxxxxx> wrote:
> PAD can be on pen interface (Intuos Pro and Cintiq series) or touch
> interface (Bamboo PT and Intuos PT series) or its own interface
> (Bamboo pen-only and Intuos Pen M/S). We need to mark it independently.
>
> Signed-off-by: Ping Cheng <pingc@xxxxxxxxx>
> Reviewed-by:  Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
> ---
>  drivers/hid/wacom_sys.c | 8 +++++---
>  drivers/hid/wacom_wac.h | 1 +
>  2 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/hid/wacom_sys.c b/drivers/hid/wacom_sys.c
> index 68b6cd6..eb55316 100644
> --- a/drivers/hid/wacom_sys.c
> +++ b/drivers/hid/wacom_sys.c
> @@ -1135,7 +1135,7 @@ static void wacom_clean_inputs(struct wacom *wacom)
>                         input_free_device(wacom->wacom_wac.input);
>         }
>         if (wacom->wacom_wac.pad_input) {
> -               if (wacom->wacom_wac.input_registered)
> +               if (wacom->wacom_wac.pad_registered)
>                         input_unregister_device(wacom->wacom_wac.pad_input);
>                 else
>                         input_free_device(wacom->wacom_wac.pad_input);
> @@ -1162,6 +1162,7 @@ static int wacom_register_inputs(struct wacom *wacom)
>                 error = input_register_device(input_dev);
>                 if (error)
>                         return error;
> +               wacom_wac->input_registered = true;
>         }
>
>         error = wacom_setup_pad_input_capabilities(pad_input_dev, wacom_wac);
> @@ -1174,22 +1175,23 @@ static int wacom_register_inputs(struct wacom *wacom)
>                 error = input_register_device(pad_input_dev);
>                 if (error)
>                         goto fail_register_pad_input;
> +               wacom_wac->pad_registered = true;
>
>                 error = wacom_initialize_leds(wacom);
>                 if (error)
>                         goto fail_leds;
>         }
>
> -       wacom_wac->input_registered = true;
> -
>         return 0;
>
>  fail_leds:
>         input_unregister_device(pad_input_dev);
>         pad_input_dev = NULL;
> +       wacom_wac->pad_registered = false;
>  fail_register_pad_input:
>         input_unregister_device(input_dev);
>         wacom_wac->input = NULL;
> +       wacom_wac->input_registered = false;
>         return error;
>  }
>
> diff --git a/drivers/hid/wacom_wac.h b/drivers/hid/wacom_wac.h
> index 0f0b85e..128cbb3 100644
> --- a/drivers/hid/wacom_wac.h
> +++ b/drivers/hid/wacom_wac.h
> @@ -183,6 +183,7 @@ struct wacom_wac {
>         struct input_dev *input;
>         struct input_dev *pad_input;
>         bool input_registered;
> +       bool pad_registered;
>         int pid;
>         int battery_capacity;
>         int num_contacts_left;
> --
> 1.9.1
>
--
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