All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hariprasad Shenai <hariprasad@chelsio.com>
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 09/31] iw_cxgb4: Treat CPL_ERR_KEEPALV_NEG_ADVICE as negative advice.
Date: Wed, 26 Feb 2014 20:36:48 +0530	[thread overview]
Message-ID: <1393427230-14532-10-git-send-email-hariprasad@chelsio.com> (raw)
In-Reply-To: <1393427230-14532-1-git-send-email-hariprasad@chelsio.com>

From: Steve Wise <swise@opengridcomputing.com>

Based on original work by Anand Priyadarshee <anandp@chelsio.com>.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
---
 drivers/infiniband/hw/cxgb4/cm.c            |   25 +++++++++++++------------
 drivers/net/ethernet/chelsio/cxgb4/t4_msg.h |    1 +
 2 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index 74a2250..9387f74 100644
--- a/drivers/infiniband/hw/cxgb4/cm.c
+++ b/drivers/infiniband/hw/cxgb4/cm.c
@@ -1648,6 +1648,16 @@ static inline int act_open_has_tid(int status)
 	       status != CPL_ERR_ARP_MISS;
 }
 
+/*
+ * Returns whether a CPL status conveys negative advice.
+ */
+static int is_neg_adv(unsigned int status)
+{
+	return status == CPL_ERR_RTX_NEG_ADVICE ||
+	       status == CPL_ERR_PERSIST_NEG_ADVICE ||
+	       status == CPL_ERR_KEEPALV_NEG_ADVICE;
+}
+
 #define ACT_OPEN_RETRY_COUNT 2
 
 static int import_ep(struct c4iw_ep *ep, int iptype, __u8 *peer_ip,
@@ -1836,7 +1846,7 @@ static int act_open_rpl(struct c4iw_dev *dev, struct sk_buff *skb)
 	PDBG("%s ep %p atid %u status %u errno %d\n", __func__, ep, atid,
 	     status, status2errno(status));
 
-	if (status == CPL_ERR_RTX_NEG_ADVICE) {
+	if (is_neg_adv(status)) {
 		printk(KERN_WARNING MOD "Connection problems for atid %u\n",
 			atid);
 		return 0;
@@ -2266,15 +2276,6 @@ static int peer_close(struct c4iw_dev *dev, struct sk_buff *skb)
 	return 0;
 }
 
-/*
- * Returns whether an ABORT_REQ_RSS message is a negative advice.
- */
-static int is_neg_adv_abort(unsigned int status)
-{
-	return status == CPL_ERR_RTX_NEG_ADVICE ||
-	       status == CPL_ERR_PERSIST_NEG_ADVICE;
-}
-
 static int peer_abort(struct c4iw_dev *dev, struct sk_buff *skb)
 {
 	struct cpl_abort_req_rss *req = cplhdr(skb);
@@ -2288,7 +2289,7 @@ static int peer_abort(struct c4iw_dev *dev, struct sk_buff *skb)
 	unsigned int tid = GET_TID(req);
 
 	ep = lookup_tid(t, tid);
-	if (is_neg_adv_abort(req->status)) {
+	if (is_neg_adv(req->status)) {
 		PDBG("%s neg_adv_abort ep %p tid %u\n", __func__, ep,
 		     ep->hwtid);
 		return 0;
@@ -3572,7 +3573,7 @@ static int peer_abort_intr(struct c4iw_dev *dev, struct sk_buff *skb)
 		kfree_skb(skb);
 		return 0;
 	}
-	if (is_neg_adv_abort(req->status)) {
+	if (is_neg_adv(req->status)) {
 		PDBG("%s neg_adv_abort ep %p tid %u\n", __func__, ep,
 		     ep->hwtid);
 		kfree_skb(skb);
diff --git a/drivers/net/ethernet/chelsio/cxgb4/t4_msg.h b/drivers/net/ethernet/chelsio/cxgb4/t4_msg.h
index cd6874b..f2738c7 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/t4_msg.h
+++ b/drivers/net/ethernet/chelsio/cxgb4/t4_msg.h
@@ -116,6 +116,7 @@ enum CPL_error {
 	CPL_ERR_KEEPALIVE_TIMEDOUT = 34,
 	CPL_ERR_RTX_NEG_ADVICE     = 35,
 	CPL_ERR_PERSIST_NEG_ADVICE = 36,
+	CPL_ERR_KEEPALV_NEG_ADVICE = 37,
 	CPL_ERR_ABORT_FAILED       = 42,
 	CPL_ERR_IWARP_FLM          = 50,
 };
-- 
1.7.1

  parent reply	other threads:[~2014-02-26 15:06 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-26 15:06 [PATCH net-next 00/31] Misc. fixes for cxgb4 and iw_cxgb4 Hariprasad Shenai
2014-02-26 15:06 ` [PATCH net-next 01/31] cxgb4: Fix some small bugs in t4_sge_init_soft() when our Page Size is 64KB Hariprasad Shenai
2014-02-26 15:06 ` [PATCH net-next 02/31] cxgb4: Add code to dump SGE registers when hitting idma hangs Hariprasad Shenai
2014-02-26 15:06 ` [PATCH net-next 03/31] cxgb4: Rectify emitting messages about SGE Ingress DMA channels being potentially stuck Hariprasad Shenai
2014-02-26 15:06 ` [PATCH net-next 04/31] cxgb4: Updates for T5 SGE's Egress Congestion Threshold Hariprasad Shenai
2014-02-26 15:06 ` [PATCH net-next 05/31] cxgb4: use spinlock_irqsave/spinlock_irqrestore for db lock Hariprasad Shenai
2014-02-26 15:06 ` [PATCH net-next 06/31] iw_cxgb4: cap CQ size at T4_MAX_IQ_SIZE Hariprasad Shenai
2014-02-26 15:06 ` [PATCH net-next 07/31] iw_cxgb4: Allow loopback connections Hariprasad Shenai
2014-02-26 15:06 ` [PATCH net-next 08/31] iw_cxgb4: release neigh entry in error paths Hariprasad Shenai
2014-02-26 15:06 ` Hariprasad Shenai [this message]
2014-02-26 15:06 ` [PATCH net-next 10/31] cxgb4/iw_cxgb4: Doorbell Drop Avoidance Bug Fixes Hariprasad Shenai
     [not found]   ` <1393427230-14532-11-git-send-email-hariprasad-ut6Up61K2wZBDgjK7y7TUQ@public.gmane.org>
2014-02-26 23:12     ` David Miller
     [not found]       ` <20140226.181216.1563503549713890339.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2014-02-27 17:11         ` Steve Wise
2014-02-27 17:11           ` Steve Wise
2014-02-27 18:05           ` David Miller
2014-02-27 18:21             ` Stephen Hemminger
     [not found]             ` <20140227.130544.1892840202381139797.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2014-03-04 23:22               ` Ben Hutchings
     [not found]                 ` <1393975366.16256.23.camel-nDn/Rdv9kqW9Jme8/bJn5UCKIB8iOfG2tUK59QYPAWc@public.gmane.org>
2014-03-05  5:34                   ` Hariprasad S
2014-03-05  5:34                     ` Hariprasad S
2014-02-26 15:06 ` [PATCH net-next 11/31] iw_cxgb4: use the BAR2/WC path for kernel QPs and T5 devices Hariprasad Shenai
2014-02-26 15:06 ` [PATCH net-next 12/31] iw_cxgb4: Fix incorrect BUG_ON conditions Hariprasad Shenai
2014-02-26 15:06 ` [PATCH net-next 13/31] iw_cxgb4: Mind the sq_sig_all/sq_sig_type QP attributes Hariprasad Shenai
2014-02-26 15:06 ` [PATCH net-next 14/31] iw_cxgb4: default peer2peer mode to 1 Hariprasad Shenai
2014-02-26 15:06 ` [PATCH net-next 15/31] iw_cxgb4: save the correct map length for fast_reg_page_lists Hariprasad Shenai
2014-02-26 15:06 ` [PATCH net-next 16/31] iw_cxgb4: don't leak skb in c4iw_uld_rx_handler() Hariprasad Shenai
2014-02-26 15:06 ` [PATCH net-next 17/31] iw_cxgb4: fix possible memory leak in RX_PKT processing Hariprasad Shenai
2014-02-26 15:06 ` [PATCH net-next 18/31] iw_cxgb4: ignore read reponse type 1 CQEs Hariprasad Shenai
2014-02-26 15:06 ` [PATCH net-next 19/31] iw_cxgb4: connect_request_upcall fixes Hariprasad Shenai
2014-02-26 15:06 ` [PATCH net-next 20/31] iw_cxgb4: adjust tcp snd/rcv window based on link speed Hariprasad Shenai
2014-02-26 15:07 ` [PATCH net-next 21/31] iw_cxgb4: update snd_seq when sending MPA messages Hariprasad Shenai
2014-02-26 15:07 ` [PATCH net-next 22/31] iw_cxgb4: lock around accept/reject downcalls Hariprasad Shenai
2014-02-26 15:07 ` [PATCH net-next 23/31] iw_cxgb4: drop RX_DATA packets if the endpoint is gone Hariprasad Shenai
2014-02-26 15:07 ` [PATCH net-next 24/31] iw_cxgb4: rx_data() needs to hold the ep mutex Hariprasad Shenai
2014-02-26 15:07 ` [PATCH net-next 25/31] iw_cxgb4: endpoint timeout fixes Hariprasad Shenai
2014-02-26 15:07 ` [PATCH net-next 26/31] iw_cxgb4: rmb() after reading valid gen bit Hariprasad Shenai
2014-02-26 15:07 ` [PATCH net-next 27/31] iw_cxgb4: wc_wmb() needed after DB writes Hariprasad Shenai
2014-02-26 15:07 ` [PATCH net-next 28/31] iw_cxgb4: SQ flush fix Hariprasad Shenai
2014-02-26 15:07 ` [PATCH net-next 29/31] iw_cxgb4: minor fixes/cleanup Hariprasad Shenai
2014-02-26 15:07 ` [PATCH net-next 30/31] iw_cxgb4: Max fastreg depth depends on DSGL support Hariprasad Shenai
2014-02-26 15:07 ` [PATCH net-next 31/31] Revert "cxgb4: Don't assume LSO only uses SGL path in t4_eth_xmit()" Hariprasad Shenai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1393427230-14532-10-git-send-email-hariprasad@chelsio.com \
    --to=hariprasad@chelsio.com \
    --cc=davem@davemloft.net \
    --cc=dm@chelsio.com \
    --cc=kumaras@chelsio.com \
    --cc=leedom@chelsio.com \
    --cc=linux-rdma@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nirranjan@chelsio.com \
    --cc=roland@purestorage.com \
    --cc=santosh@chelsio.com \
    --cc=swise@opengridcomputing.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.