diff options
author | Vasant Hegde <hegdevasant@linux.vnet.ibm.com> | 2019-05-28 11:17:19 +0530 |
---|---|---|
committer | Stewart Smith <stewart@linux.ibm.com> | 2019-06-03 10:28:57 +1000 |
commit | ec9f67bdaedcbfb5836677430da3738c3a3eaa84 (patch) | |
tree | a3e5768c5b41f46a51a4f06f1452c1941d7bd58c /hw/occ.c | |
parent | bc5584c3145bc2029293674689275b55f87f246e (diff) | |
download | skiboot-ec9f67bdaedcbfb5836677430da3738c3a3eaa84.zip skiboot-ec9f67bdaedcbfb5836677430da3738c3a3eaa84.tar.gz skiboot-ec9f67bdaedcbfb5836677430da3738c3a3eaa84.tar.bz2 |
opal-msg: Pass return value to callback handler
Kernel calls opal_get_msg() API to read OPAL message. In this path OPAL
calls "callback" handler to inform caller that kernel read the opal
message. It assumes that read is always success. This assumption was
fine as message was always fixed size.
Next patch introduces variable size opal message. In that situation
opal_get_msg() may fail due to insufficient buffer size (ex: old kernel
and new OPAL combination). So lets add `return value` parameter to
"callback" handler. So that caller knows kernel didn't read the
message and take appropriate action.
Cc: Jeremy Kerr <jk@ozlabs.org>
Cc: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Cc: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Acked-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Diffstat (limited to 'hw/occ.c')
-rw-r--r-- | hw/occ.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1,4 +1,4 @@ -/* Copyright 2013-2017 IBM Corp. +/* Copyright 2013-2019 IBM Corp. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -853,7 +853,7 @@ static bool cpu_pstates_prepare_core(struct proc_chip *chip, } static bool occ_opal_msg_outstanding = false; -static void occ_msg_consumed(void *data __unused) +static void occ_msg_consumed(void *data __unused, int status __unused) { lock(&occ_lock); occ_opal_msg_outstanding = false; |