<!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=175470217-09022009>The following 
checkin prevents blue screens that were found when running with the driver 
verifier.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Index: 
Q:/projinf2/trunk/hw/mlx4/kernel/bus/core/l2w_debug.c<BR>===================================================================<BR>--- 
Q:/projinf2/trunk/hw/mlx4/kernel/bus/core/l2w_debug.c (revision 
3931)<BR>+++ 
Q:/projinf2/trunk/hw/mlx4/kernel/bus/core/l2w_debug.c (revision 3932)<BR>@@ 
-45,6 +45,11 @@<BR>  int l_PktSize 
=sizeof(IO_ERROR_LOG_PACKET)+pi_nDataItems*sizeof(ULONG);<BR>  int 
l_TotalSize =l_PktSize +l_Size;<BR> <BR>+ if (pi_pIoObject == NULL) 
{<BR>+  ASSERT(FALSE);<BR>+  return;<BR>+ }<BR>+<BR>  /* 
Init the variable argument list */   
<BR>  va_start(l_Argptr, pi_nDataItems);<BR> <BR>@@ -132,6 
+137,13 @@<BR>  // print to Debugger<BR>  va_start(list, 
format);<BR>  buf[MAX_BUFFER_SIZE - 1] = '\0';<BR>+<BR>+ if (mdev 
== NULL) 
{<BR>+  ASSERT(FALSE);<BR>+  return;<BR>+ }<BR>+<BR>+ <BR>  if 
(RtlStringCbVPrintfA( (char*)buf, sizeof(buf), format, 
list))<BR>   return;<BR>  cl_dbg_out( "%s\n", 
(char*)buf );<BR>@@ -177,6 +189,11 
@@<BR>  UCHAR  buf[MAX_BUFFER_SIZE];<BR>  WCHAR  wbuf[MAX_BUFFER_SIZE];<BR> <BR>+ if 
(mdev == NULL) 
{<BR>+  ASSERT(FALSE);<BR>+  return;<BR>+ }<BR>+<BR>  // 
print to Debugger<BR>  va_start(list, 
format);<BR>  buf[MAX_BUFFER_SIZE - 1] = '\0';<BR>Index: 
Q:/projinf2/trunk/hw/mlx4/kernel/inc/l2w.h<BR>===================================================================<BR>--- 
Q:/projinf2/trunk/hw/mlx4/kernel/inc/l2w.h (revision 3931)<BR>+++ 
Q:/projinf2/trunk/hw/mlx4/kernel/inc/l2w.h (revision 3932)<BR>@@ -326,6 
+326,9 @@<BR> <BR> static inline int mlx4_is_livefish(struct mlx4_dev 
*dev)<BR> {<BR>+ if (dev == NULL) {<BR>+  return 
TRUE;<BR>+ }<BR>  return !!(dev->flags & 
MLX4_FLAG_LIVEFISH);<BR> }<BR> <BR>Index: 
Q:/projinf2/trunk/hw/mlx4/kernel/hca/drv.h<BR>===================================================================<BR>--- 
Q:/projinf2/trunk/hw/mlx4/kernel/hca/drv.h (revision 3931)<BR>+++ 
Q:/projinf2/trunk/hw/mlx4/kernel/hca/drv.h (revision 3932)<BR>@@ -243,6 
+243,9 @@<BR> <BR> static inline boolean_t 
hca_is_livefish(PFDO_DEVICE_DATA p_fdo)<BR> {<BR>+ if (p_fdo == NULL) 
{<BR>+  return TRUE;<BR>+ }<BR>  return 
p_fdo->bus_ib_ifc.is_livefish;<BR> }<BR> <BR>Index: 
Q:/projinf2/trunk/hw/mthca/kernel/hca_debug.h<BR>===================================================================<BR>--- 
Q:/projinf2/trunk/hw/mthca/kernel/hca_debug.h (revision 3931)<BR>+++ 
Q:/projinf2/trunk/hw/mthca/kernel/hca_debug.h (revision 3932)<BR>@@ -63,7 
+63,11 @@<BR>  }<BR> <BR> #define 
HCA_PRINT_EV_MDEV(_level_,_flag_,_msg_)  
\<BR>- HCA_PRINT_TO_EVENT_LOG(mdev->ext->cl_ext.p_self_do,_level_,_flag_,_msg_)<BR>+{\<BR>+ if(mdev) 
{\<BR>+  HCA_PRINT_TO_EVENT_LOG(mdev->ext->cl_ext.p_self_do,_level_,_flag_,_msg_)\<BR>+ }\<BR>+}\<BR> <BR> <BR> #if 
defined(EVENT_TRACING)<BR>Index: 
Q:/projinf2/trunk/hw/mthca/kernel/mthca_log.c<BR>===================================================================<BR>--- 
Q:/projinf2/trunk/hw/mthca/kernel/mthca_log.c (revision 3931)<BR>+++ 
Q:/projinf2/trunk/hw/mthca/kernel/mthca_log.c (revision 3932)<BR>@@ -73,6 
+73,10 @@<BR>  /* Init the variable argument list */   
<BR>  va_start(l_Argptr, 
pi_nDataItems);<BR> <BR>+ if(pi_pIoObject == NULL) 
{<BR>+  return;<BR>+ }<BR>+ <BR>  /* Allocate an 
error log entry */ <BR>     l_pErrorLogEntry = 
<BR>  (PIO_ERROR_LOG_PACKET)IoAllocateErrorLogEntry(<BR>@@ -165,6 
+169,10 @@<BR>  int l_PktSize 
=sizeof(IO_ERROR_LOG_PACKET)+pi_nDataItems*sizeof(ULONG);<BR>  int 
l_TotalSize =l_PktSize +l_Size;<BR> <BR>+ if(pi_pIoObject == NULL) 
{<BR>+  return;<BR>+ }<BR>+ <BR>  /* Init the 
variable argument list */   <BR>  va_start(l_Argptr, 
pi_nDataItems);<BR> <BR>Index: 
Q:/projinf2/trunk/hw/mthca/kernel/mthca_dev.h<BR>===================================================================<BR>--- 
Q:/projinf2/trunk/hw/mthca/kernel/mthca_dev.h (revision 3931)<BR>+++ 
Q:/projinf2/trunk/hw/mthca/kernel/mthca_dev.h (revision 3932)<BR>@@ -598,6 
+598,9 @@<BR> <BR> static inline int mthca_is_livefish(struct 
mthca_dev *mdev)<BR> {<BR>+ if(mdev == NULL) {<BR>+  return 
TRUE;<BR>+ }<BR>  return mdev->mthca_flags & 
MTHCA_FLAG_LIVEFISH;<BR> }<BR> <BR></DIV></FONT></BODY></HTML>