[Openib-windows] SRP __ioc_query_sa error flow

Fabian Tillier ftillier at silverstorm.com
Wed Sep 6 09:27:08 PDT 2006


Hi Yossi,

On 9/6/06, Yossi Leybovich <sleybo at mellanox.co.il> wrote:
>
> Fab
>
> In the begging of __ioc_query_sa function you check
> if( p_svc->h_node_query )
>   return IB_NOT_DONE;
>
>  if( p_svc->h_path_query )
>   return IB_NOT_DONE;
>  I think that when ib_query fail we should set p_svc->h_node_query = NULL so
> in the next time the sweep will try to query this mad_svc (this port).
> The current code does not do  that
>
>
>  status = ib_query( gh_al, &query, &p_svc->h_node_query );
>  if( status != IB_SUCCESS )
>  {
>   cl_atomic_dec( &p_svc->query_cnt );
>   deref_al_obj( &p_svc->obj );
>   AL_PRINT_EXIT( TRACE_LEVEL_WARNING, AL_DBG_PNP,
>    ("ib_query returned %s\n", ib_get_err_str( status )) );
>   return status;
>  }
>
> What do you think ?

There's no need to clear the handle - if ib_query fails, the input
handles is not modified.  As that handles is NULL when the call is
made, the handle is still NULL when after the call fails.

- Fab




More information about the ofw mailing list