diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-04 19:31:26 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-04 19:31:26 +0200 |
commit | dd0888c264c0d5feb5d86eb69c1fdbcdb42566af (patch) | |
tree | d224f6e96bc29b9a9dc3b2f60cb2f8808d41844e | |
parent | Merge branch 'for-2.6.31' of git://linux-nfs.org/~bfields/linux (diff) | |
parent | mfd: fix pcap adc locking (diff) | |
download | linux-dd0888c264c0d5feb5d86eb69c1fdbcdb42566af.tar.xz linux-dd0888c264c0d5feb5d86eb69c1fdbcdb42566af.zip |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
mfd: fix pcap adc locking
mfd: sm501, fix lock imbalance
-rw-r--r-- | drivers/mfd/ezx-pcap.c | 4 | ||||
-rw-r--r-- | drivers/mfd/sm501.c | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/drivers/mfd/ezx-pcap.c b/drivers/mfd/ezx-pcap.c index 671a7efe86a8..c1de4afa89a6 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); diff --git a/drivers/mfd/sm501.c b/drivers/mfd/sm501.c index 4c7b7962f6b8..0cc5eeff5ee8 100644 --- a/drivers/mfd/sm501.c +++ b/drivers/mfd/sm501.c @@ -367,7 +367,8 @@ int sm501_unit_power(struct device *dev, unsigned int unit, unsigned int to) break; default: - return -1; + gate = -1; + goto already; } writel(mode, sm->regs + SM501_POWER_MODE_CONTROL); |