aboutsummaryrefslogtreecommitdiff
path: root/hw/occ.c
diff options
context:
space:
mode:
authorVasant Hegde <hegdevasant@linux.vnet.ibm.com>2015-03-09 11:56:53 +0530
committerStewart Smith <stewart@linux.vnet.ibm.com>2015-03-10 14:09:18 +1100
commitee347ac9cc4bd40d54f2a9937733713d6493b677 (patch)
treeb4e1d35ee9492737c7f938f8dd00f91be6f17529 /hw/occ.c
parent7f6352fa52e57c075caac8e3ef6ec85e01f85e2f (diff)
downloadskiboot-ee347ac9cc4bd40d54f2a9937733713d6493b677.zip
skiboot-ee347ac9cc4bd40d54f2a9937733713d6493b677.tar.gz
skiboot-ee347ac9cc4bd40d54f2a9937733713d6493b677.tar.bz2
OCC: Do not call occ_do_load if hostservice LID load is not complete
Commit 4db0c1e4f introduced occ_load_req queue. With that changes we queue the occ load request if hostservice LID load is not complete. And we have callback function (occ_poke_load_queue)...which takes care of calling __occ_do_load(). But current code proceeds and calls __occ_do_load() after queueing....which is not correct. So just return if we queue the occ load request. Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com> Reviewed-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com> Acked-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw/occ.c')
-rw-r--r--hw/occ.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/occ.c b/hw/occ.c
index 657f2ad..bd8fbd0 100644
--- a/hw/occ.c
+++ b/hw/occ.c
@@ -456,8 +456,10 @@ static void occ_do_load(u8 scope, u32 dbob_id __unused, u32 seq_id)
* Check if hostservices lid caching is complete. If not, queue
* the load request.
*/
- if (!hservices_lid_preload_complete())
+ if (!hservices_lid_preload_complete()) {
occ_queue_load(scope, dbob_id, seq_id);
+ return;
+ }
__occ_do_load(scope, dbob_id, seq_id);
}