From patchwork Wed Mar 3 12:27:52 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eli Cohen X-Patchwork-Id: 83323 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o23CRbvS009850 for ; Wed, 3 Mar 2010 12:27:37 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752730Ab0CCM1h (ORCPT ); Wed, 3 Mar 2010 07:27:37 -0500 Received: from mail.mellanox.co.il ([194.90.237.43]:50989 "EHLO mellanox.co.il" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751274Ab0CCM1g (ORCPT ); Wed, 3 Mar 2010 07:27:36 -0500 Received: from Internal Mail-Server by MTLPINE1 (envelope-from eli@mellanox.co.il) with SMTP; 3 Mar 2010 14:27:33 +0200 Received: from localhost ([10.4.1.30]) by mtlexch01.mtl.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 3 Mar 2010 14:27:32 +0200 Date: Wed, 3 Mar 2010 14:27:52 +0200 From: Eli Cohen To: Roland Dreier Cc: Linux RDMA list , ewg Subject: [PATCH] ipoib: Fix lockup of the tx queue Message-ID: <20100303122752.GA29784@mtldesk030.lab.mtl.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.20 (2009-06-14) X-OriginalArrivalTime: 03 Mar 2010 12:27:32.0694 (UTC) FILETIME=[E5EAB760:01CABACC] X-TM-AS-Product-Ver: SMEX-8.0.0.1181-6.000.1038-17226.007 X-TM-AS-Result: No--9.508400-8.000000-31 X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Wed, 03 Mar 2010 12:27:38 +0000 (UTC) diff --git a/drivers/infiniband/ulp/ipoib/ipoib_cm.c b/drivers/infiniband/ulp/ipoib/ipoib_cm.c index 30bdf42..f8302c2 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c @@ -752,6 +752,8 @@ void ipoib_cm_send(struct net_device *dev, struct sk_buff *skb, struct ipoib_cm_ if (++priv->tx_outstanding == ipoib_sendq_size) { ipoib_dbg(priv, "TX ring 0x%x full, stopping kernel net queue\n", tx->qp->qp_num); + if (ib_req_notify_cq(priv->send_cq, IB_CQ_NEXT_COMP)) + ipoib_warn(priv, "request notify on send CQ failed\n"); netif_stop_queue(dev); } }