<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2668" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2><SPAN class=261510718-07032006>Hi 
Fab,</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510718-07032006>Find below the 
patches, that've done working on the memfree driver.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=261510718-07032006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510718-07032006>Index: 
ib_types.h<BR>===================================================================<BR>--- 
ib_types.h (revision 230)<BR>+++ ib_types.h (working copy)<BR>@@ 
-4169,41 +4169,27 @@<BR> *<BR> * 
SYNOPSIS<BR> */<BR>+<BR> AL_INLINE uint8_t 
AL_API<BR> ib_port_info_compute_rate(<BR>  IN  const ib_port_info_t* 
const  p_pi )<BR> {<BR>- switch( p_pi->link_width_active 
* p_pi->link_width_active 
*<BR>-  ib_port_info_get_link_speed_active( p_pi ) 
)<BR>+ switch(p_pi->link_width_active)<BR>  {<BR>- case 
1:<BR>-  return IB_PATH_RECORD_RATE_2_5_GBS;<BR>+  case 
IB_LINK_WIDTH_ACTIVE_1X:<BR>+    return 
IB_PATH_RECORD_RATE_2_5_GBS;<BR> <BR>- case 2:<BR>-  return 
IB_PATH_RECORD_RATE_5_GBS;<BR>+  case 
IB_LINK_WIDTH_ACTIVE_4X:<BR>+   return 
IB_PATH_RECORD_RATE_10_GBS;<BR> <BR>- case 4:<BR>-  return 
IB_PATH_RECORD_RATE_10_GBS;<BR>+  case 
IB_LINK_WIDTH_ACTIVE_12X:<BR>+   return 
IB_PATH_RECORD_RATE_30_GBS;<BR> <BR>- case 8:<BR>-  return 
IB_PATH_RECORD_RATE_20_GBS;<BR>-<BR>- case 16:<BR>-  return 
IB_PATH_RECORD_RATE_40_GBS;<BR>-<BR>- case 64:<BR>-  return 
IB_PATH_RECORD_RATE_30_GBS;<BR>-<BR>- case 128:<BR>-  return 
IB_PATH_RECORD_RATE_60_GBS;<BR>-<BR>- case 256:<BR>-  return 
IB_PATH_RECORD_RATE_120_GBS;<BR>-<BR>- default:<BR>-  return 
IB_PATH_RECORD_RATE_2_5_GBS;<BR>+  default:<BR>+   return 
IB_PATH_RECORD_RATE_2_5_GBS;<BR>  }<BR> }<BR>+<BR> /*<BR> * 
PARAMETERS<BR> * p_pi<BR>@@ -8764,6 +8750,17 
@@<BR>  IB_WCS_RNR_RETRY_ERR,<BR>  IB_WCS_TIMEOUT_RETRY_ERR,<BR>  IB_WCS_REM_INVALID_REQ_ERR,<BR>+ IB_WCS_LOCAL_EEC_OP_ERR,<BR>+ IB_WCS_BAD_RESP_ERR,<BR>+ IB_WCS_LOCAL_ACCESS_ERR,<BR>+ IB_WCS_REM_INV_REQ_ERR,<BR>+ IB_WCS_LOCAL_RDD_VIOL_ERR,<BR>+ IB_WCS_REM_ABORT_ERR,<BR>+ IB_WCS_INV_EECN_ERR,<BR>+ IB_WCS_INV_EEC_STATE_ERR,<BR>+ IB_WCS_FATAL_ERR,<BR>+ IB_WCS_RESP_TIMEOUT_ERR,<BR>+ IB_WCS_GENERAL_ERR,<BR>  IB_WCS_UNMATCHED_RESPONSE,   /* 
InfiniBand Access Layer 
*/<BR>  IB_WCS_CANCELED,     /* InfiniBand 
Access Layer 
*/<BR>  IB_WCS_UNKNOWN      /* Must be 
last. */<BR>@@ -8827,6 +8824,50 @@<BR> *   - There was 
insufficient buffers to receive a new atomic 
operation.<BR> *   - An RDMA request was larger than 2^31 
bytes.<BR> *<BR>+* IB_WCS_LOCAL_EEC_OP_ERR,<BR>+*  An 
internal EE Context consistency error was detected <BR>+*  while 
processing this Work 
Request.<BR>+*<BR>+* IB_WCS_BAD_RESP_ERR,<BR>+*  An unexpected 
transport layer opcode was returned<BR>+*  by the 
responder.<BR>+*<BR>+*  IB_WCS_LOCAL_ACCESS_ERR,<BR>+*  A 
protection error occurred on a local data buffer<BR>+*  during the 
processing of a RDMA Write with Immediate Data <BR>+*  operation sent 
from the remote node.<BR>+*<BR>+* 
 IB_WCS_REM_INV_REQ_ERR,<BR>+*  The responder detected an invalid 
message on the channel. <BR>+*  Possible causes include the operation 
is:<BR>+*   - not supported by this receive 
queueó<BR>+*   - insufficient buffering to receive a new RDMA or 
Atomic Operation request;<BR>+*   - the length specified in an 
RDMA request is greater than 231 bytes.<BR>+*<BR>+* 
 IB_WCS_LOCAL_RDD_VIOL_ERR,<BR>+*  The RDD associated with the QP 
does not match the RDD <BR>+*  associated with the EE 
Context.<BR>+*<BR>+*  IB_WCS_REM_ABORT_ERR,<BR>+*  The operation 
was aborted:<BR>+*   - For RD, the requester aborted the 
operation. One possible cause is <BR>+*    the requester 
suspended the operation and will retry it later 
using<BR>+*    a new Receive WQE. The other possible cause 
is the requester<BR>+*    abandoned the operation and placed 
the requester QP in<BR>+*    the SQEr 
state.<BR>+*   - For UD QPs associated with an SRQ, the 
responder aborted the operation.<BR>+*<BR>+* 
 IB_WCS_INV_EECN_ERR,<BR>+*  An invalid EE Context number was 
detected.<BR>+*<BR>+*  IB_WCS_INV_EEC_STATE_ERR,<BR>+*  Operation 
is not legal for the specified EE Context state.<BR>+*<BR>+* 
 IB_WCS_FATAL_ERR,<BR>+*  <BR>+* IB_WCS_RESP_TIMEOUT_ERR,<BR>+*  <BR>+*<BR> * IB_WCS_UNMATCHED_RESPONSE<BR> *  A 
response MAD was received for which there was no matching send.  
The<BR> *  send operation may have been canceled by the user or 
may have timed<BR>@@ -8834,6 +8875,10 
@@<BR> *<BR> * IB_WCS_CANCELED<BR> *  The 
completed work request was canceled by the user.<BR>+*<BR>+* 
 IB_WCS_GENERAL_ERR,<BR>+*  Any other 
error<BR>+*<BR> *****/<BR> <BR> <BR>@@ -8968,21 +9013,23 
@@<BR>  ib_wc_status_t   status;<BR>  uint64_t    vendor_specific;<BR> <BR>+ uint32_t 
    qp_num; <BR>+<BR>  union 
_wc_recv<BR>  {<BR>   struct 
_wc_conn<BR>   {<BR>-   ib_recv_opt_t recv_opt;<BR>+   ib_recv_opt_t  recv_opt;<BR>    ib_net32_t  immediate_data;<BR> <BR>   } conn;<BR> <BR>   struct 
_wc_ud<BR>   {<BR>-   ib_recv_opt_t recv_opt;<BR>+   ib_recv_opt_t  recv_opt;<BR>    ib_net32_t  immediate_data;<BR>    ib_net32_t  remote_qp;<BR>-   uint16_t  pkey_index;<BR>+   uint16_t   pkey_index;<BR>    ib_net16_t  remote_lid;<BR>    uint8_t   remote_sl;<BR>    uint8_t   path_bits;<BR></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=261510718-07032006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=261510718-07032006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510718-07032006>Index: 
ib_statustext.c<BR>===================================================================<BR>--- 
ib_statustext.c     (revision 230)<BR>+++ 
ib_statustext.c     (working copy)<BR>@@ -163,6 +163,17 
@@<BR>        
"IB_WCS_RNR_RETRY_ERR",<BR>        
"IB_WCS_TIMEOUT_RETRY_ERR",<BR>        
"IB_WCS_REM_INVALID_REQ_ERR",<BR>+       
"IB_WCS_LOCAL_EEC_OP_ERR",<BR>+       
"IB_WCS_BAD_RESP_ERR",<BR>+       
"IB_WCS_LOCAL_ACCESS_ERR",<BR>+       
"IB_WCS_REM_INV_REQ_ERR",<BR>+       
"IB_WCS_LOCAL_RDD_VIOL_ERR",<BR>+       
"IB_WCS_REM_ABORT_ERR",<BR>+       
"IB_WCS_INV_EECN_ERR",<BR>+       
"IB_WCS_INV_EEC_STATE_ERR",<BR>+       
"IB_WCS_FATAL_ERR",<BR>+       
"IB_WCS_RESP_TIMEOUT_ERR",<BR>+       
"IB_WCS_GENERAL_ERR",<BR>        
"IB_WCS_UNMATCHED_RESPONSE",                    
/* InfiniBand Access Layer */<BR>        
"IB_WCS_CANCELED",                                              
/* InfiniBand Access Layer */<BR>        
"IB_WCS_UNKNOWN"</DIV></SPAN></FONT>
<DIV><FONT face=Arial size=2><SPAN 
class=261510718-07032006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=261510718-07032006></SPAN></FONT> </DIV></BODY></HTML>