Message ID | 20210504030358.1715034-5-nathanl@linux.ibm.com (mailing list archive) |
---|---|
State | RFC |
Headers | show |
Series | powerpc/rtas: improved busy and extended delay status handling | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | Successfully applied on branch powerpc/merge (134b5c8a49b594ff6cfb4ea1a92400bb382b46d2) |
snowpatch_ozlabs/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 22 lines checked |
snowpatch_ozlabs/needsstable | success | Patch has no Fixes tags |
diff --git a/arch/powerpc/kernel/rtas-rtc.c b/arch/powerpc/kernel/rtas-rtc.c index 82cb95f29a11..421b92f95669 100644 --- a/arch/powerpc/kernel/rtas-rtc.c +++ b/arch/powerpc/kernel/rtas-rtc.c @@ -62,7 +62,7 @@ void rtas_get_rtc_time(struct rtc_time *rtc_tm) int rtas_set_rtc_time(struct rtc_time *tm) { - int error, wait_time; + int error; u64 max_wait_tb; max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT; @@ -72,13 +72,7 @@ int rtas_set_rtc_time(struct rtc_time *tm) tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, 0); - wait_time = rtas_busy_delay_time(error); - if (wait_time) { - if (in_interrupt()) - return 1; /* probably decrementer */ - msleep(wait_time); - } - } while (wait_time && (get_tb() < max_wait_tb)); + } while (rtas_sched_if_busy(error) && (get_tb() < max_wait_tb)); if (error != 0) printk_ratelimited(KERN_WARNING
rtas_set_rtc_time() is called only in process context; convert this to rtas_sched_if_busy(). Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com> --- arch/powerpc/kernel/rtas-rtc.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-)