This is trying to clear the lower 32 bits but the type is wrong so it
clears everything.
Signed-off-by: Dan Carpenter <[email protected]>
diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
index 0723ba8..1cf4608 100644
--- a/drivers/hid/wacom_wac.c
+++ b/drivers/hid/wacom_wac.c
@@ -1765,7 +1765,7 @@ static int wacom_wac_pen_event(struct hid_device *hdev, struct hid_field *field,
wacom_wac->hid_data.tipswitch |= value;
return 0;
case HID_DG_TOOLSERIALNUMBER:
- wacom_wac->serial[0] = (wacom_wac->serial[0] & ~0xFFFFFFFF);
+ wacom_wac->serial[0] = (wacom_wac->serial[0] & ~0xFFFFFFFFULL);
wacom_wac->serial[0] |= value;
return 0;
case WACOM_HID_WD_SENSE:
On 11/10/2016 11:25 AM, Dan Carpenter wrote:
> This is trying to clear the lower 32 bits but the type is wrong so it
> clears everything.
>
> Signed-off-by: Dan Carpenter <[email protected]>
>
Reviewed-by: Jason Gerecke <[email protected]>
Jason
---
Now instead of four in the eights place /
you?ve got three, ?Cause you added one /
(That is to say, eight) to the two, /
But you can?t take seven from three, /
So you look at the sixty-fours....
> diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
> index 0723ba8..1cf4608 100644
> --- a/drivers/hid/wacom_wac.c
> +++ b/drivers/hid/wacom_wac.c
> @@ -1765,7 +1765,7 @@ static int wacom_wac_pen_event(struct hid_device *hdev, struct hid_field *field,
> wacom_wac->hid_data.tipswitch |= value;
> return 0;
> case HID_DG_TOOLSERIALNUMBER:
> - wacom_wac->serial[0] = (wacom_wac->serial[0] & ~0xFFFFFFFF);
> + wacom_wac->serial[0] = (wacom_wac->serial[0] & ~0xFFFFFFFFULL);
> wacom_wac->serial[0] |= value;
> return 0;
> case WACOM_HID_WD_SENSE:
> --
On Thu, 10 Nov 2016, Dan Carpenter wrote:
> This is trying to clear the lower 32 bits but the type is wrong so it
> clears everything.
>
> Signed-off-by: Dan Carpenter <[email protected]>
Applied to for-4.10/wacom/mobile-studio-pro. Thanks,
--
Jiri Kosina
SUSE Labs