Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752118AbYJRUoU (ORCPT ); Sat, 18 Oct 2008 16:44:20 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751155AbYJRUoL (ORCPT ); Sat, 18 Oct 2008 16:44:11 -0400 Received: from nf-out-0910.google.com ([64.233.182.191]:13304 "EHLO nf-out-0910.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751127AbYJRUoL (ORCPT ); Sat, 18 Oct 2008 16:44:11 -0400 Message-ID: Date: Sat, 18 Oct 2008 13:44:08 -0700 From: "Steven Noonan" To: "Justin Mattock" Subject: Re: appletouch regression Cc: "Jiri Slaby" , "Jiri Kosina" , "Sven Anders" , linux-kernel@vger.kernel.org In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <1224359819-15152-1-git-send-email-jirislaby@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4922 Lines: 111 On Sat, Oct 18, 2008 at 1:32 PM, Justin Mattock wrote: > On Sat, Oct 18, 2008 at 12:56 PM, Jiri Slaby wrote: >> Steven Noonan wrote: >>> On Sat, Oct 18, 2008 at 10:29 AM, Justin Mattock >>> wrote: >>>> On Sat, Oct 18, 2008 at 9:44 AM, Steven Noonan wrote: >>>>> 2008/10/18 Sven Anders : >>>>>> Steven Noonan schrieb: >>>>>>> It seems that the appletouch driver is (sporadically) not detecting my >>>>>>> Apple Trackpad anymore on Linus' current tree (2.6.27-05577-g0cfd810). >>>>>>> When it is misbehaving, it doesn't have any /dev/input/event* entry >>>>>>> that corresponds to the input from appletouch, and dmesg -should- show >>>>>>> the following, as 2.6.27.1 does, but does not: >>>>>>> >>>>>>> appletouch: Geyser mode initialized. >>>>>>> input: appletouch as /class/input/input4 >>>>>>> usbcore: registered new interface driver appletouch >>>>>>> appletouch: 17" model detected >>>>>>> >>>>>>> On the current tree, occasionally all I get is: >>>>>>> >>>>>>> usbcore: registered new interface driver appletouch >> [...] >>> Any ideas, gentlemen? >> >> Yeah, I see the problem. The device is grabbed by the hid bus and not >> released even if apple driver says ENODEV (this is expected behaviour >> and noted in the driver). >> >> Could you try this patch? (Not ready for merge, it needs to be cleaned >> up.) >> >> --- >> drivers/hid/hid-core.c | 34 ++++++++++++++++++++++++++++++++++ >> 1 files changed, 34 insertions(+), 0 deletions(-) >> >> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c >> index 8a7d9db..94cf1db 100644 >> --- a/drivers/hid/hid-core.c >> +++ b/drivers/hid/hid-core.c >> @@ -1539,6 +1539,34 @@ static const struct hid_device_id hid_ignore_list[] = { >> { } >> }; >> >> +static const struct hid_device_id hid_mouse_ignore_list[] = { >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ANSI) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ISO) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ANSI) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ISO) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_JIS) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ANSI) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ISO) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ANSI) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ISO) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_JIS) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ANSI) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ISO) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_JIS) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ISO) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_JIS) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) }, >> + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) }, >> + { } >> +}; >> + >> +#include >> + >> static bool hid_ignore(struct hid_device *hdev) >> { >> switch (hdev->vendor) { >> @@ -1555,6 +1583,12 @@ static bool hid_ignore(struct hid_device *hdev) >> break; >> } >> >> + if (hdev->bus == BUS_USB && to_usb_interface(hdev->dev.parent)-> >> + cur_altsetting->desc.bInterfaceProtocol == >> + USB_INTERFACE_PROTOCOL_MOUSE && >> + hid_match_id(hdev, hid_mouse_ignore_list)) >> + return true; >> + >> return !!hid_match_id(hdev, hid_ignore_list); >> } >> >> -- >> 1.6.0.2 >> >> > > Applied and can confirm > my appletouchpad is alive and reacting, > Thanks a lot man. > > regards; > > -- > Justin P. Mattock > Works here. Tested-by: Steven Noonan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/