drivers/rtc/rtc-pcf8563.c: fix pcf8563_irq() error return value

As pointed out by Sergei Shtylyov, the pcf8563_irq function contains a
bug in the error handling: an interrupt handler is not supposed to
return an errno value but an 'enum irqreturn'.

Let's fix this by returning IRQ_NONE in case of a communication error.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Arnd Bergmann 2014-10-13 15:53:10 -07:00 committed by Linus Torvalds
parent e698a51239
commit 3ff38237f1
1 changed files with 1 additions and 1 deletions

View File

@ -168,7 +168,7 @@ static irqreturn_t pcf8563_irq(int irq, void *dev_id)
err = pcf8563_get_alarm_mode(pcf8563->client, NULL, &pending); err = pcf8563_get_alarm_mode(pcf8563->client, NULL, &pending);
if (err) if (err)
return err; return IRQ_NONE;
if (pending) { if (pending) {
rtc_update_irq(pcf8563->rtc, 1, RTC_IRQF | RTC_AF); rtc_update_irq(pcf8563->rtc, 1, RTC_IRQF | RTC_AF);