Em Seg, 2009-06-01 às 20:25 +0300, Ilya Petrov escreveu: > > Also, the warning in case is supposed to be non-fatal. After the warning > > the TS no longer works? > > yep. it stopped working
Err, sorry, there is indeed a bug on code, and this warning which was supposed to be non-fatal leaves the adc_mutex locked. As your phone seems the be the only one where these warnings happen, would you mind trying to cause this warning with the following patch applied? Thanks! :) diff --git a/drivers/mfd/ezx-pcap.c b/drivers/mfd/ezx-pcap.c index 671a7ef..c1de4af 100644 --- a/drivers/mfd/ezx-pcap.c +++ b/drivers/mfd/ezx-pcap.c @@ -238,8 +238,10 @@ static irqreturn_t pcap_adc_irq(int irq, void *_pcap) mutex_lock(&pcap->adc_mutex); req = pcap->adc_queue[pcap->adc_head]; - if (WARN(!req, KERN_WARNING "adc irq without pending request\n")) + if (WARN(!req, KERN_WARNING "adc irq without pending request\n")) { + mutex_unlock(&pcap->adc_mutex); return IRQ_HANDLED; + } /* read requested channels results */ ezx_pcap_read(pcap, PCAP_REG_ADC, &tmp); -- Daniel Ribeiro