<!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.16809" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=757244617-16032009><FONT face=Arial color=#0000ff size=2>I'll 
2nd Reuven's observation?</FONT></SPAN></DIV>
<DIV><SPAN class=757244617-16032009><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=757244617-16032009><FONT face=Arial color=#0000ff 
size=2>Leonid, did you have any feedback on the BFI binding patch I sent you 
last week?</FONT></SPAN></DIV>
<DIV><SPAN class=757244617-16032009><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=757244617-16032009><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> Reuven Amitai 
[mailto:reuven@mellanox.co.il] <BR><B>Sent:</B> Monday, March 16, 2009 10:09 
AM<BR><B>To:</B> Leonid Keller; James Yang; Smith, Stan<BR><B>Cc:</B> 
ofw@lists.openfabrics.org<BR><B>Subject:</B> RE: [ofw][patch][[ibbus] boot in 
SAN environment<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=937480517-16032009>Hi,</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=937480517-16032009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=937480517-16032009>Is 
this patch needed after Stan's patch ?</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=937480517-16032009>(Since 
IBBUS is on top of an HCA device, there is no longer a delay and the bfi is 
bounded at creation time</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=937480517-16032009> -- If I understand the patch correctly 
...)</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=937480517-16032009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=937480517-16032009>Thanks, Reuven.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=937480517-16032009></SPAN></FONT> </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>Leonid 
Keller<BR><B>Sent:</B> Monday, March 16, 2009 6:22 PM<BR><B>To:</B> James 
Yang<BR><B>Cc:</B> ofw@lists.openfabrics.org<BR><B>Subject:</B> 
[ofw][patch][[ibbus] boot in SAN environment<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV>
<P><FONT face=Arial><FONT size=2><SPAN class=019510716-16032009>this patch 
</SPAN>add<SPAN class=019510716-16032009>s </SPAN>a 5s delay to wait for hca up 
for remote boot in SAN environment.</FONT></FONT></P>
<P><SPAN class=019510716-16032009><FONT face=Arial size=2>Signed-off-by: James 
Yang  </FONT></SPAN></P></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Index: 
core/bus/kernel/bus_pnp.c<BR>===================================================================<BR>--- 
core/bus/kernel/bus_pnp.c (revision 2032)<BR>+++ 
core/bus/kernel/bus_pnp.c (working copy)<BR>@@ -654,9 +654,10 
@@<BR>  IN     IRP* 
const    p_irp, 
<BR>   OUT    cl_irp_action_t* 
const p_action 
)<BR> {<BR>- NTSTATUS   status;<BR>+ NTSTATUS   status 
= STATUS_SUCCESS; /*default to 
success*/<BR>  bus_fdo_ext_t  *p_ext;<BR>  bus_filter_t  *p_bfi;<BR>+ int     waitLoop 
= 0;<BR> <BR>  BUS_ENTER( BUS_DBG_PNP );<BR> <BR>@@ -673,16 
+674,18 @@<BR>  p_bfi = 
p_ext->bus_filter;<BR>  CL_ASSERT( p_bfi->magic == BFI_MAGIC 
);<BR> <BR>- if ( p_bfi->ca_guid == 0ULL )<BR>+ while ( 
p_bfi->ca_guid == 0ULL )<BR>  {<BR>   /* HCA not yet 
bound to a BFI slot (no PNP ADD event seen), no bus<BR>    * 
relations yet.<BR>    */<BR>-  status = 
STATUS_SUCCESS;<BR>-  BUS_PRINT(BUS_DBG_PNP, ("%s ca_guid 
%I64x\n",p_bfi->whoami,<BR>+  BUS_PRINT(BUS_DBG_ERROR, ("%s ca_guid 
%I64x\n",p_bfi->whoami,<BR>         p_bfi->ca_guid));<BR>+  cl_thread_suspend( 
100 ); /* suspend for 100 ms 
*/<BR>+  waitLoop++;<BR>+  if(waitLoop>50) 
break;<BR>  }<BR>- else<BR>+ if ( p_bfi->ca_guid != 0ULL 
)<BR>  {<BR>   status = port_mgr_get_bus_relations( 
p_bfi->ca_guid, p_irp );<BR>   if( status == STATUS_SUCCESS || 
<BR>@@ -1271,6 +1274,7 @@<BR>  switch( 
p_io_stack->Parameters.Power.Type )<BR>  {<BR>  case 
SystemPowerState:<BR>+#if 0<BR>   /*<BR>    * 
Process on the way up the stack.  We cannot block since the 
<BR>    * power dispatch function can be called at elevated IRQL 
if the<BR>@@ -1287,7 +1291,7 @@<BR>   *p_action = 
IrpDoNothing;<BR>   status = 
STATUS_PENDING;<BR>   break;<BR>-<BR>+#endif<BR>  case 
DevicePowerState:<BR>  default:<BR>   /* Pass down and 
let the PDO driver handle it. */<BR></FONT></DIV></BODY></HTML>