<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=US-ASCII">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2654.45">
<TITLE>[PATCH] solicited event</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>Fab</FONT>
</P>

<P><FONT SIZE=2>Our verification team found that the solicited event mechanism does not work.</FONT>
<BR><FONT SIZE=2>I track that down and found that in the low level driver when trying to set the SE bit </FONT>
<BR><FONT SIZE=2>the code use wrong condition.</FONT>
</P>

<P><FONT SIZE=2>In  WQE_build_send_be_req3 function the SE bit is being set by simple </FONT>
<BR><FONT SIZE=2>And(&) operation ( so the input to the function if the bit is set is 0x8)</FONT>
</P>
<BR>

<P><FONT SIZE=2>cur_loc_p = WQE_build_send_be_req3(qp, next_wqe,</FONT>
<BR><FONT SIZE=2>                                p_wr->send_opt & IB_SEND_OPT_SIGNALED? VAPI_SIGNALED : VAPI_UNSIGNALED,</FONT>
<BR><FONT SIZE=2>                                p_wr,</FONT>
<BR>                                <FONT SIZE=2>p_wr->send_opt & IB_SEND_OPT_SOLICITED,</FONT>
<BR><FONT SIZE=2>                                p_wr->immediate_data</FONT>
<BR><FONT SIZE=2>                                );</FONT>
</P>

<P><FONT SIZE=2>But when the THH formt the WQE it set the bit with 1 mask</FONT>
<BR><FONT SIZE=2>THHUL_qpm.c@687 function WQE_pack_ctrl_send</FONT>
<BR><FONT SIZE=2>"...</FONT>
<BR><FONT SIZE=2> | ((u_int32_t)(se_bit & 1) << CTRL_SEND_S_BIT_OFFSET ) </FONT>
<BR><FONT SIZE=2>.."</FONT>
</P>

<P><FONT SIZE=2>so its end up that the bit is not being set even the user put 1 in the solicited options</FONT>
<BR><FONT SIZE=2>This patch fix the problem </FONT>
</P>

<P><FONT SIZE=2>Pls apply</FONT>
</P>

<P><FONT SIZE=2>10x</FONT>
<BR><FONT SIZE=2>Yossi </FONT>
</P>
<BR>

<P><FONT SIZE=2>Singe-off-by:Yossi Leybovich (sleybo@mellanox.co.il)</FONT>
</P>

<P><FONT SIZE=2>Index: hw/mt23108/vapi/Hca/hcahal/tavor/thhul_qpm/thhul_qpm.c</FONT>
<BR><FONT SIZE=2>===================================================================</FONT>
<BR><FONT SIZE=2>--- hw/mt23108/vapi/Hca/hcahal/tavor/thhul_qpm/thhul_qpm.c      (revision 435)</FONT>
<BR><FONT SIZE=2>+++ hw/mt23108/vapi/Hca/hcahal/tavor/thhul_qpm/thhul_qpm.c      (working copy)</FONT>
<BR><FONT SIZE=2>@@ -4837,7 +4837,7 @@</FONT>
<BR><FONT SIZE=2>                        cur_loc_p = WQE_build_send_be_req3(qp, next_wqe,</FONT>
<BR><FONT SIZE=2>                                p_wr->send_opt & IB_SEND_OPT_SIGNALED? VAPI_SIGNALED : VAPI_UNSIGNALED,</FONT>
<BR><FONT SIZE=2>                                p_wr,</FONT>
<BR><FONT SIZE=2>-                               p_wr->send_opt & IB_SEND_OPT_SOLICITED,</FONT>
<BR><FONT SIZE=2>+                               p_wr->send_opt & IB_SEND_OPT_SOLICITED? 1:0,</FONT>
<BR><FONT SIZE=2>                                p_wr->immediate_data</FONT>
<BR><FONT SIZE=2>                                );</FONT>
<BR><FONT SIZE=2> </FONT>
</P>

<P><FONT FACE="Arial" SIZE=2 COLOR="#000000"></FONT> 

</BODY>
</HTML>