Return-Path: From: Benjamin Tissoires To: Benjamin Tissoires , Marcel Holtmann , Gustavo Padovan , David Herrmann , Jiri Kosina , linux-bluetooth@vger.kernel.org, linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/2] Bluetooth: hidp: remove wrong send_report at init Date: Thu, 11 Jul 2013 15:41:30 +0200 Message-Id: <1373550090-30379-3-git-send-email-benjamin.tissoires@redhat.com> In-Reply-To: <1373550090-30379-1-git-send-email-benjamin.tissoires@redhat.com> References: <1373550090-30379-1-git-send-email-benjamin.tissoires@redhat.com> List-ID: 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 --- net/bluetooth/hidp/core.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c index 9c8b50d..59d132a 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; } -- 1.8.3.1