summaryrefslogtreecommitdiffstats
path: root/net/bluetooth/hidp
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@googlemail.com>2011-08-26 13:27:12 +0200
committerGustavo F. Padovan <padovan@profusion.mobi>2011-09-21 12:58:12 -0300
commit142c69c6eaab26587264881bb71546e30aafdcee (patch)
treeebd7c22701a97cb192fa07fbb8f26e9d7ecc8902 /net/bluetooth/hidp
parent21061df3a2577b8d1feb1ca3cb51445085692e89 (diff)
downloadlinux-142c69c6eaab26587264881bb71546e30aafdcee.tar.bz2
Bluetooth: hidp: Add support for NO_INIT_REPORTS quirk
During setup the host initializes all HID reports. Some devices do not support this. If this quirk is set, we skip the initialization. See also usbhid_init_reports() for this quirk. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com> Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Diffstat (limited to 'net/bluetooth/hidp')
-rw-r--r--net/bluetooth/hidp/core.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c
index fb68f344c34a..b83979c548b2 100644
--- a/net/bluetooth/hidp/core.c
+++ b/net/bluetooth/hidp/core.c
@@ -872,6 +872,9 @@ static int hidp_start(struct hid_device *hid)
struct hidp_session *session = hid->driver_data;
struct hid_report *report;
+ if (hid->quirks & HID_QUIRK_NO_INIT_REPORTS)
+ return 0;
+
list_for_each_entry(report, &hid->report_enum[HID_INPUT_REPORT].
report_list, list)
hidp_send_report(session, report);