[Openib-windows] srp blue screen when CM fail to connect
Fabian Tillier
ftillier at silverstorm.com
Tue Sep 5 13:06:22 PDT 2006
Hi Yossi,
On 9/4/06, Yossi Leybovich <sleybo at mellanox.co.il> wrote:
>
>
> > -----Original Message-----
> > From: ftillier.sst at gmail.com [mailto:ftillier.sst at gmail.com]
> > On Behalf Of Fabian Tillier
> > Sent: Saturday, September 02, 2006 2:04 AM
> >
> > Index: core/al/al_common.c
> > ===================================================================
> > --- core/al/al_common.c (revision 477)
> > +++ core/al/al_common.c (working copy)
> > @@ -127,7 +127,7 @@
> > * Used to force synchronous destruction of AL objects.
> > */
> > void
> > -ib_sync_destroy(
> > +__sync_destroy_cb(
> > IN void
> > *context )
> > {
> > UNUSED_PARAM( context );
> > @@ -405,7 +405,7 @@
> > if( ref_cnt == 0 )
> > {
> > if( p_obj->pfn_destroy == async_destroy_obj &&
> > - p_obj->user_destroy_cb != ib_sync_destroy )
> > + p_obj->user_destroy_cb != __sync_destroy_cb )
> > {
> > /* Queue the object for asynchronous
> > destruction. */ #if AL_OBJ_PRIVATE_ASYNC_PROC @@ -467,7 +467,7 @@
> > AL_ENTER( AL_DBG_AL_OBJ );
> >
> > if( pfn_destroy_cb == ib_sync_destroy )
> > - sync_destroy_obj( p_obj, pfn_destroy_cb );
> > + sync_destroy_obj( p_obj, __sync_destroy_cb );
> > else if( destroy_obj( p_obj, pfn_destroy_cb ) )
> > deref_al_obj( p_obj ); /* Only destroy the
> > object once. */
> >
> > Index: inc/iba/ib_al.h
> > ===================================================================
> > --- inc/iba/ib_al.h (revision 469)
> > +++ inc/iba/ib_al.h (working copy)
> > @@ -433,9 +433,7 @@
> > *
> > * SYNOPSIS
> > */
> > -AL_EXPORT void AL_API
> > -ib_sync_destroy(
> > - IN void
> > *context );
> > +static const ib_pfn_destroy_cb_t ib_sync_destroy =
> > (ib_pfn_destroy_cb_t)(LONG_PTR)-1;
> > /*
> > * PARAMETERS
> > * Not Applicable.
>
>
> Why do we need this change ?
For users to use ib_sync_destroy as a callback identifier to indicate
that destruction should be synchronous. Since IBAL in the kernel is
no longer a DLL, this was the easiest way of preserving the
functionality. Note that my patch did break 32-bit user-mode builds,
so perhaps your user-mode DLL wasn't updated?
> I think it cause blue screen with user level apps (like vstat)
> Here is a trace:
> I checked and the user_destroy_cb = 0xffffffff
That means the IBAL DLL is out of date.
- Fab
More information about the ofw
mailing list