diff options
author | Stephane Chatty <chatty@lii-enac.fr> | 2010-04-06 16:22:58 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2010-04-06 17:14:07 -0400 |
commit | 6549981bc54777c37eccf987e227aff47022ab7c (patch) | |
tree | 75334faa507fbbd7f7082e905fe6bddeea34ef61 /drivers/hid/hid-ntrig.c | |
parent | ab195c58b864802c15e494f06ae109413e12d50b (diff) |
HID: fix N-trig touch panel with recent firmware
Added an init message that avoids device freeze with recent firmware.
Signed-off-by: Stephane Chatty <chatty@enac.fr>
Tested-by: Rafi Rubin <rafi@seas.upenn.edu>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-ntrig.c')
-rw-r--r-- | drivers/hid/hid-ntrig.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/hid/hid-ntrig.c b/drivers/hid/hid-ntrig.c index 9b24fc510712..513db0a47c4a 100644 --- a/drivers/hid/hid-ntrig.c +++ b/drivers/hid/hid-ntrig.c | |||
@@ -1,8 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * HID driver for N-Trig touchscreens | 2 | * HID driver for N-Trig touchscreens |
3 | * | 3 | * |
4 | * Copyright (c) 2008 Rafi Rubin | 4 | * Copyright (c) 2008-2010 Rafi Rubin |
5 | * Copyright (c) 2009 Stephane Chatty | 5 | * Copyright (c) 2009-2010 Stephane Chatty |
6 | * | 6 | * |
7 | */ | 7 | */ |
8 | 8 | ||
@@ -15,6 +15,8 @@ | |||
15 | 15 | ||
16 | #include <linux/device.h> | 16 | #include <linux/device.h> |
17 | #include <linux/hid.h> | 17 | #include <linux/hid.h> |
18 | #include <linux/usb.h> | ||
19 | #include "usbhid/usbhid.h" | ||
18 | #include <linux/module.h> | 20 | #include <linux/module.h> |
19 | #include <linux/slab.h> | 21 | #include <linux/slab.h> |
20 | 22 | ||
@@ -286,6 +288,7 @@ static int ntrig_probe(struct hid_device *hdev, const struct hid_device_id *id) | |||
286 | struct ntrig_data *nd; | 288 | struct ntrig_data *nd; |
287 | struct hid_input *hidinput; | 289 | struct hid_input *hidinput; |
288 | struct input_dev *input; | 290 | struct input_dev *input; |
291 | struct hid_report *report; | ||
289 | 292 | ||
290 | if (id->driver_data) | 293 | if (id->driver_data) |
291 | hdev->quirks |= HID_QUIRK_MULTI_INPUT; | 294 | hdev->quirks |= HID_QUIRK_MULTI_INPUT; |
@@ -349,6 +352,11 @@ static int ntrig_probe(struct hid_device *hdev, const struct hid_device_id *id) | |||
349 | } | 352 | } |
350 | } | 353 | } |
351 | 354 | ||
355 | report = hdev->report_enum[HID_FEATURE_REPORT].report_id_hash[0x0a]; | ||
356 | if (report) | ||
357 | usbhid_submit_report(hdev, report, USB_DIR_OUT); | ||
358 | |||
359 | |||
352 | return 0; | 360 | return 0; |
353 | err_free: | 361 | err_free: |
354 | kfree(nd); | 362 | kfree(nd); |