Messages in this thread Patch in this message | | | From | Jiri Slaby <> | Subject | [PATCH] MFD: ezx-pcap, fix lock imbalance | Date | Wed, 1 Jul 2009 08:53:07 +0200 |
| |
There is an omitted unlock in pcap_adc_irq ISR on one fail path. Fix that.
Signed-off-by: Jiri Slaby <jirislaby@gmail.com> --- drivers/mfd/ezx-pcap.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
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); -- 1.6.3.2
| |