[ofw] patch: [core, mlx4,mthca] Add debug prints.

Tzachi Dar tzachid at mellanox.co.il
Thu Nov 13 06:50:57 PST 2008


It seems that applying this patch, should only be done after the
following patch is applied: 
 
[PnP] added debug print messages

Index: Q:/projinf4/trunk/core/complib/kernel/cl_pnp_po.c
===================================================================
--- Q:/projinf4/trunk/core/complib/kernel/cl_pnp_po.c (revision 3391)
+++ Q:/projinf4/trunk/core/complib/kernel/cl_pnp_po.c (revision 3392)
@@ -208,6 +208,7 @@
 
  CL_ASSERT( KeGetCurrentIrql() < DISPATCH_LEVEL );
  
+ CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, ("IoAcquireRemoveLock: [\n"));
  status = IoAcquireRemoveLock( &p_ext->remove_lock, p_irp );
  if( !NT_SUCCESS( status ) )
  {
@@ -217,6 +218,7 @@
   IoCompleteRequest( p_irp, IO_NO_INCREMENT );
   return status;
  }
+ CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, ("IoAcquireRemoveLock: ]\n"));
 
  p_io_stack = IoGetCurrentIrpStackLocation( p_irp );
  ASSERT( p_io_stack->MajorFunction == IRP_MJ_PNP );
@@ -493,9 +495,18 @@
  if( p_ext->last_pnp_state == Started )
  {
   /* Acquire the lock so we can release and wait. */
+  CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, ("IoAcquireRemoveLock: [\n"));
   IoAcquireRemoveLock( &p_ext->stop_lock, p_irp );
+  if( !NT_SUCCESS( status ) )
+  {
+   CL_TRACE( CL_DBG_ERROR, p_ext->dbg_lvl, 
+    ("IoAcquireRemoveLock returned %08x. Continue anyway ...\n",
status) );
+  }
+  CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, ("IoAcquireRemoveLock: ]\n"));
   /* Wait for all IO operations to complete. */
+  CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, ("IoReleaseRemoveLockAndWait:
[\n"));
   IoReleaseRemoveLockAndWait( &p_ext->stop_lock, p_irp );
+  CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, ("IoReleaseRemoveLockAndWait:
]\n"));
  }
 
  status = p_ext->vfptr_pnp_po->pfn_query_stop( p_dev_obj, p_irp,
p_action );
@@ -570,7 +581,14 @@
   /* 
    * Acquire the stop lock to allow releasing and waiting when
stopping.
    */
+  CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, ("IoAcquireRemoveLock: [\n"));
   IoAcquireRemoveLock( &p_ext->stop_lock, NULL );
+  if( !NT_SUCCESS( status ) )
+  {
+   CL_TRACE( CL_DBG_ERROR, p_ext->dbg_lvl, 
+    ("IoAcquireRemoveLock returned %08x. Continue anyway ...\n",
status) );
+  }
+  CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, ("IoAcquireRemoveLock: ]\n"));
  }
 
  /* Return to the previous PnP state. */
@@ -679,7 +697,9 @@
  CL_ENTER( CL_DBG_PNP, p_ext->dbg_lvl );
 
  /* Wait for all I/O operations to complete. */
+ CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, ("IoReleaseRemoveLockAndWait:
[\n"));
  IoReleaseRemoveLockAndWait( &p_ext->remove_lock, p_irp );
+ CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, ("IoReleaseRemoveLockAndWait:
]\n"));
 
  /* Release resources if it was not done yet. */
  if( p_ext->last_pnp_state != SurpriseRemoved &&
@@ -1257,6 +1277,7 @@
 
  CL_ENTER( CL_DBG_PNP, p_ext->dbg_lvl );
 
+ CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, ("IoAcquireRemoveLock: [\n"));
  status = IoAcquireRemoveLock( &p_ext->remove_lock, p_irp );
  if( !NT_SUCCESS( status ) )
  {
@@ -1268,6 +1289,7 @@
   IoCompleteRequest( p_irp, IO_NO_INCREMENT );
   return status;
  }
+ CL_TRACE( CL_DBG_PNP, p_ext->dbg_lvl, ("IoAcquireRemoveLock: ]\n"));
 
  p_io_stack = IoGetCurrentIrpStackLocation( p_irp );
  ASSERT( p_io_stack->MajorFunction == IRP_MJ_POWER );
Index: Q:/projinf4/trunk/core/bus/kernel/bus_port_mgr.c
===================================================================
--- Q:/projinf4/trunk/core/bus/kernel/bus_port_mgr.c (revision 3391)
+++ Q:/projinf4/trunk/core/bus/kernel/bus_port_mgr.c (revision 3392)
@@ -1392,7 +1392,9 @@
  }
 
  /* Wait for all I/O operations to complete. */
+ BUS_TRACE( BUS_DBG_PNP, ("IoReleaseRemoveLockAndWait: [\n"));
  IoReleaseRemoveLockAndWait( &p_ext->pdo.cl_ext.remove_lock, p_irp );
+ BUS_TRACE( BUS_DBG_PNP, ("IoReleaseRemoveLockAndWait: ]\n"));
 
  /* Release resources if it was not done yet. */
  if( p_ext->pdo.cl_ext.last_pnp_state != SurpriseRemoved )
Index: Q:/projinf4/trunk/core/bus/kernel/bus_driver.c
===================================================================
--- Q:/projinf4/trunk/core/bus/kernel/bus_driver.c (revision 3391)
+++ Q:/projinf4/trunk/core/bus/kernel/bus_driver.c (revision 3392)
@@ -588,6 +588,7 @@
  p_io_stack = IoGetCurrentIrpStackLocation( p_irp );
 
  /* Acquire the stop lock. */
+ BUS_TRACE( BUS_DBG_DRV, ("IoAcquireRemoveLock: [\n"));
  status = IoAcquireRemoveLock( &p_ext->cl_ext.stop_lock, p_irp );
  if( !NT_SUCCESS( status ) )
  {
@@ -597,6 +598,7 @@
   BUS_EXIT( BUS_DBG_DRV );
   return status;
  }
+ BUS_TRACE( BUS_DBG_DRV, ("IoAcquireRemoveLock: ]\n"));
 
  /* Acquire the remove lock. */
  status = IoAcquireRemoveLock( &p_ext->cl_ext.remove_lock, p_irp );
Index: Q:/projinf4/trunk/core/bus/kernel/bus_iou_mgr.c
===================================================================
--- Q:/projinf4/trunk/core/bus/kernel/bus_iou_mgr.c (revision 3391)
+++ Q:/projinf4/trunk/core/bus/kernel/bus_iou_mgr.c (revision 3392)
@@ -1037,7 +1037,9 @@
  }
 
  /* Wait for all I/O operations to complete. */
+ BUS_TRACE( BUS_DBG_PNP, ("IoReleaseRemoveLockAndWait: [\n"));
  IoReleaseRemoveLockAndWait( &p_ext->pdo.cl_ext.remove_lock, p_irp );
+ BUS_TRACE( BUS_DBG_PNP, ("IoReleaseRemoveLockAndWait: ]\n"));
 
  /* Release resources if it was not done yet. */
  if( p_ext->pdo.cl_ext.last_pnp_state != SurpriseRemoved )
@@ -1673,7 +1675,9 @@
 
  if ((p_io_stack->Parameters.Power.Type == SystemPowerState) &&
   (p_io_stack->Parameters.Power.State.SystemState
==PowerSystemHibernate ||
-  p_io_stack->Parameters.Power.State.SystemState ==PowerSystemSleeping1
))
+  p_io_stack->Parameters.Power.State.SystemState ==PowerSystemSleeping1
|| 
+  p_io_stack->Parameters.Power.State.SystemState ==PowerSystemSleeping2
|| 
+  p_io_stack->Parameters.Power.State.SystemState ==PowerSystemSleeping3
))
  {
   BUS_TRACE( BUS_DBG_POWER, ("Setting b_hibernating flag for PDO %p
\n", p_dev_obj));
   p_ext->b_hibernating = TRUE;
Index: Q:/projinf4/trunk/core/iou/kernel/iou_ioc_mgr.c
===================================================================
--- Q:/projinf4/trunk/core/iou/kernel/iou_ioc_mgr.c (revision 3391)
+++ Q:/projinf4/trunk/core/iou/kernel/iou_ioc_mgr.c (revision 3392)
@@ -684,7 +684,9 @@
  }
 
  /* Wait for all I/O operations to complete. */
+ IOU_PRINT( TRACE_LEVEL_INFORMATION, IOU_DBG_PNP,
("IoReleaseRemoveLockAndWait: [\n"));
  IoReleaseRemoveLockAndWait( &p_ext->pdo.cl_ext.remove_lock, p_irp );
+ IOU_PRINT( TRACE_LEVEL_INFORMATION, IOU_DBG_PNP,
("IoReleaseRemoveLockAndWait: ]\n"));
 
  /* Release resources if it was not done yet. */
  if( p_ext->pdo.cl_ext.last_pnp_state != SurpriseRemoved )



________________________________

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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20081113/af9d755e/attachment.html>


More information about the ofw mailing list