From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Herrmann Subject: Re: [PATCH] Bluetooth: hidp: register HID devices async Date: Fri, 24 May 2013 15:53:28 +0200 Message-ID: References: <1369307425-5993-1-git-send-email-dh.herrmann@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Return-path: Received: from mail-ie0-f182.google.com ([209.85.223.182]:58063 "EHLO mail-ie0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751091Ab3EXNx2 (ORCPT ); Fri, 24 May 2013 09:53:28 -0400 In-Reply-To: Sender: linux-input-owner@vger.kernel.org List-Id: linux-input@vger.kernel.org To: Daniel Nicoletti Cc: "linux-bluetooth@vger.kernel.org" , Marcel Holtmann , Gustavo Padovan , "open list:HID CORE LAYER" , Jiri Kosina Hi On Fri, May 24, 2013 at 12:46 AM, Daniel Nicoletti wrote: > Ok, just tested with my two Apple mouses (Trackpad & MagicMouse), > and with the ENODATA patch it now works perfectly, the other mouse > doesn't freeze when connecting and the udev signals are also properly > emitted, is there some formal way of adding a tested-by? > > tested-by: Daniel Nicoletti Just this line is enough. Thanks! It's weird, though, that the other patch is required. With this patch here, hid_get_raw_report() should work just fine on bluetooth _and_ usb devices. And the fact that you no longer get a delay means that I/O is working properly. However, the GET_REPORT request seems to fail after device-initialization for some reason. My guess is that we send REPORT_INIT requests in hid_start() and Bluetooth devices seem to not work well with that. Hence, they send an HANDSHAKE error for each report once. This seems to fall into the same time-span where we send our first battery-request during registration and hence HIDP-core thinks the battery-request failed. @Jiri, @Marcel are you sure report-initialization is needed for BT-HIDP devices? BT-HID-profile doesn't mention it, but it relies heavily on USB-HID (which I haven't read..).. Anyway, would be nice to see both patches applied. Cheers David