<!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><SPAN class=492494814-13112008><FONT face=Arial color=#0000ff size=2>It
seems that applying this patch, should only be done after the following patch is
applied: </FONT></SPAN></DIV>
<DIV><SPAN class=492494814-13112008><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=492494814-13112008><FONT size=2>
<P>[PnP] added debug print messages</P></FONT></SPAN></DIV><FONT 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 3391)<BR>+++
Q:/projinf4/trunk/core/complib/kernel/cl_pnp_po.c (revision 3392)<BR>@@
-208,6 +208,7 @@<BR> <BR> CL_ASSERT( KeGetCurrentIrql() <
DISPATCH_LEVEL );<BR> <BR>+ CL_TRACE( CL_DBG_PNP,
p_ext->dbg_lvl, ("IoAcquireRemoveLock: [\n"));<BR> status =
IoAcquireRemoveLock( &p_ext->remove_lock, p_irp );<BR> if(
!NT_SUCCESS( status ) )<BR> {<BR>@@ -217,6 +218,7
@@<BR> IoCompleteRequest( p_irp, IO_NO_INCREMENT
);<BR> return status;<BR> }<BR>+ CL_TRACE(
CL_DBG_PNP, p_ext->dbg_lvl, ("IoAcquireRemoveLock:
]\n"));<BR> <BR> p_io_stack = IoGetCurrentIrpStackLocation(
p_irp );<BR> ASSERT( p_io_stack->MajorFunction == IRP_MJ_PNP
);<BR>@@ -493,9 +495,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> 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> /* Wait for all IO
operations to complete. */<BR>+ CL_TRACE( CL_DBG_PNP,
p_ext->dbg_lvl, ("IoReleaseRemoveLockAndWait:
[\n"));<BR> IoReleaseRemoveLockAndWait(
&p_ext->stop_lock, p_irp );<BR>+ CL_TRACE( CL_DBG_PNP,
p_ext->dbg_lvl, ("IoReleaseRemoveLockAndWait:
]\n"));<BR> }<BR> <BR> status =
p_ext->vfptr_pnp_po->pfn_query_stop( p_dev_obj, p_irp, p_action );<BR>@@
-570,7 +581,14 @@<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> IoAcquireRemoveLock(
&p_ext->stop_lock, NULL );<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> }<BR> <BR> /*
Return to the previous PnP state. */<BR>@@ -679,7 +697,9
@@<BR> CL_ENTER( CL_DBG_PNP, p_ext->dbg_lvl
);<BR> <BR> /* Wait for all I/O operations to complete.
*/<BR>+ CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl,
("IoReleaseRemoveLockAndWait: [\n"));<BR> IoReleaseRemoveLockAndWait(
&p_ext->remove_lock, p_irp );<BR>+ CL_TRACE( CL_DBG_PNP,
p_ext->dbg_lvl, ("IoReleaseRemoveLockAndWait:
]\n"));<BR> <BR> /* Release resources if it was not done yet.
*/<BR> if( p_ext->last_pnp_state != SurpriseRemoved
&&<BR>@@ -1257,6 +1277,7 @@<BR> <BR> CL_ENTER(
CL_DBG_PNP, p_ext->dbg_lvl );<BR> <BR>+ CL_TRACE( CL_DBG_PNP,
p_ext->dbg_lvl, ("IoAcquireRemoveLock: [\n"));<BR> status =
IoAcquireRemoveLock( &p_ext->remove_lock, p_irp );<BR> if(
!NT_SUCCESS( status ) )<BR> {<BR>@@ -1268,6 +1289,7
@@<BR> IoCompleteRequest( p_irp, IO_NO_INCREMENT
);<BR> return status;<BR> }<BR>+ CL_TRACE(
CL_DBG_PNP, p_ext->dbg_lvl, ("IoAcquireRemoveLock:
]\n"));<BR> <BR> p_io_stack = IoGetCurrentIrpStackLocation(
p_irp );<BR> ASSERT( p_io_stack->MajorFunction == IRP_MJ_POWER
);<BR>Index:
Q:/projinf4/trunk/core/bus/kernel/bus_port_mgr.c<BR>===================================================================<BR>---
Q:/projinf4/trunk/core/bus/kernel/bus_port_mgr.c (revision 3391)<BR>+++
Q:/projinf4/trunk/core/bus/kernel/bus_port_mgr.c (revision 3392)<BR>@@
-1392,7 +1392,9 @@<BR> }<BR> <BR> /* Wait for all I/O
operations to complete. */<BR>+ BUS_TRACE( BUS_DBG_PNP,
("IoReleaseRemoveLockAndWait: [\n"));<BR> IoReleaseRemoveLockAndWait(
&p_ext->pdo.cl_ext.remove_lock, p_irp );<BR>+ BUS_TRACE(
BUS_DBG_PNP, ("IoReleaseRemoveLockAndWait: ]\n"));<BR> <BR> /*
Release resources if it was not done yet. */<BR> if(
p_ext->pdo.cl_ext.last_pnp_state != SurpriseRemoved )<BR>Index:
Q:/projinf4/trunk/core/bus/kernel/bus_driver.c<BR>===================================================================<BR>---
Q:/projinf4/trunk/core/bus/kernel/bus_driver.c (revision 3391)<BR>+++
Q:/projinf4/trunk/core/bus/kernel/bus_driver.c (revision 3392)<BR>@@ -588,6
+588,7 @@<BR> p_io_stack = IoGetCurrentIrpStackLocation( p_irp
);<BR> <BR> /* Acquire the stop lock. */<BR>+ BUS_TRACE(
BUS_DBG_DRV, ("IoAcquireRemoveLock: [\n"));<BR> status =
IoAcquireRemoveLock( &p_ext->cl_ext.stop_lock, p_irp
);<BR> if( !NT_SUCCESS( status ) )<BR> {<BR>@@ -597,6
+598,7 @@<BR> BUS_EXIT( BUS_DBG_DRV
);<BR> return status;<BR> }<BR>+ BUS_TRACE(
BUS_DBG_DRV, ("IoAcquireRemoveLock: ]\n"));<BR> <BR> /* Acquire
the remove lock. */<BR> status = IoAcquireRemoveLock(
&p_ext->cl_ext.remove_lock, p_irp );<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 3391)<BR>+++
Q:/projinf4/trunk/core/bus/kernel/bus_iou_mgr.c (revision 3392)<BR>@@
-1037,7 +1037,9 @@<BR> }<BR> <BR> /* Wait for all I/O
operations to complete. */<BR>+ BUS_TRACE( BUS_DBG_PNP,
("IoReleaseRemoveLockAndWait: [\n"));<BR> IoReleaseRemoveLockAndWait(
&p_ext->pdo.cl_ext.remove_lock, p_irp );<BR>+ BUS_TRACE(
BUS_DBG_PNP, ("IoReleaseRemoveLockAndWait: ]\n"));<BR> <BR> /*
Release resources if it was not done yet. */<BR> if(
p_ext->pdo.cl_ext.last_pnp_state != SurpriseRemoved )<BR>@@ -1673,7 +1675,9
@@<BR> <BR> if ((p_io_stack->Parameters.Power.Type ==
SystemPowerState)
&&<BR> (p_io_stack->Parameters.Power.State.SystemState
==PowerSystemHibernate
||<BR>- p_io_stack->Parameters.Power.State.SystemState
==PowerSystemSleeping1
))<BR>+ p_io_stack->Parameters.Power.State.SystemState
==PowerSystemSleeping1 ||
<BR>+ p_io_stack->Parameters.Power.State.SystemState
==PowerSystemSleeping2 ||
<BR>+ p_io_stack->Parameters.Power.State.SystemState
==PowerSystemSleeping3 ))<BR> {<BR> BUS_TRACE(
BUS_DBG_POWER, ("Setting b_hibernating flag for PDO %p \n",
p_dev_obj));<BR> p_ext->b_hibernating = TRUE;<BR>Index:
Q:/projinf4/trunk/core/iou/kernel/iou_ioc_mgr.c<BR>===================================================================<BR>---
Q:/projinf4/trunk/core/iou/kernel/iou_ioc_mgr.c (revision 3391)<BR>+++
Q:/projinf4/trunk/core/iou/kernel/iou_ioc_mgr.c (revision 3392)<BR>@@
-684,7 +684,9 @@<BR> }<BR> <BR> /* Wait for all I/O
operations to complete. */<BR>+ IOU_PRINT( TRACE_LEVEL_INFORMATION,
IOU_DBG_PNP, ("IoReleaseRemoveLockAndWait:
[\n"));<BR> IoReleaseRemoveLockAndWait(
&p_ext->pdo.cl_ext.remove_lock, p_irp );<BR>+ IOU_PRINT(
TRACE_LEVEL_INFORMATION, IOU_DBG_PNP, ("IoReleaseRemoveLockAndWait:
]\n"));<BR> <BR> /* Release resources if it was not done yet.
*/<BR> if( p_ext->pdo.cl_ext.last_pnp_state != SurpriseRemoved
)<BR></FONT><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>Tzachi
Dar<BR><B>Sent:</B> Thursday, November 13, 2008 4:25 PM<BR><B>To:</B>
ofw@lists.openfabrics.org<BR><B>Subject:</B> [ofw] patch: [core, mlx4,mthca]
Add debug prints.<BR></FONT><BR></DIV>
<DIV></DIV>
<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></BLOCKQUOTE></FONT></BODY></HTML>