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

Commit 9a8f99fa authored by Christian Dietrich's avatar Christian Dietrich Committed by Benjamin Herrenschmidt
Browse files

powerpc/rtas-rtc: remove sideeffects of printk_ratelimit



Don't use printk_ratelimit() as an additional condition for returning
on an error. Because when the ratelimit is reached, printk_ratelimit
will return 0 and e.g. in rtas_get_boot_time won't check for an error
condition.

Signed-off-by: default avatarChristian Dietrich <christian.dietrich@informatik.uni-erlangen.de>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 937c190c
Loading
Loading
Loading
Loading
+17 −12
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@
#include <linux/init.h>
#include <linux/rtc.h>
#include <linux/delay.h>
#include <linux/ratelimit.h>
#include <asm/prom.h>
#include <asm/rtas.h>
#include <asm/time.h>
@@ -29,8 +30,9 @@ unsigned long __init rtas_get_boot_time(void)
		}
	} while (wait_time && (get_tb() < max_wait_tb));

	if (error != 0 && printk_ratelimit()) {
		printk(KERN_WARNING "error: reading the clock failed (%d)\n",
	if (error != 0) {
		printk_ratelimited(KERN_WARNING
				   "error: reading the clock failed (%d)\n",
				   error);
		return 0;
	}
@@ -55,9 +57,10 @@ void rtas_get_rtc_time(struct rtc_time *rtc_tm)

		wait_time = rtas_busy_delay_time(error);
		if (wait_time) {
			if (in_interrupt() && printk_ratelimit()) {
			if (in_interrupt()) {
				memset(rtc_tm, 0, sizeof(struct rtc_time));
				printk(KERN_WARNING "error: reading clock"
				printk_ratelimited(KERN_WARNING
						   "error: reading clock "
						   "would delay interrupt\n");
				return;	/* delay not allowed */
			}
@@ -65,8 +68,9 @@ void rtas_get_rtc_time(struct rtc_time *rtc_tm)
		}
	} while (wait_time && (get_tb() < max_wait_tb));

        if (error != 0 && printk_ratelimit()) {
                printk(KERN_WARNING "error: reading the clock failed (%d)\n",
	if (error != 0) {
		printk_ratelimited(KERN_WARNING
				   "error: reading the clock failed (%d)\n",
				   error);
		return;
        }
@@ -99,8 +103,9 @@ int rtas_set_rtc_time(struct rtc_time *tm)
		}
	} while (wait_time && (get_tb() < max_wait_tb));

        if (error != 0 && printk_ratelimit())
                printk(KERN_WARNING "error: setting the clock failed (%d)\n",
	if (error != 0)
		printk_ratelimited(KERN_WARNING
				   "error: setting the clock failed (%d)\n",
				   error);

        return 0;