From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg KH Subject: Re: Interrupt issue in twl4030_keypad Date: Mon, 12 Dec 2011 13:30:55 -0800 Message-ID: <20111212213055.GA27399@suse.de> References: <20111212192309.GA12889@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from cantor2.suse.de ([195.135.220.15]:55359 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754042Ab1LLVbv (ORCPT ); Mon, 12 Dec 2011 16:31:51 -0500 Content-Disposition: inline In-Reply-To: Sender: linux-input-owner@vger.kernel.org List-Id: linux-input@vger.kernel.org To: Felipe Contreras Cc: linux-omap@vger.kernel.org, stable@vger.kernel.org, linux-input@vger.kernel.org, Felipe Balbi On Mon, Dec 12, 2011 at 11:04:35PM +0200, Felipe Contreras wrote: > On Mon, Dec 12, 2011 at 9:23 PM, Greg KH wrote: > > On Mon, Dec 12, 2011 at 08:30:49PM +0200, Felipe Contreras wrote: > >> The short version is this: either we revert this patch[1], or we apply > >> this patch series[2], as well as its essential fixes[3]. > >> > >> The long version is this. There's a synchronization issue with the > >> current keypad driver and twl core; the irq is marked as handled even > >> though the thread that is supposed to handle it hasn't run yet, and > >> since it's clear-on-read, and it hasn't been read, it's detected > >> again, so they keypad driver receives two interrupt callbacks instead > >> of one, and in the second one reads nothing from the i2c register, so > >> a key release is assumed. This makes key-presses as simple as shift+a > >> impossible. > >> > >> In other words, it's totally unreliable. This might not be isolated to > >> the keypard driver, but other "nested" interrupts from twl core that > >> started using request_threaded_irq prematurely (before it was > >> supported by the twl core). But at least I haven't tried those. > >> > >> This patch was applied on 2.6.33, which means all versions before 3.2 > >> are affected, including 3.1. > >> > >> What do you think about fixing this on stable kernels? > > > > I think you need to tell me exactly what git commit ids in Linus's tree > > that you want to see in the stable kernel releases, which you didn't do > > here :( > > All right, I guess that rules out the revert option. > > Once Linus merges the latest fixes I can send you the commit ids, and > they will work for 3.1, but I'm not sure for all the other versions > since 2.6.33. The surest thing would be to just revert the patch I > mentioned, which is a relatively small change compared to picking all > those commits. Then it also needs to be reverted in Linus's tree, is it? And again, you never told me what commit id the offending patch is here, you just pointed at some random urls, and for the majority of today, I only had email access, no web access, so I have no idea what you are referring to. But, odds are, we should also just backport the needed patches from Linus's tree, please send the git commit ids of them to stable@vger.kernel.org when they hit his tree, and the backports if needed. thanks, greg k-h