From patchwork Wed Feb 26 15:06:57 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hariprasad Shenai X-Patchwork-Id: 324453 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id CF58C2C0089 for ; Thu, 27 Feb 2014 02:09:31 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753282AbaBZPJX (ORCPT ); Wed, 26 Feb 2014 10:09:23 -0500 Received: from stargate.chelsio.com ([67.207.112.58]:32042 "EHLO stargate.asicdesigners.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753276AbaBZPJV (ORCPT ); Wed, 26 Feb 2014 10:09:21 -0500 Received: from maui.asicdesigners.com (maui.asicdesigners.com [10.192.180.15]) by stargate.asicdesigners.com (8.14.4/8.14.4) with SMTP id s1QF9Hlk020851; Wed, 26 Feb 2014 07:09:18 -0800 Received: from lamuni.blr.asicdesigners.com ([10.193.184.57]) by maui.asicdesigners.com with Microsoft SMTPSVC(6.0.3790.4675); Wed, 26 Feb 2014 07:09:17 -0800 From: Hariprasad Shenai To: netdev@vger.kernel.org, linux-rdma@vger.kernel.org Cc: davem@davemloft.net, roland@purestorage.com, kumaras@chelsio.com, dm@chelsio.com, swise@opengridcomputing.com, leedom@chelsio.com, santosh@chelsio.com, hariprasad@chelsio.com, nirranjan@chelsio.com Subject: [PATCH net-next 18/31] iw_cxgb4: ignore read reponse type 1 CQEs. Date: Wed, 26 Feb 2014 20:36:57 +0530 Message-Id: <1393427230-14532-19-git-send-email-hariprasad@chelsio.com> X-Mailer: git-send-email 1.8.4 In-Reply-To: <1393427230-14532-1-git-send-email-hariprasad@chelsio.com> References: <1393427230-14532-1-git-send-email-hariprasad@chelsio.com> X-OriginalArrivalTime: 26 Feb 2014 15:09:17.0693 (UTC) FILETIME=[B8000AD0:01CF3304] Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Steve Wise These are generated by HW in some error cases and need to be silently discarded. Signed-off-by: Steve Wise --- drivers/infiniband/hw/cxgb4/cq.c | 20 ++++++++++++++++++++ 1 files changed, 20 insertions(+), 0 deletions(-) diff --git a/drivers/infiniband/hw/cxgb4/cq.c b/drivers/infiniband/hw/cxgb4/cq.c index 59f7601..e310762 100644 --- a/drivers/infiniband/hw/cxgb4/cq.c +++ b/drivers/infiniband/hw/cxgb4/cq.c @@ -366,6 +366,14 @@ void c4iw_flush_hw_cq(struct c4iw_cq *chp) if (CQE_OPCODE(hw_cqe) == FW_RI_READ_RESP) { /* + * If we have reached here because of async + * event or other error, and have egress error + * then drop + */ + if (CQE_TYPE(hw_cqe) == 1) + goto next_cqe; + + /* * drop peer2peer RTR reads. */ if (CQE_WRID_STAG(hw_cqe) == 1) @@ -512,6 +520,18 @@ static int poll_cq(struct t4_wq *wq, struct t4_cq *cq, struct t4_cqe *cqe, if (RQ_TYPE(hw_cqe) && (CQE_OPCODE(hw_cqe) == FW_RI_READ_RESP)) { /* + * If we have reached here because of async + * event or other error, and have egress error + * then drop + */ + if (CQE_TYPE(hw_cqe) == 1) { + if (CQE_STATUS(hw_cqe)) + t4_set_wq_in_error(wq); + ret = -EAGAIN; + goto skip_cqe; + } + + /* * If this is an unsolicited read response, then the read * was generated by the kernel driver as part of peer-2-peer * connection setup. So ignore the completion.