<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18702"></HEAD>
<BODY>
<DIV><FONT size=2 face=Arial><SPAN class=620373913-24012010>While debugging 
another failure I have found out that if ib_register_ca fails it is not 
possibale to try again until the computer is rebooted.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=620373913-24012010></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=620373913-24012010>This patch solves 
this problem.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Index: 
bus/kernel/bus_pnp.c<BR>===================================================================<BR>--- 
bus/kernel/bus_pnp.c (revision 5503)<BR>+++ 
bus/kernel/bus_pnp.c (working copy)<BR>@@ -428,6 +428,10 
@@<BR>  {<BR>   BUS_TRACE_EXIT( BUS_DBG_ERROR, 
("ib_register_ca returned 
%s.\n",<BR>    ib_get_err_str(ib_status)) 
);<BR>+  p_ext->hca_ifc.InterfaceHeader.InterfaceDereference(<BR>+   p_ext->hca_ifc.InterfaceHeader.Context);<BR>+  p_ext->hca_ifc_taken 
= FALSE;<BR>+  <BR>   return 
STATUS_UNSUCCESSFUL;<BR>  }<BR>  BUS_TRACE_EXIT(BUS_DBG_PNP, 
("%s bound to CA guid %I64x\n",<BR>Index: 
complib/kernel/cl_pnp_po.c<BR>===================================================================<BR>--- 
complib/kernel/cl_pnp_po.c (revision 5503)<BR>+++ 
complib/kernel/cl_pnp_po.c (working copy)<BR>@@ -429,8 +429,15 
@@<BR>  CL_ENTER( CL_DBG_PNP, p_ext->dbg_lvl 
);<BR> <BR>  status = p_ext->vfptr_pnp_po->pfn_start( 
p_dev_obj, p_irp, p_action );<BR>- if( NT_SUCCESS( status ) )<BR>+ if( 
NT_SUCCESS( status ) ) <BR>+ {<BR>   cl_set_pnp_state( 
p_ext, Started );<BR>+ } 
<BR>+ else<BR>+ {<BR>+  CL_TRACE( CL_DBG_ERROR, 
p_ext->dbg_lvl, <BR>+   ("p_ext->vfptr_pnp_po->pfn_start 
returned %08x. \n", status) );<BR>+ }<BR> <BR>  CL_EXIT( 
CL_DBG_PNP, p_ext->dbg_lvl );<BR>  return 
status;<BR></DIV></FONT></BODY></HTML>