Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3ff38237 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Linus Torvalds
Browse files

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: default avatarArnd Bergmann <arnd@arndb.de>
Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent e698a512
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -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);