From patchwork Thu Jul 28 14:10:58 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [natty] SRU: Revert "HID: magicmouse: ignore 'ivalid report id' while switching modes" Date: Thu, 28 Jul 2011 04:10:58 -0000 From: Herton Ronaldo Krzesinski X-Patchwork-Id: 107261 Message-Id: <20110728141057.GA2544@herton-IdeaPad-Y430> To: kernel-team@lists.ubuntu.com SRU Justification Impact: Apple Magic Mouse stops to be functional on natty kernel after 2.6.38.8 stable update. Fix: Revert a previous applied patch which brought this regression. The revert is a clean cherry-pick of upstream commit c3a4924 with BugLink and signoffs added. Testcase: Machine with Apple Magic Mouse attached. See if it works or not. Patch attached. I'm just sending this to the list to be reviewed/acked, the revert was reported to fix the problem in bug 814250. If it's ok no need to apply to master-next, as it is a regression from -proposed we must respin the -proposed kernel applying it directly on master. Acked-by: Tim Gardner Acked-by: Stefan Bader From: Jiri Kosina Date: Thu, 16 Jun 2011 12:21:34 +0200 Subject: [PATCH] Revert "HID: magicmouse: ignore 'ivalid report id' while switching modes" This reverts commit 23746a66d7d9e73402c68ef00d708796b97ebd72. It turned out that the actual reason for failure is not the device firmware, but bug in Bluetooth stack, which will be fixed by patch by Ville Tervo which corrects the mask handling for CSR 1.1 Dongles. BugLink: http://bugs.launchpad.net/bugs/814250 Reported-and-tested-by: Ed Tomlinson Reported-and-tested-by: Chase Douglas Signed-off-by: Jiri Kosina Signed-off-by: Herton Ronaldo Krzesinski --- drivers/hid/hid-magicmouse.c | 10 +--------- 1 files changed, 1 insertions(+), 9 deletions(-) diff --git a/drivers/hid/hid-magicmouse.c b/drivers/hid/hid-magicmouse.c index a3972bb..418c399 100644 --- a/drivers/hid/hid-magicmouse.c +++ b/drivers/hid/hid-magicmouse.c @@ -501,17 +501,9 @@ static int magicmouse_probe(struct hid_device *hdev, } report->size = 6; - /* - * The device reponds with 'invalid report id' when feature - * report switching it into multitouch mode is sent to it. - * - * This results in -EIO from the _raw low-level transport callback, - * but there seems to be no other way of switching the mode. - * Thus the super-ugly hacky success check below. - */ ret = hdev->hid_output_raw_report(hdev, feature, sizeof(feature), HID_FEATURE_REPORT); - if (ret != -EIO) { + if (ret != sizeof(feature)) { hid_err(hdev, "unable to request touch data (%d)\n", ret); goto err_stop_hw; } -- 1.7.4.1