<!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.2900.2873" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2><SPAN class=532163315-04052006>Hi 
Fab,</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=532163315-04052006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=532163315-04052006>Attached is a small 
patch that allows debug printing of PNP events to be printed with the name of 
the event.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=532163315-04052006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=532163315-04052006>Thanks</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=532163315-04052006>Tzachi</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: 
inc/iba/ib_al.h<BR>===================================================================<BR>--- 
inc/iba/ib_al.h (revision 333)<BR>+++ inc/iba/ib_al.h (working 
copy)<BR>@@ -8104,6 +8104,34 @@<BR> <BR> #define 
IB_PNP_REG_COMPLETE    IB_PNP_FLAG_REG_COMPLETE<BR> <BR>+AL_INLINE 
char * get_pnp_event_name(int event)<BR>+{<BR>+ switch( event 
)<BR>+ {<BR>+ case IB_PNP_CA_ADD     : return 
"IB_PNP_CA_ADD";<BR>+ case IB_PNP_CA_REMOVE    : return 
"IB_PNP_CA_REMOVE";<BR>+ case IB_PNP_PORT_ADD    : 
return "IB_PNP_PORT_ADD";<BR>+ case 
IB_PNP_PORT_REMOVE    : return 
"IB_PNP_PORT_REMOVE";<BR>+ case IB_PNP_PORT_INIT    : 
return "IB_PNP_PORT_INIT";<BR>+ case 
IB_PNP_PORT_ARMED    : return 
"IB_PNP_PORT_ARMED";<BR>+ case IB_PNP_PORT_ACTIVE    : 
return "IB_PNP_PORT_ACTIVE";<BR>+ case 
IB_PNP_PORT_DOWN    : return 
"IB_PNP_PORT_DOWN";<BR>+ case IB_PNP_PKEY_CHANGE    : 
return "IB_PNP_PKEY_CHANGE";<BR>+ case 
IB_PNP_SM_CHANGE    : return 
"IB_PNP_SM_CHANGE";<BR>+ case IB_PNP_GID_CHANGE    : 
return "IB_PNP_GID_CHANGE";<BR>+ case 
IB_PNP_LID_CHANGE    : return 
"IB_PNP_LID_CHANGE";<BR>+ case IB_PNP_SUBNET_TIMEOUT_CHANGE : return 
"IB_PNP_SUBNET_TIMEOUT_CHANGE";<BR>+ case 
IB_PNP_IOU_ADD     : return 
"IB_PNP_IOU_ADD";<BR>+ case IB_PNP_IOU_REMOVE    : 
return "IB_PNP_IOU_REMOVE";<BR>+ case 
IB_PNP_IOC_ADD     : return 
"IB_PNP_IOC_ADD";<BR>+ case IB_PNP_IOC_REMOVE    : 
return "IB_PNP_IOC_REMOVE";<BR>+ case 
IB_PNP_IOC_PATH_ADD   : return 
"IB_PNP_IOC_PATH_ADD";<BR>+ case IB_PNP_IOC_PATH_REMOVE   : 
return "IB_PNP_IOC_PATH_REMOVE";<BR>+ case 
IB_PNP_REG_COMPLETE   : return 
"IB_PNP_REG_COMPLETE";<BR>+ }<BR>+ return 
"Unknown";<BR>+}<BR>+<BR> typedef 
uint32_t ib_pnp_event_t;<BR> /*<BR> * VALUES<BR>Index: 
ulp/ipoib/kernel/ipoib_adapter.c<BR>===================================================================<BR>--- 
ulp/ipoib/kernel/ipoib_adapter.c (revision 333)<BR>+++ 
ulp/ipoib/kernel/ipoib_adapter.c (working copy)<BR>@@ -506,7 +506,7 
@@<BR>  }<BR> <BR>  IPOIB_TRACE( 
IPOIB_DBG_INFO,<BR>-  ("p_pnp_rec->pnp_event = 
0x%x\n",p_pnp_rec->pnp_event));<BR>+  ("p_pnp_rec->pnp_event = 
0x%x (%s)\n",p_pnp_rec->pnp_event, 
get_pnp_event_name(p_pnp_rec->pnp_event)));<BR> <BR>  p_port_rec 
= (ib_pnp_port_rec_t*)p_pnp_rec;<BR> <BR>@@ -634,8 +634,8 
@@<BR> <BR>  default:<BR>   IPOIB_TRACE( 
IPOIB_DBG_INFO,<BR>-   ("IPOIB: Received unhandled PnP event 
0x%x\n",<BR>-   p_pnp_rec->pnp_event) 
);<BR>+   ("IPOIB: Received unhandled PnP event 0x%x 
(%s)\n",<BR>+   p_pnp_rec->pnp_event, 
get_pnp_event_name(p_pnp_rec->pnp_event)) );<BR>   /* Fall 
through. */<BR>  case IB_PNP_PKEY_CHANGE:<BR>  case 
IB_PNP_SM_CHANGE:<BR></DIV></FONT></BODY></HTML>