<!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.3243" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=570011713-27112008><FONT face=Arial color=#0000ff
size=2>Applied in 1770</FONT></SPAN></DIV><BR>
<BLOCKQUOTE dir=ltr
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> ofw-bounces@lists.openfabrics.org
[mailto:ofw-bounces@lists.openfabrics.org] <B>On Behalf Of </B>Leonid
Keller<BR><B>Sent:</B> Sunday, November 23, 2008 8:16 PM<BR><B>To:</B>
ofw@lists.openfabrics.org<BR><B>Subject:</B> [ofw][patch][MLX4] Fixed QP
memory leak<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV><FONT size=2><FONT size=1>
<P><FONT face=Arial size=2>Fixed QP memory leak, inserted in <SPAN
class=864130818-23112008>1288 </SPAN>fix.</FONT></P>
<P><FONT face=Arial size=2>The driver missed release of bits in QPN bitmap,
preventing using this qpn once more.</FONT></P></FONT></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Index:
hw/mlx4/kernel/bus/ib/qp.c<BR>===================================================================<BR>---
hw/mlx4/kernel/bus/ib/qp.c (revision 1765)<BR>+++
hw/mlx4/kernel/bus/ib/qp.c (working copy)<BR>@@ -438,6 +438,11
@@<BR> if (err)<BR> goto
err_wrid;<BR> <BR>+ if (err)
{<BR>+ mlx4_qp_release_range(dev->dev, sqpn,
1);<BR>+ goto
err_wrid;<BR>+ }<BR>+<BR> /*<BR> * Hardware wants
QPN written in big-endian order (after<BR> * shifting) for send
doorbell. Precompute this value to save<BR>@@ -551,6 +556,10
@@<BR> mlx4_ib_unlock_cqs(send_cq,
recv_cq);<BR> <BR> mlx4_qp_free(dev->dev,
&qp->mqp);<BR>+<BR>+ if (!is_sqp(dev,
qp))<BR>+ mlx4_qp_release_range(dev->dev, qp->mqp.qpn,
1);<BR>+<BR> mlx4_mtt_cleanup(dev->dev,
&qp->mtt);<BR> <BR> if (is_user)
{<BR></FONT></DIV></BLOCKQUOTE></BODY></HTML>