<!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.2900.5726" name=GENERATOR></HEAD>
<BODY>
<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>