diff options
author | Vasant Hegde <hegdevasant@linux.vnet.ibm.com> | 2020-12-18 17:40:38 +0530 |
---|---|---|
committer | Vasant Hegde <hegdevasant@linux.vnet.ibm.com> | 2021-01-06 16:58:14 +0530 |
commit | 9e17cc6e2dd0d850e833df9f393f64a7b9d6d1ac (patch) | |
tree | 83d21259ba55e64573ac21be62b2b76b4a45ad70 | |
parent | 2866f9dccdc6a39845d07424800e10b042005615 (diff) | |
download | skiboot-9e17cc6e2dd0d850e833df9f393f64a7b9d6d1ac.zip skiboot-9e17cc6e2dd0d850e833df9f393f64a7b9d6d1ac.tar.gz skiboot-9e17cc6e2dd0d850e833df9f393f64a7b9d6d1ac.tar.bz2 |
SBE: Account cancelled timer request
[ Upstream commit b44c7594523d20945179e497c45ec9007981ac75 ]
Currently we are not accounting cancelled timer request. So in some
corner cases we may schedule new timer request with
new-timer-value > inflight-timer-value.
Lets explicit check new_target value with inflight timer value.
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
-rw-r--r-- | hw/sbe-p9.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/hw/sbe-p9.c b/hw/sbe-p9.c index 63ff3cc..898a1fb 100644 --- a/hw/sbe-p9.c +++ b/hw/sbe-p9.c @@ -800,6 +800,9 @@ static void p9_sbe_timer_schedule(void) u64 tb_cnt, now = mftb(); if (sbe_timer_in_progress) { + if (sbe_timer_target >= sbe_last_gen_stamp) + return; + if (now >= sbe_last_gen_stamp) return; |