[Skiboot] [PATCH] OCC: Do not call occ_do_load if hostservice LID load is not complete

Ananth N Mavinakayanahalli ananth at in.ibm.com
Mon Mar 9 17:53:30 AEDT 2015


On Mon, Mar 09, 2015 at 11:56:53AM +0530, Vasant Hegde wrote:
> 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 at linux.vnet.ibm.com>
> cc: Ananth N Mavinakayanahalli <ananth at in.ibm.com>

OOPS! Good catch...

Acked-by: Ananth N Mavinakayanahalli <ananth at in.ibm.com>

> ---
>  hw/occ.c |    4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/occ.c b/hw/occ.c
> index cc2d4b7..34d6de5 100644
> --- a/hw/occ.c
> +++ b/hw/occ.c
> @@ -458,8 +458,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);
>  }



More information about the Skiboot mailing list