summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>2013-07-11 15:41:30 +0200
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>2013-07-25 14:15:24 +0100
commit159d865f2078ffa4441abb0155f725368371f836 (patch)
tree6a82677f2246d383a3f655dc436237917bcf45b2
parent2583d706a13d0dc7fa591d5bb036454d0ddbf5b0 (diff)
downloadlinux-exynos-159d865f2078ffa4441abb0155f725368371f836.tar.gz
linux-exynos-159d865f2078ffa4441abb0155f725368371f836.tar.bz2
linux-exynos-159d865f2078ffa4441abb0155f725368371f836.zip
Bluetooth: hidp: remove wrong send_report at init
The USB hid implementation does retrieve the reports during the start. However, this implementation does not call the HID command GET_REPORT (which would fetch the current status of each report), but use the DATA command, which is an Output Report (so transmitting data from the host to the device). The Wiimote controller is already guarded against this problem in the protocol, but it is not conformant to the specification to set all the reports to 0 on start. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Reviewed-by: David Herrmann <dh.herrmann@gmail.com> Acked-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
-rw-r--r--net/bluetooth/hidp/core.c14
1 files changed, 0 insertions, 14 deletions
diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c
index 2977bf7e4b8e..13863de433a4 100644
--- a/net/bluetooth/hidp/core.c
+++ b/net/bluetooth/hidp/core.c
@@ -703,20 +703,6 @@ static int hidp_parse(struct hid_device *hid)
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);
-
- list_for_each_entry(report, &hid->report_enum[HID_FEATURE_REPORT].
- report_list, list)
- hidp_send_report(session, report);
-
return 0;
}