50 lines
1.8 KiB
Diff
50 lines
1.8 KiB
Diff
From: Chris Bagwell <chris@cnpbagwell.com>
|
|
Date: Wed, 26 Oct 2011 22:24:22 -0700
|
|
Subject: Input: wacom - cleanup feature report for bamboos
|
|
|
|
commit 6e8ec5379c7ab9a57190e23af173aee74f88e54a upstream.
|
|
|
|
Only the stylus interface on Bamboo's has a feature report that can
|
|
be used to set to wacom mode. The touch interface only has 1 report mode
|
|
and will return errors for those get/sets requests.
|
|
|
|
The get request was always erroring out because it was not marked as
|
|
an input request. Only down side of error was needlessly resending the
|
|
set request 5 times.
|
|
|
|
Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
|
|
Acked-by: Ping Cheng <pingc@wacom.com>
|
|
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
|
|
---
|
|
drivers/input/tablet/wacom_sys.c | 6 ++++--
|
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c
|
|
index 1c1b7b43cf92..8669096a8ea1 100644
|
|
--- a/drivers/input/tablet/wacom_sys.c
|
|
+++ b/drivers/input/tablet/wacom_sys.c
|
|
@@ -66,7 +66,8 @@ static int wacom_get_report(struct usb_interface *intf, u8 type, u8 id,
|
|
do {
|
|
retval = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0),
|
|
USB_REQ_GET_REPORT,
|
|
- USB_TYPE_CLASS | USB_RECIP_INTERFACE,
|
|
+ USB_DIR_IN | USB_TYPE_CLASS |
|
|
+ USB_RECIP_INTERFACE,
|
|
(type << 8) + id,
|
|
intf->altsetting[0].desc.bInterfaceNumber,
|
|
buf, size, 100);
|
|
@@ -348,7 +349,8 @@ static int wacom_query_tablet_data(struct usb_interface *intf, struct wacom_feat
|
|
WAC_HID_FEATURE_REPORT,
|
|
report_id, rep_data, 4, 1);
|
|
} while ((error < 0 || rep_data[1] != 4) && limit++ < WAC_MSG_RETRIES);
|
|
- } else if (features->type != TABLETPC) {
|
|
+ } else if (features->type != TABLETPC &&
|
|
+ features->device_type == BTN_TOOL_PEN) {
|
|
do {
|
|
rep_data[0] = 2;
|
|
rep_data[1] = 2;
|
|
--
|
|
1.7.10.1
|
|
|