summaryrefslogtreecommitdiff
path: root/drivers/extcon
diff options
context:
space:
mode:
authorSachin Kamat <sachin.kamat@linaro.org>2012-11-20 10:46:41 +0400
committerMyungJoo Ham <myungjoo.ham@samsung.com>2012-11-21 15:00:40 +0400
commit68c9274d0fd1f66c6d105c52a61268d943e30862 (patch)
treeb9c580869cc52e249c9a3974907fee287452ee2f /drivers/extcon
parentc0c078c363a578543826bb8bfc9af47c7cc9321b (diff)
downloadlinux-68c9274d0fd1f66c6d105c52a61268d943e30862.tar.xz
extcon: max8997: Fix incorrect error check and return value
irq_create_mapping() returns 0 if it fails to provide a valid irq number. 'ret' needs to be updated with a negative error code before returning from probe to signal probe failure. While at it, also corrected the 'virq' type to unsigned from signed. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
Diffstat (limited to 'drivers/extcon')
-rw-r--r--drivers/extcon/extcon-max8997.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/extcon/extcon-max8997.c b/drivers/extcon/extcon-max8997.c
index 77b66b0cc8f5..a46c82f31837 100644
--- a/drivers/extcon/extcon-max8997.c
+++ b/drivers/extcon/extcon-max8997.c
@@ -450,11 +450,13 @@ static int __devinit max8997_muic_probe(struct platform_device *pdev)
for (i = 0; i < ARRAY_SIZE(muic_irqs); i++) {
struct max8997_muic_irq *muic_irq = &muic_irqs[i];
- int virq = 0;
+ unsigned int virq = 0;
virq = irq_create_mapping(max8997->irq_domain, muic_irq->irq);
- if (!virq)
+ if (!virq) {
+ ret = -EINVAL;
goto err_irq;
+ }
muic_irq->virq = virq;
ret = request_threaded_irq(virq, NULL,max8997_muic_irq_handler,