On Mon, Dec 12, 2011 at 10:55 PM, Felipe Contreras <felipe.contreras@xxxxxxxxx> wrote: > On Mon, Dec 12, 2011 at 9:12 PM, Felipe Balbi <balbi@xxxxxx> 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 believe Samuel has already applied those to the MFD tree. > > Yeap, I think Linus' tree is going to be fine (3.2), but I'm trying to > find out what to do with previous kernels: as in, what should be done > for stable trees. I only see this in his -next branch, so 3.2 is still affected. -- Gražvydas -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html