<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16587" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=576460816-15102008><FONT face=Arial color=#0000ff
size=2>Applied on 1653, 1654.</FONT></SPAN></DIV>
<DIV><SPAN class=576460816-15102008><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=576460816-15102008><FONT face=Arial color=#0000ff
size=2>Thanks</FONT></SPAN></DIV>
<DIV><SPAN class=576460816-15102008><FONT face=Arial color=#0000ff
size=2>Tzachi</FONT></SPAN></DIV><BR>
<BLOCKQUOTE dir=ltr
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> ofw-bounces@lists.openfabrics.org
[mailto:ofw-bounces@lists.openfabrics.org] <B>On Behalf Of </B>Smith,
Stan<BR><B>Sent:</B> Wednesday, October 15, 2008 5:59 PM<BR><B>To:</B> Tzachi
Dar; ofw@lists.openfabrics.org<BR><B>Subject:</B> [ofw] RE: Patch: Avoid a
crash in an ASSERT during a WHQL test.<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV><SPAN class=379525615-15102008><FONT face=Arial color=#0000ff
size=2>Hello,</FONT></SPAN></DIV>
<DIV><SPAN class=379525615-15102008><FONT face=Arial color=#0000ff
size=2> Thanks for the explanation. Seems the CL_ASSERT() was residual
debug code I should have removed long ago.</FONT></SPAN></DIV>
<DIV><SPAN class=379525615-15102008><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=379525615-15102008><FONT face=Arial color=#0000ff
size=2>stan.</FONT></SPAN></DIV>
<DIV><SPAN class=379525615-15102008><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Tzachi Dar
[mailto:tzachid@mellanox.co.il] <BR><B>Sent:</B> Wednesday, October 15, 2008
8:37 AM<BR><B>To:</B> Smith, Stan;
ofw@lists.openfabrics.org<BR><B>Subject:</B> RE: Patch: Avoid a crash in an
ASSERT during a WHQL test.<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial color=#0000ff size=2>Hi
Stan,</FONT></SPAN></DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial color=#0000ff size=2>I'm
not sure that I understand your question.</FONT></SPAN></DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial color=#0000ff size=2>The
problem that we had in WHQL was that the assert </FONT></SPAN></DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial color=#0000ff
size=2>CL_ASSERT(p_bfi ==
p_ext->p_parent_ext->bus_filter);</FONT></SPAN></DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial color=#0000ff size=2>Has
caused</FONT></SPAN><SPAN class=577243015-15102008><FONT face=Arial
color=#0000ff size=2> a bluescreen. The reason of the bluescreen was because
p_ext->p_parent_ext was NULL and therefore</FONT></SPAN></DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial color=#0000ff
size=2>looking at p_ext->p_parent_ext->bus_filter</FONT><FONT
face=Arial><FONT size=2><FONT color=#0000ff> caused a
bluescreen.</FONT></FONT></FONT></SPAN></DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial><FONT size=2><FONT
color=#0000ff>There was no real use for p_ext->p_parent_ext->bus_filter
in the code except for the ASSERT itself which doesn't
exist</FONT></FONT></FONT></SPAN></DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial><FONT size=2><FONT
color=#0000ff>on free.</FONT></FONT></FONT></SPAN></DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial><FONT size=2><FONT
color=#0000ff></FONT></FONT></FONT></SPAN> </DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial><FONT size=2><FONT
color=#0000ff>So in order to avoid the bluescreen we have added the code that
checks that if (p_ext->p_parent_ext == NULL) no more checks will be made
and there will be no bluescreen.</FONT></FONT></FONT></SPAN></DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial><FONT size=2><FONT
color=#0000ff></FONT></FONT></FONT></SPAN> </DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial><FONT size=2><FONT
color=#0000ff>Please note that p_parent_ext is not used in this function
(except for in the assert) weather it is NULL or not and no meter if this is a
chk or free build.</FONT></FONT></FONT></SPAN></DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial><FONT size=2><FONT
color=#0000ff></FONT></FONT></FONT></SPAN> </DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial><FONT size=2><FONT
color=#0000ff>Thanks</FONT></FONT></FONT></SPAN></DIV>
<DIV><SPAN class=577243015-15102008><FONT face=Arial><FONT size=2><FONT
color=#0000ff>Tzachi</SPAN></DIV></FONT></FONT></FONT><BR>
<BLOCKQUOTE dir=ltr
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Smith, Stan
[mailto:stan.smith@intel.com] <BR><B>Sent:</B> Monday, October 13, 2008 5:40
PM<BR><B>To:</B> Tzachi Dar; ofw@lists.openfabrics.org<BR><B>Subject:</B>
RE: Patch: Avoid a crash in an ASSERT during a WHQL
test.<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV><SPAN class=260503515-13102008><FONT face=Arial color=#0000ff
size=2>Hello,</FONT></SPAN></DIV>
<DIV><SPAN class=260503515-13102008><FONT face=Arial color=#0000ff
size=2> A few small questions.</FONT></SPAN></DIV>
<DIV><SPAN class=260503515-13102008><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=260503515-13102008><FONT face=Arial color=#0000ff
size=2>Under what conditions is the p_parent_ext ==
NULL?</FONT></SPAN></DIV>
<DIV><SPAN class=260503515-13102008><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=260503515-13102008><FONT face=Arial color=#0000ff
size=2>Why is it OK in the free build to proceed with a NULL
p_parent_ext?</FONT></SPAN></DIV>
<DIV><SPAN class=260503515-13102008><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=260503515-13102008><FONT face=Arial color=#0000ff
size=2>Should the code read something like</FONT></SPAN></DIV>
<DIV><SPAN class=260503515-13102008><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=260503515-13102008><FONT face=Arial color=#0000ff size=2>if
( !p_bfi->p_ext_p_parent_ext )</FONT></SPAN></DIV>
<DIV><SPAN class=260503515-13102008> <FONT face=Arial
color=#0000ff size=2>return Some-Useful_Return-Code;</FONT></SPAN></DIV>
<DIV><SPAN class=260503515-13102008><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=260503515-13102008><FONT face=Arial color=#0000ff
size=2>thanks,</FONT></SPAN></DIV>
<DIV><SPAN class=260503515-13102008><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=260503515-13102008><FONT face=Arial color=#0000ff
size=2>stan.</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> ofw-bounces@lists.openfabrics.org
[mailto:ofw-bounces@lists.openfabrics.org] <B>On Behalf Of </B>Tzachi
Dar<BR><B>Sent:</B> Sunday, October 12, 2008 6:10 AM<BR><B>To:</B>
ofw@lists.openfabrics.org<BR><B>Subject:</B> [ofw] Patch: Avoid a crash in
an ASSERT during a WHQL test.<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV><FONT face=Arial size=2>Index:
Q:/projinf4/trunk/core/bus/kernel/bus_port_mgr.c<BR>===================================================================<BR>---
Q:/projinf4/trunk/core/bus/kernel/bus_port_mgr.c (revision 3307)<BR>+++
Q:/projinf4/trunk/core/bus/kernel/bus_port_mgr.c (revision 3308)<BR>@@
-1219,7 +1219,9 @@<BR> ("%s NULL
h_ca? p_ext %p\n", p_bfi->whoami, p_ext )
);<BR> return;<BR> }<BR>- CL_ASSERT(p_bfi
== p_ext->p_parent_ext->bus_filter);<BR>+<BR>+ // Don't crash if
p_ext->p_parent_ext is NULL<BR>+ CL_ASSERT((p_ext->p_parent_ext
== NULL) || p_bfi ==
p_ext->p_parent_ext->bus_filter);<BR> <BR> cl_mutex_acquire(
&gp_port_mgr->pdo_mutex );<BR> CL_ASSERT( p_ext->h_ca
);<BR></FONT></DIV></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>