<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18702"></HEAD>
<BODY>
<DIV><FONT size=2 face=Arial><SPAN class=867083822-14102009>This patch is needed 
to fix the following case:</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=867083822-14102009></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=867083822-14102009>two qps are 
connected.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN class=867083822-14102009>another path is 
already loaded.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN class=867083822-14102009>The connected 
port fails. An apm event is fired.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN class=867083822-14102009>a process of loading 
a new path starts by a query path record. The sm doesn't still know that the 
port is down so it returns a path record.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN class=867083822-14102009>The cm client side 
sends lap. Since the port is down he gets a timeout 
response.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN class=867083822-14102009>After the timeout 
all new lap requests failed with invalid state. The fix is to return the cep to 
established state after the timeout.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=867083822-14102009></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=867083822-14102009>Thanks</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=867083822-14102009>Tzachi</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN 
class=867083822-14102009></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=867083822-14102009></SPAN></FONT><FONT 
size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Index: 
Q:/projMLNX_WinOF_2.0/MLNX_WinOF_2-0/core/al/kernel/al_cm_cep.c<BR>===================================================================<BR>--- 
Q:/projMLNX_WinOF_2.0/MLNX_WinOF_2-0/core/al/kernel/al_cm_cep.c (revision 
4956)<BR>+++ 
Q:/projMLNX_WinOF_2.0/MLNX_WinOF_2-0/core/al/kernel/al_cm_cep.c (revision 
4957)<BR>@@ -2289,7 +2289,15 @@<BR>    __format_drep( p_cep, 
NULL, 0, &p_cep->mads.drep );<BR>    p_cep->state 
= CEP_STATE_TIMEWAIT;<BR>    __insert_timewait( p_cep 
);<BR>+   break;<BR> <BR>+  case 
CEP_STATE_LAP_SENT:<BR>+   /*<BR>+    * Before CEP 
was sent, we have been in CEP_STATE_ESTABLISHED as we<BR>+    * 
failed to send, we return to that state.<BR>+    
*/<BR>+   p_cep->state = 
CEP_STATE_ESTABLISHED;<BR>+   break;<BR>   default:<BR>    break;<BR>   }<BR></DIV></FONT></BODY></HTML>