[ofw] [Patch][Core] Fix possible BSOD during shutdown

Alex Naslednikov xalex at mellanox.co.il
Wed May 12 02:15:53 PDT 2010


The only reason to leave there ASSERT is for debug purposes.
This assert previously helped me to get into the problem easily.

But taking into account that we would like to debug the original race,
this assert can help us a lot. 

-----Original Message-----
From: Smith, Stan [mailto:stan.smith at intel.com] 
Sent: Tuesday, May 11, 2010 7:39 PM
To: Alex Naslednikov; ofw at lists.openfabrics.org
Subject: RE: [Patch][Core] Fix possible BSOD during shutdown

Alex Naslednikov wrote:
> Avoid the BSOD that can happen as a race consequence.
> Signed-off by: Alexander Naslednikov (xalex at mellanox.co.il)
> Index: D:/windows/MLNX_VPI_trunk/core/al/kernel/al_smi.c
> ===================================================================
> --- D:/windows/MLNX_VPI_trunk/core/al/kernel/al_smi.c (revision 5854)
> +++ D:/windows/MLNX_VPI_trunk/core/al/kernel/al_smi.c (revision 5855)
> @@ -3299,7 +3299,14 @@
>
>   CL_ASSERT( mad_svc_context );
>   CL_ASSERT( p_mad_response );
> - CL_ASSERT( p_mad_response->send_context1 );
> +
> +
> + if ( !p_mad_response->send_context1 ) {  CL_ASSERT( 
> + p_mad_response->send_context1 );  ib_put_mad( p_mad_response );  
> + AL_EXIT( AL_DBG_SMI );  return; }
>
>   /* Initialize pointers. */
>   p_spl_qp_svc = mad_svc_context;

Hello,
  Your patch does indeed cure the intermittent shutdown crash. As noted in previous email, the fix does not address the 'real' race condition; although preventing any crash is goodness.
Point being, why retain the 'CL_ASSERT( p_mad_response->send_context1 );' statement?

stan.



More information about the ofw mailing list