<!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.16587" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2><SPAN class=554102214-13112008>This patch add 
prints that are needed in order to debug a problem in the pnp 
tests.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=554102214-13112008></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=554102214-13112008>If we have a release 
today, this patch will only go into the trunk.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=554102214-13112008></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=554102214-13112008>sign off by: 
Leonid</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><SPAN class=554102214-13112008><FONT face=Arial 
size=2>Thanks</FONT></SPAN></DIV>
<DIV><SPAN class=554102214-13112008><FONT face=Arial 
size=2>Tzachi</FONT></SPAN></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Index: 
Q:/projinf4/trunk/core/complib/kernel/cl_pnp_po.c<BR>===================================================================<BR>--- 
Q:/projinf4/trunk/core/complib/kernel/cl_pnp_po.c (revision 3459)<BR>+++ 
Q:/projinf4/trunk/core/complib/kernel/cl_pnp_po.c (revision 3460)<BR>@@ 
-214,6 +214,9 @@<BR>  {<BR>   CL_TRACE_EXIT( 
CL_DBG_ERROR, p_ext->dbg_lvl, 
<BR>    ("IoAcquireRemoveLock returned %08x.\n", status) 
);<BR>+  p_io_stack = IoGetCurrentIrpStackLocation( p_irp 
);<BR>+  CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, 
<BR>+   ("Minor function %x for %s\n", 
p_io_stack->MinorFunction, p_ext->vfptr_pnp_po->identity) 
);<BR>   p_irp->IoStatus.Status = 
status;<BR>   IoCompleteRequest( p_irp, IO_NO_INCREMENT 
);<BR>   return status;<BR>@@ -245,7 +248,7 
@@<BR> <BR>  case 
IRP_MN_CANCEL_STOP_DEVICE:<BR>   CL_TRACE( CL_DBG_PNP, 
p_ext->dbg_lvl, <BR>-   ("IRP_MN_START_DEVICE for %s\n", 
p_ext->vfptr_pnp_po->identity) 
);<BR>+   ("IRP_MN_CANCEL_STOP_DEVICE for %s\n", 
p_ext->vfptr_pnp_po->identity) );<BR>   status = 
__cancel_stop( p_dev_obj, p_irp, &action 
);<BR>   break;<BR> <BR>@@ -396,6 +399,8 
@@<BR>  {<BR>  case 
IrpPassDown:<BR>   p_irp->IoStatus.Status = 
status;<BR>+  CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, ("IrpPassDown: 
passing down to PDO %p, ext %p, status 
%#x\n",<BR>+   p_ext->p_next_do, p_ext, 
p_irp->IoStatus.Status) 
);<BR>   IoCopyCurrentIrpStackLocationToNext( p_irp 
);<BR>   status = IoCallDriver( p_ext->p_next_do, p_irp 
);<BR>   break;<BR>@@ -404,23 +409,30 
@@<BR>   p_irp->IoStatus.Status = 
status;<BR> <BR>  case IrpIgnore:<BR>+  CL_TRACE( 
CL_DBG_PNP, p_ext->dbg_lvl, ("IrpSkip/IrpIgnore: passing down to PDO %p, ext 
%p, status %#x\n",<BR>+   p_ext->p_next_do, p_ext, 
p_irp->IoStatus.Status) 
);<BR>   IoSkipCurrentIrpStackLocation( p_irp 
);<BR>   status = IoCallDriver( p_ext->p_next_do, p_irp 
);<BR>   break;<BR> <BR>  case 
IrpComplete:<BR>   p_irp->IoStatus.Status = 
status;<BR>+  CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, ("IrpComplete: 
complete IRP with status 
%#x\n",<BR>+   p_irp->IoStatus.Status) 
);<BR>   IoCompleteRequest( p_irp, IO_NO_INCREMENT 
);<BR>   break;<BR> <BR>  case 
IrpDoNothing:<BR>+  CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, 
("IrpDoNothing: do nothing\n") 
);<BR>   break;<BR>  }<BR> <BR>- if( action 
!= IrpDoNothing )<BR>+ if( action != IrpDoNothing ) 
{<BR>+  CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, 
("IoReleaseRemoveLock: \n"));<BR>   IoReleaseRemoveLock( 
&p_ext->remove_lock, p_irp );<BR>+ }<BR> <BR>- CL_EXIT( 
CL_DBG_PNP, p_ext->dbg_lvl );<BR>+ CL_TRACE_EXIT( CL_DBG_PNP, 
p_ext->dbg_lvl, ("returned with status %#x\n", status) 
);<BR>  return status;<BR> }<BR> <BR>@@ -446,8 +458,10 
@@<BR>   * If we get the start request when we're already started, 
don't <BR>   * re-initialize the stop lock.<BR>   
*/<BR>- if( p_ext->last_pnp_state != Started )<BR>+ if( 
p_ext->last_pnp_state != Started ) {<BR>+  CL_TRACE( CL_DBG_PNP, 
p_ext->dbg_lvl, ("IoInitializeRemoveLock: stop_lock %p[\n", 
&p_ext->stop_lock));<BR>   IoInitializeRemoveLock( 
&p_ext->stop_lock, 'dtci', 0, 1000 
);<BR>+ }<BR> <BR>  CL_EXIT( CL_DBG_PNP, p_ext->dbg_lvl 
);<BR>  return status;<BR>@@ -495,18 +509,18 @@<BR>  if( 
p_ext->last_pnp_state == Started )<BR>  {<BR>   /* 
Acquire the lock so we can release and wait. */<BR>-  CL_TRACE( 
CL_DBG_PNP, p_ext->dbg_lvl, ("IoAcquireRemoveLock: 
[\n"));<BR>+  CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, 
("IoAcquireRemoveLock: stop_lock 
%p[\n",&p_ext->stop_lock));<BR>   status = 
IoAcquireRemoveLock( &p_ext->stop_lock, p_irp );<BR>   if( 
!NT_SUCCESS( status ) 
)<BR>   {<BR>    CL_TRACE( CL_DBG_ERROR, 
p_ext->dbg_lvl, <BR>     ("IoAcquireRemoveLock 
returned %08x. Continue anyway ...\n", status) 
);<BR>   }<BR>-  CL_TRACE( CL_DBG_PNP, 
p_ext->dbg_lvl, ("IoAcquireRemoveLock: ]\n"));<BR>+  CL_TRACE( 
CL_DBG_PNP, p_ext->dbg_lvl, ("IoAcquireRemoveLock: stop_lock 
]\n"));<BR>   /* Wait for all IO operations to complete. 
*/<BR>-  CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, 
("IoReleaseRemoveLockAndWait: [\n"));<BR>+  CL_TRACE( CL_DBG_PNP, 
p_ext->dbg_lvl, ("IoReleaseRemoveLockAndWait: stop_lock 
%p[\n",&p_ext->stop_lock));<BR>   IoReleaseRemoveLockAndWait( 
&p_ext->stop_lock, p_irp );<BR>-  CL_TRACE( CL_DBG_PNP, 
p_ext->dbg_lvl, ("IoReleaseRemoveLockAndWait: 
]\n"));<BR>+  CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, 
("IoReleaseRemoveLockAndWait: 
stop_lock]\n"));<BR>  }<BR> <BR>  status = 
p_ext->vfptr_pnp_po->pfn_query_stop( p_dev_obj, p_irp, p_action );<BR>@@ 
-575,21 +589,22 @@<BR>  {<BR>   NTSTATUS 
status1;<BR>   /*<BR>-   * Re-initialize the remove 
lock before rolling back the PnP<BR>+   * Re-initialize the stop lock 
before rolling back the PnP<BR>    * state so that there's no 
contention while it's uninitialized.<BR>    
*/<BR>+  CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, 
("IoInitializeRemoveLock: stop_lock %p[\n", 
&p_ext->stop_lock));<BR>   IoInitializeRemoveLock( 
&p_ext->stop_lock, 'dtci', 0, 1000 );<BR>   /* 
<BR>    * Acquire the stop lock to allow releasing and waiting 
when stopping.<BR>    */<BR>-  CL_TRACE( CL_DBG_PNP, 
p_ext->dbg_lvl, ("IoAcquireRemoveLock: [\n"));<BR>+  CL_TRACE( 
CL_DBG_PNP, p_ext->dbg_lvl, ("IoAcquireRemoveLock: stop_lock %p[\n", 
&p_ext->stop_lock));<BR>   status1 = IoAcquireRemoveLock( 
&p_ext->stop_lock, NULL );<BR>   if( !NT_SUCCESS( status1 
) )<BR>   {<BR>    CL_TRACE( CL_DBG_ERROR, 
p_ext->dbg_lvl, <BR>     ("IoAcquireRemoveLock 
returned %08x. Continue anyway ...\n", status) 
);<BR>   }<BR>-  CL_TRACE( CL_DBG_PNP, 
p_ext->dbg_lvl, ("IoAcquireRemoveLock: ]\n"));<BR>+  CL_TRACE( 
CL_DBG_PNP, p_ext->dbg_lvl, ("IoAcquireRemoveLock: stop_lock 
]\n"));<BR>  }<BR> <BR>  /* Return to the previous PnP 
state. */<BR>@@ -1367,8 +1382,10 
@@<BR>   break;<BR>  }<BR> <BR>- if( action 
!= IrpDoNothing )<BR>+ if( action != IrpDoNothing ) 
{<BR>+  CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, 
("IoReleaseRemoveLock: \n"));<BR>   IoReleaseRemoveLock( 
&p_ext->remove_lock, p_irp 
);<BR>+ }<BR> <BR>  CL_EXIT( CL_DBG_PNP, p_ext->dbg_lvl 
);<BR>  return status;<BR>Index: 
Q:/projinf4/trunk/core/bus/kernel/bus_driver.c<BR>===================================================================<BR>--- 
Q:/projinf4/trunk/core/bus/kernel/bus_driver.c (revision 3459)<BR>+++ 
Q:/projinf4/trunk/core/bus/kernel/bus_driver.c (revision 3460)<BR>@@ -588,7 
+588,7 @@<BR>  p_io_stack = IoGetCurrentIrpStackLocation( p_irp 
);<BR> <BR>  /* Acquire the stop lock. */<BR>- BUS_TRACE( 
BUS_DBG_DRV, ("IoAcquireRemoveLock: [\n"));<BR>+ BUS_TRACE( BUS_DBG_DRV, 
("IoAcquireRemoveLock: stop_lock %p [\n", 
&p_ext->cl_ext.stop_lock));<BR>  status = IoAcquireRemoveLock( 
&p_ext->cl_ext.stop_lock, p_irp );<BR>  if( !NT_SUCCESS( status 
) )<BR>  {<BR>@@ -598,12 +598,13 @@<BR>   BUS_EXIT( 
BUS_DBG_DRV );<BR>   return 
status;<BR>  }<BR>- BUS_TRACE( BUS_DBG_DRV, 
("IoAcquireRemoveLock: ]\n"));<BR>+ BUS_TRACE( BUS_DBG_DRV, 
("IoAcquireRemoveLock: stop_lock]\n"));<BR> <BR>  /* Acquire the 
remove lock. */<BR>  status = IoAcquireRemoveLock( 
&p_ext->cl_ext.remove_lock, p_irp );<BR>  if( !NT_SUCCESS( 
status ) )<BR>  {<BR>+  BUS_TRACE( BUS_DBG_DRV, 
("IoReleaseRemoveLock: stop_lock %p[\n", 
&p_ext->cl_ext.stop_lock));<BR>   IoReleaseRemoveLock( 
&p_ext->cl_ext.stop_lock, p_irp 
);<BR>   p_irp->IoStatus.Status = 
status;<BR>   p_irp->IoStatus.Information = 0;<BR>@@ -622,7 
+623,9 @@<BR>  }<BR> <BR>  /* Release the remove and 
stop locks. */<BR>+ BUS_TRACE( BUS_DBG_DRV, ("IoReleaseRemoveLock:  
[\n"));<BR>  IoReleaseRemoveLock( &p_ext->cl_ext.remove_lock, 
p_irp );<BR>+ BUS_TRACE( BUS_DBG_DRV, ("IoReleaseRemoveLock: stop_lock 
%p[\n", &p_ext->cl_ext.stop_lock));<BR>  IoReleaseRemoveLock( 
&p_ext->cl_ext.stop_lock, p_irp );<BR> <BR>  BUS_EXIT( 
BUS_DBG_DRV );<BR>Index: 
Q:/projinf4/trunk/core/bus/kernel/bus_pnp.c<BR>===================================================================<BR>--- 
Q:/projinf4/trunk/core/bus/kernel/bus_pnp.c (revision 3459)<BR>+++ 
Q:/projinf4/trunk/core/bus/kernel/bus_pnp.c (revision 3460)<BR>@@ -973,7 
+973,7 @@<BR>   switch( 
p_io_stack->Parameters.Power.State.SystemState 
)<BR>   {<BR>    case 
PowerSystemHibernate:<BR>-   case PowerSystemSleeping1:  // 
STANDBY support<BR>+   case PowerSystemSleeping1: // STANDBY 
support<BR>    case 
PowerSystemWorking:<BR>    case 
PowerSystemShutdown:<BR>      break;<BR>@@ -1033,6 
+1033,7 @@<BR>  /* Continue Power IRP processing. 
*/<BR>  PoStartNextPowerIrp( p_irp 
);<BR>  IoCompleteRequest( p_irp, IO_NO_INCREMENT 
);<BR>+ BUS_TRACE( BUS_DBG_PNP, ("IoReleaseRemoveLock:  
[\n"));<BR>  IoReleaseRemoveLock( &p_ext->remove_lock, p_irp 
);<BR>  BUS_EXIT( BUS_DBG_PNP );<BR> }<BR>@@ -1060,6 +1061,7 
@@<BR>  if( !NT_SUCCESS( p_irp->IoStatus.Status ) 
)<BR>  {<BR>   PoStartNextPowerIrp( p_irp 
);<BR>+  BUS_TRACE( BUS_DBG_PNP, 
("IoReleaseRemoveLock: [\n"));<BR>   IoReleaseRemoveLock( 
&p_ext->cl_ext.remove_lock, p_irp );<BR>   BUS_TRACE_EXIT( 
BUS_DBG_ERROR, <BR>    ("IRP_MN_SET_POWER for system failed 
by lower driver with %08x.\n",<BR>@@ -1083,6 +1085,7 @@<BR>   /* 
Propagate the failure. */<BR>   p_irp->IoStatus.Status = 
status;<BR>   IoCompleteRequest( p_irp, IO_NO_INCREMENT 
);<BR>+  BUS_TRACE( BUS_DBG_PNP, 
("IoReleaseRemoveLock: [\n"));<BR>   IoReleaseRemoveLock( 
&p_ext->cl_ext.remove_lock, p_irp );<BR>   BUS_TRACE( 
BUS_DBG_ERROR,<BR>    ("PoRequestPowerIrp returned %08x.\n", 
status) );<BR>Index: 
Q:/projinf4/trunk/core/bus/kernel/bus_iou_mgr.c<BR>===================================================================<BR>--- 
Q:/projinf4/trunk/core/bus/kernel/bus_iou_mgr.c (revision 3459)<BR>+++ 
Q:/projinf4/trunk/core/bus/kernel/bus_iou_mgr.c (revision 3460)<BR>@@ 
-1641,6 +1641,7 @@<BR>  p_irp->IoStatus.Status = 
STATUS_SUCCESS;<BR>  PoStartNextPowerIrp( p_irp 
);<BR>  IoCompleteRequest( p_irp, IO_NO_INCREMENT 
);<BR>+ BUS_TRACE( BUS_DBG_POWER, ("IoReleaseRemoveLock:  
[\n"));<BR>  IoReleaseRemoveLock( &p_ext->cl_ext.remove_lock, 
p_irp );<BR> <BR>  BUS_EXIT( BUS_DBG_POWER );<BR>Index: 
Q:/projinf4/trunk/core/iou/kernel/iou_pnp.c<BR>===================================================================<BR>--- 
Q:/projinf4/trunk/core/iou/kernel/iou_pnp.c (revision 3459)<BR>+++ 
Q:/projinf4/trunk/core/iou/kernel/iou_pnp.c (revision 3460)<BR>@@ -480,6 
+480,7 @@<BR>  /* Continue Power IRP processing. 
*/<BR>  PoStartNextPowerIrp( p_irp 
);<BR>  IoCompleteRequest( p_irp, IO_NO_INCREMENT 
);<BR>+ IOU_PRINT( TRACE_LEVEL_ERROR, IOU_DBG_PNP, ("IoReleaseRemoveLock: 
\n"));<BR>  IoReleaseRemoveLock( &p_ext->remove_lock, p_irp 
);<BR>  IOU_EXIT( IOU_DBG_PNP );<BR> }<BR>@@ -507,6 +508,7 
@@<BR>  if( !NT_SUCCESS( p_irp->IoStatus.Status ) 
)<BR>  {<BR>   PoStartNextPowerIrp( p_irp 
);<BR>+  IOU_PRINT( TRACE_LEVEL_ERROR, IOU_DBG_PNP, 
("IoReleaseRemoveLock: \n"));<BR>   IoReleaseRemoveLock( 
&p_ext->cl_ext.remove_lock, p_irp );<BR>   IOU_PRINT_EXIT( 
TRACE_LEVEL_ERROR, IOU_DBG_ERROR,<BR>    ("IRP_MN_SET_POWER 
for system failed by lower driver with %08x.\n",<BR>@@ -530,6 +532,7 
@@<BR>   /* Propagate the failure. 
*/<BR>   p_irp->IoStatus.Status = 
status;<BR>   IoCompleteRequest( p_irp, IO_NO_INCREMENT 
);<BR>+  IOU_PRINT( TRACE_LEVEL_ERROR, IOU_DBG_PNP, 
("IoReleaseRemoveLock: \n"));<BR>   IoReleaseRemoveLock( 
&p_ext->cl_ext.remove_lock, p_irp );<BR>   IOU_PRINT( 
TRACE_LEVEL_ERROR, IOU_DBG_ERROR,<BR>    ("PoRequestPowerIrp 
returned %08x.\n", status) );<BR>Index: 
Q:/projinf4/trunk/hw/mlx4/kernel/bus/drv/drv.c<BR>===================================================================<BR>--- 
Q:/projinf4/trunk/hw/mlx4/kernel/bus/drv/drv.c (revision 3459)<BR>+++ 
Q:/projinf4/trunk/hw/mlx4/kernel/bus/drv/drv.c (revision 3460)<BR>@@ 
-1161,11 +1161,13 @@<BR>  err = core_init();<BR>  if (err) 
{<BR>   status = 
errno_to_ntstatus(err);<BR>+  MLX4_PRINT(TRACE_LEVEL_VERBOSE, 
MLX4_DBG_DRV, ("core_init failed with status 0x%x (err %d)\n", status, 
-err));<BR>   goto end;<BR>  }<BR>  err = 
mlx4_ib_init();<BR>  if (err) {<BR>   status = 
errno_to_ntstatus(err);<BR>+  MLX4_PRINT(TRACE_LEVEL_VERBOSE, 
MLX4_DBG_DRV, ("mlx4_ib_init failed with status 0x%x (err %d)\n", status, 
-err));<BR>   goto end;<BR>  }<BR> <BR>Index: 
Q:/projinf4/trunk/hw/mlx4/kernel/hca/drv.c<BR>===================================================================<BR>--- 
Q:/projinf4/trunk/hw/mlx4/kernel/hca/drv.c (revision 3459)<BR>+++ 
Q:/projinf4/trunk/hw/mlx4/kernel/hca/drv.c (revision 3460)<BR>@@ -1180,7 
+1180,7 @@<BR>  }<BR> <BR>  /* Inititalize the complib 
extension. */<BR>- cl_init_pnp_po_ext( p_dev_obj, pNextDevObj, pPdo, 
0,<BR>+ cl_init_pnp_po_ext( p_dev_obj, pNextDevObj, pPdo, CL_DBG_ERROR | 
CL_DBG_PNP,<BR>   &vfptrHcaPnp, NULL 
);<BR> <BR>  p_fdo->state = HCA_ADDED;<BR>@@ -2275,6 +2275,7 
@@<BR>  /* Continue Power IRP processing. 
*/<BR>  PoStartNextPowerIrp( p_irp 
);<BR>  IoCompleteRequest( p_irp, IO_NO_INCREMENT 
);<BR>+ HCA_PRINT( TRACE_LEVEL_ERROR, HCA_DBG_PNP, ("IoReleaseRemoveLock: 
\n"));<BR>  IoReleaseRemoveLock( &p_fdo->remove_lock, p_irp 
);<BR>  HCA_EXIT( HCA_DBG_PO );<BR> }<BR>@@ -2336,6 +2337,7 
@@<BR>  goto 
exit;<BR> <BR> release: <BR>+ HCA_PRINT( TRACE_LEVEL_ERROR, 
HCA_DBG_PO, ("IoReleaseRemoveLock: \n"));<BR>  IoReleaseRemoveLock( 
&p_fdo->cl_ext.remove_lock, p_irp 
);<BR> exit:<BR>  HCA_EXIT( HCA_DBG_PO );<BR>@@ -2415,6 +2417,7 
@@<BR> exit:<BR>  PoStartNextPowerIrp( p_irp 
);<BR>  IoCompleteRequest( p_irp, IO_NO_INCREMENT 
);<BR>+ HCA_PRINT( TRACE_LEVEL_ERROR, HCA_DBG_PO, ("IoReleaseRemoveLock: 
\n"));<BR>  IoReleaseRemoveLock( &p_fdo->cl_ext.remove_lock, 
p_irp );<BR>  HCA_EXIT( HCA_DBG_PO );<BR> }<BR>@@ -2467,6 +2470,7 
@@<BR>  goto 
exit;<BR> <BR> release: <BR>+ HCA_PRINT( TRACE_LEVEL_ERROR, 
HCA_DBG_PO, ("IoReleaseRemoveLock: \n"));<BR>  IoReleaseRemoveLock( 
&p_fdo->cl_ext.remove_lock, p_irp 
);<BR> exit: <BR>  HCA_EXIT( HCA_DBG_PO );<BR>@@ -2484,6 
+2488,7 @@<BR>  HCA_ENTER( HCA_DBG_PO 
);<BR> <BR>  PoStartNextPowerIrp( p_irp );<BR>+ HCA_PRINT( 
TRACE_LEVEL_ERROR, HCA_DBG_PO, ("IoReleaseRemoveLock: 
\n"));<BR>  IoReleaseRemoveLock( &p_fdo->cl_ext.remove_lock, 
p_irp );<BR> <BR>  HCA_EXIT( HCA_DBG_PO );<BR>Index: 
Q:/projinf4/trunk/hw/mthca/kernel/hca_pnp.c<BR>===================================================================<BR>--- 
Q:/projinf4/trunk/hw/mthca/kernel/hca_pnp.c (revision 3459)<BR>+++ 
Q:/projinf4/trunk/hw/mthca/kernel/hca_pnp.c (revision 3460)<BR>@@ -250,7 
+250,7 @@<BR>  }<BR> <BR>  /* Inititalize the complib 
extension. */<BR>- cl_init_pnp_po_ext( p_dev_obj, pNextDevObj, pPdo, 
0,<BR>+ cl_init_pnp_po_ext( p_dev_obj, pNextDevObj, pPdo, CL_DBG_ERROR | 
CL_DBG_PNP,<BR>   &vfptrHcaPnp, NULL 
);<BR> <BR>  p_ext->state = HCA_ADDED;<BR>@@ -1494,6 +1494,7 
@@<BR>  /* Continue Power IRP processing. 
*/<BR>  PoStartNextPowerIrp( p_irp 
);<BR>  IoCompleteRequest( p_irp, IO_NO_INCREMENT 
);<BR>+ HCA_PRINT( TRACE_LEVEL_ERROR, HCA_DBG_PO, ("IoReleaseRemoveLock: 
\n"));<BR>  IoReleaseRemoveLock( &p_ext->remove_lock, p_irp 
);<BR>  HCA_EXIT( HCA_DBG_PO );<BR> }<BR>@@ -1555,6 +1556,7 
@@<BR>  goto 
exit;<BR> <BR> release: <BR>+ HCA_PRINT( TRACE_LEVEL_ERROR, 
HCA_DBG_PO, ("IoReleaseRemoveLock: \n"));<BR>  IoReleaseRemoveLock( 
&p_ext->cl_ext.remove_lock, p_irp 
);<BR> exit:<BR>  HCA_EXIT( HCA_DBG_PO );<BR>@@ -1621,6 +1623,7 
@@<BR> exit:<BR>  PoStartNextPowerIrp( p_irp 
);<BR>  IoCompleteRequest( p_irp, IO_NO_INCREMENT 
);<BR>+ HCA_PRINT( TRACE_LEVEL_ERROR, HCA_DBG_PO, ("IoReleaseRemoveLock: 
\n"));<BR>  IoReleaseRemoveLock( &p_ext->cl_ext.remove_lock, 
p_irp );<BR>  HCA_EXIT( HCA_DBG_PO );<BR> }<BR>@@ -1673,6 +1676,7 
@@<BR>  goto 
exit;<BR> <BR> release: <BR>+ HCA_PRINT( TRACE_LEVEL_ERROR, 
HCA_DBG_PO, ("IoReleaseRemoveLock: \n"));<BR>  IoReleaseRemoveLock( 
&p_ext->cl_ext.remove_lock, p_irp 
);<BR> exit: <BR>  HCA_EXIT( HCA_DBG_PO );<BR>@@ -1690,6 
+1694,7 @@<BR>  HCA_ENTER( HCA_DBG_PO 
);<BR> <BR>  PoStartNextPowerIrp( p_irp );<BR>+ HCA_PRINT( 
TRACE_LEVEL_ERROR, HCA_DBG_PO, ("IoReleaseRemoveLock: 
\n"));<BR>  IoReleaseRemoveLock( &p_ext->cl_ext.remove_lock, 
p_irp );<BR> <BR>  HCA_EXIT( HCA_DBG_PO 
);<BR></DIV></FONT></BODY></HTML>