<!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><SPAN class=035240316-24032009><FONT face=Arial color=#0000ff 
size=2>Applied in 2045, thank  you.</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>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></BLOCKQUOTE></BODY></HTML>