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