[Openib-windows] RE: [PATCH] double bind to mad svc

Yossi Leybovich sleybo at mellanox.co.il
Tue Nov 15 06:31:47 PST 2005


Yes, its looks OK.
I also run OpenSM twice and no crash.
Pls apply.

> -----Original Message-----
> From: Fab Tillier [mailto:ftillier at silverstorm.com] 
> Sent: Monday, November 14, 2005 9:30 PM
> To: 'Yossi Leybovich'
> Cc: openib-windows at openib.org
> Subject: RE: [PATCH] double bind to mad svc
> 
> 
> Hi Yossi,
> 
> > -----Original Message-----
> > From: Yossi Leybovich [mailto:sleybo at mellanox.co.il]
> > Sent: Thursday, November 10, 2005 8:38 AM
> > 
> > Fab
> > 
> > When user try to bind to mad_svc twice on the same port the system 
> > crash. This patch fix the crash.
> > 
> > The problem was that the mad_reg was not created (because there 
> > already user that bind to the port) and in the destruction of the 
> > mad_svc the IBAL call to resume_send with h_mad_reg (which is NULL)
> > I just add check that verify that mad_reg exist.
> 
> What about not calling __check_send_queue from 
> __destroying_mad_svc if h_mad_reg is NULL?  Wouldn't that 
> work too, and avoid the extra conditional in __check_send_queue?
> 
> Let me know if this sounds good and I'll apply.
> 
> Thanks,
> 
> - Fab
> 
> Index: core/al/al_mad.c 
> ===================================================================
> --- core/al/al_mad.c    (revision 151)
> +++ core/al/al_mad.c    (working copy)
> @@ -1256,13 +1256,16 @@
>          * Since the MAD service is being destroyed, the user 
> cannot be issuing
>          * sends.
>          */
> +       if( h_mad_svc->h_mad_reg )
> +       {
>  #ifdef CL_KERNEL
> -       old_irql = KeRaiseIrqlToDpcLevel();
> +               old_irql = KeRaiseIrqlToDpcLevel();
>  #endif
> -       __check_send_queue( h_mad_svc );
> +               __check_send_queue( h_mad_svc );
>  #ifdef CL_KERNEL
> -       KeLowerIrql( old_irql );
> +               KeLowerIrql( old_irql );
>  #endif
> +       }
> 
>         cl_timer_destroy( &h_mad_svc->send_timer );
> 



More information about the ofw mailing list