summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Bagwell <chris@cnpbagwell.com>2011-10-27 07:24:22 +0200
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2011-10-27 07:35:50 +0200
commit6e8ec5379c7ab9a57190e23af173aee74f88e54a (patch)
treee95d80d3b38290891815a3214ff5271212672c0d
parentInput: adp5589-keys - add support for the ADP5585 derivatives (diff)
downloadlinux-6e8ec5379c7ab9a57190e23af173aee74f88e54a.tar.xz
linux-6e8ec5379c7ab9a57190e23af173aee74f88e54a.zip
Input: wacom - cleanup feature report for bamboos
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>
-rw-r--r--drivers/input/tablet/wacom_sys.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c
index a205055a4c51..4f354737a833 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);
@@ -362,7 +363,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;