iw_cxgb4: allocate wait object for each ep object
[platform/kernel/linux-starfive.git] / drivers / infiniband / hw / cxgb4 / cm.c
index ceaa2fa..72a2d34 100644 (file)
@@ -180,7 +180,7 @@ static void ref_qp(struct c4iw_ep *ep)
 
 static void start_ep_timer(struct c4iw_ep *ep)
 {
-       pr_debug("%s ep %p\n", __func__, ep);
+       pr_debug("ep %p\n", ep);
        if (timer_pending(&ep->timer)) {
                pr_err("%s timer already started! ep %p\n",
                       __func__, ep);
@@ -196,7 +196,7 @@ static void start_ep_timer(struct c4iw_ep *ep)
 
 static int stop_ep_timer(struct c4iw_ep *ep)
 {
-       pr_debug("%s ep %p stopping\n", __func__, ep);
+       pr_debug("ep %p stopping\n", ep);
        del_timer_sync(&ep->timer);
        if (!test_and_set_bit(TIMEOUT, &ep->com.flags)) {
                c4iw_put_ep(&ep->com);
@@ -212,7 +212,7 @@ static int c4iw_l2t_send(struct c4iw_rdev *rdev, struct sk_buff *skb,
 
        if (c4iw_fatal_error(rdev)) {
                kfree_skb(skb);
-               pr_debug("%s - device in error state - dropping\n", __func__);
+               pr_err("%s - device in error state - dropping\n", __func__);
                return -EIO;
        }
        error = cxgb4_l2t_send(rdev->lldi.ports[0], skb, l2e);
@@ -229,7 +229,7 @@ int c4iw_ofld_send(struct c4iw_rdev *rdev, struct sk_buff *skb)
 
        if (c4iw_fatal_error(rdev)) {
                kfree_skb(skb);
-               pr_debug("%s - device in error state - dropping\n", __func__);
+               pr_err("%s - device in error state - dropping\n", __func__);
                return -EIO;
        }
        error = cxgb4_ofld_send(rdev->lldi.ports[0], skb);
@@ -263,10 +263,10 @@ static void set_emss(struct c4iw_ep *ep, u16 opt)
        if (ep->emss < 128)
                ep->emss = 128;
        if (ep->emss & 7)
-               pr_debug("Warning: misaligned mtu idx %u mss %u emss=%u\n",
-                        TCPOPT_MSS_G(opt), ep->mss, ep->emss);
-       pr_debug("%s mss_idx %u mss %u emss=%u\n", __func__, TCPOPT_MSS_G(opt),
-                ep->mss, ep->emss);
+               pr_warn("Warning: misaligned mtu idx %u mss %u emss=%u\n",
+                       TCPOPT_MSS_G(opt), ep->mss, ep->emss);
+       pr_debug("mss_idx %u mss %u emss=%u\n", TCPOPT_MSS_G(opt), ep->mss,
+                ep->emss);
 }
 
 static enum c4iw_ep_state state_read(struct c4iw_ep_common *epc)
@@ -287,7 +287,7 @@ static void __state_set(struct c4iw_ep_common *epc, enum c4iw_ep_state new)
 static void state_set(struct c4iw_ep_common *epc, enum c4iw_ep_state new)
 {
        mutex_lock(&epc->mutex);
-       pr_debug("%s - %s -> %s\n", __func__, states[epc->state], states[new]);
+       pr_debug("%s -> %s\n", states[epc->state], states[new]);
        __state_set(epc, new);
        mutex_unlock(&epc->mutex);
        return;
@@ -318,11 +318,18 @@ static void *alloc_ep(int size, gfp_t gfp)
 
        epc = kzalloc(size, gfp);
        if (epc) {
+               epc->wr_waitp = kzalloc(sizeof(*epc->wr_waitp), gfp);
+               if (!epc->wr_waitp) {
+                       kfree(epc);
+                       epc = NULL;
+                       goto out;
+               }
                kref_init(&epc->kref);
                mutex_init(&epc->mutex);
-               c4iw_init_wr_wait(&epc->wr_wait);
+               c4iw_init_wr_wait(epc->wr_waitp);
        }
-       pr_debug("%s alloc ep %p\n", __func__, epc);
+       pr_debug("alloc ep %p\n", epc);
+out:
        return epc;
 }
 
@@ -384,7 +391,7 @@ void _c4iw_free_ep(struct kref *kref)
        struct c4iw_ep *ep;
 
        ep = container_of(kref, struct c4iw_ep, com.kref);
-       pr_debug("%s ep %p state %s\n", __func__, ep, states[ep->com.state]);
+       pr_debug("ep %p state %s\n", ep, states[ep->com.state]);
        if (test_bit(QP_REFERENCED, &ep->com.flags))
                deref_qp(ep);
        if (test_bit(RELEASE_RESOURCES, &ep->com.flags)) {
@@ -407,6 +414,7 @@ void _c4iw_free_ep(struct kref *kref)
        }
        if (!skb_queue_empty(&ep->com.ep_skb_list))
                skb_queue_purge(&ep->com.ep_skb_list);
+       kfree(ep->com.wr_waitp);
        kfree(ep);
 }
 
@@ -570,7 +578,7 @@ static void abort_arp_failure(void *handle, struct sk_buff *skb)
        struct c4iw_rdev *rdev = &ep->com.dev->rdev;
        struct cpl_abort_req *req = cplhdr(skb);
 
-       pr_debug("%s rdev %p\n", __func__, rdev);
+       pr_debug("rdev %p\n", rdev);
        req->cmd = CPL_ABORT_NO_RST;
        skb_get(skb);
        ret = c4iw_ofld_send(rdev, skb);
@@ -647,7 +655,7 @@ static int send_halfclose(struct c4iw_ep *ep)
        struct sk_buff *skb = skb_dequeue(&ep->com.ep_skb_list);
        u32 wrlen = roundup(sizeof(struct cpl_close_con_req), 16);
 
-       pr_debug("%s ep %p tid %u\n", __func__, ep, ep->hwtid);
+       pr_debug("ep %p tid %u\n", ep, ep->hwtid);
        if (WARN_ON(!skb))
                return -ENOMEM;
 
@@ -662,7 +670,7 @@ static int send_abort(struct c4iw_ep *ep)
        u32 wrlen = roundup(sizeof(struct cpl_abort_req), 16);
        struct sk_buff *req_skb = skb_dequeue(&ep->com.ep_skb_list);
 
-       pr_debug("%s ep %p tid %u\n", __func__, ep, ep->hwtid);
+       pr_debug("ep %p tid %u\n", ep, ep->hwtid);
        if (WARN_ON(!req_skb))
                return -ENOMEM;
 
@@ -725,7 +733,7 @@ static int send_connect(struct c4iw_ep *ep)
                        roundup(sizev4, 16) :
                        roundup(sizev6, 16);
 
-       pr_debug("%s ep %p atid %u\n", __func__, ep, ep->atid);
+       pr_debug("ep %p atid %u\n", ep, ep->atid);
 
        skb = get_skb(NULL, wrlen, GFP_KERNEL);
        if (!skb) {
@@ -824,13 +832,13 @@ static int send_connect(struct c4iw_ep *ep)
                                t5req->params =
                                          cpu_to_be64(FILTER_TUPLE_V(params));
                                t5req->rsvd = cpu_to_be32(isn);
-                       pr_debug("%s snd_isn %u\n", __func__, t5req->rsvd);
+                       pr_debug("snd_isn %u\n", t5req->rsvd);
                                t5req->opt2 = cpu_to_be32(opt2);
                        } else {
                                t6req->params =
                                          cpu_to_be64(FILTER_TUPLE_V(params));
                                t6req->rsvd = cpu_to_be32(isn);
-                       pr_debug("%s snd_isn %u\n", __func__, t6req->rsvd);
+                       pr_debug("snd_isn %u\n", t6req->rsvd);
                                t6req->opt2 = cpu_to_be32(opt2);
                        }
                }
@@ -877,13 +885,13 @@ static int send_connect(struct c4iw_ep *ep)
                                t5req6->params =
                                            cpu_to_be64(FILTER_TUPLE_V(params));
                                t5req6->rsvd = cpu_to_be32(isn);
-                       pr_debug("%s snd_isn %u\n", __func__, t5req6->rsvd);
+                       pr_debug("snd_isn %u\n", t5req6->rsvd);
                                t5req6->opt2 = cpu_to_be32(opt2);
                        } else {
                                t6req6->params =
                                            cpu_to_be64(FILTER_TUPLE_V(params));
                                t6req6->rsvd = cpu_to_be32(isn);
-                       pr_debug("%s snd_isn %u\n", __func__, t6req6->rsvd);
+                       pr_debug("snd_isn %u\n", t6req6->rsvd);
                                t6req6->opt2 = cpu_to_be32(opt2);
                        }
 
@@ -907,8 +915,8 @@ static int send_mpa_req(struct c4iw_ep *ep, struct sk_buff *skb,
        struct mpa_message *mpa;
        struct mpa_v2_conn_params mpa_v2_params;
 
-       pr_debug("%s ep %p tid %u pd_len %d\n",
-                __func__, ep, ep->hwtid, ep->plen);
+       pr_debug("ep %p tid %u pd_len %d\n",
+                ep, ep->hwtid, ep->plen);
 
        BUG_ON(skb_cloned(skb));
 
@@ -961,7 +969,7 @@ static int send_mpa_req(struct c4iw_ep *ep, struct sk_buff *skb,
        if (mpa_rev_to_use == 2) {
                mpa->private_data_size = htons(ntohs(mpa->private_data_size) +
                                               sizeof (struct mpa_v2_conn_params));
-               pr_debug("%s initiator ird %u ord %u\n", __func__, ep->ird,
+               pr_debug("initiator ird %u ord %u\n", ep->ird,
                         ep->ord);
                mpa_v2_params.ird = htons((u16)ep->ird);
                mpa_v2_params.ord = htons((u16)ep->ord);
@@ -1014,8 +1022,8 @@ static int send_mpa_reject(struct c4iw_ep *ep, const void *pdata, u8 plen)
        struct sk_buff *skb;
        struct mpa_v2_conn_params mpa_v2_params;
 
-       pr_debug("%s ep %p tid %u pd_len %d\n",
-                __func__, ep, ep->hwtid, ep->plen);
+       pr_debug("ep %p tid %u pd_len %d\n",
+                ep, ep->hwtid, ep->plen);
 
        mpalen = sizeof(*mpa) + plen;
        if (ep->mpa_attr.version == 2 && ep->mpa_attr.enhanced_rdma_conn)
@@ -1094,8 +1102,8 @@ static int send_mpa_reply(struct c4iw_ep *ep, const void *pdata, u8 plen)
        struct sk_buff *skb;
        struct mpa_v2_conn_params mpa_v2_params;
 
-       pr_debug("%s ep %p tid %u pd_len %d\n",
-                __func__, ep, ep->hwtid, ep->plen);
+       pr_debug("ep %p tid %u pd_len %d\n",
+                ep, ep->hwtid, ep->plen);
 
        mpalen = sizeof(*mpa) + plen;
        if (ep->mpa_attr.version == 2 && ep->mpa_attr.enhanced_rdma_conn)
@@ -1185,7 +1193,7 @@ static int act_establish(struct c4iw_dev *dev, struct sk_buff *skb)
 
        ep = lookup_atid(t, atid);
 
-       pr_debug("%s ep %p tid %u snd_isn %u rcv_isn %u\n", __func__, ep, tid,
+       pr_debug("ep %p tid %u snd_isn %u rcv_isn %u\n", ep, tid,
                 be32_to_cpu(req->snd_isn), be32_to_cpu(req->rcv_isn));
 
        mutex_lock(&ep->com.mutex);
@@ -1229,7 +1237,7 @@ static void close_complete_upcall(struct c4iw_ep *ep, int status)
 {
        struct iw_cm_event event;
 
-       pr_debug("%s ep %p tid %u\n", __func__, ep, ep->hwtid);
+       pr_debug("ep %p tid %u\n", ep, ep->hwtid);
        memset(&event, 0, sizeof(event));
        event.event = IW_CM_EVENT_CLOSE;
        event.status = status;
@@ -1246,7 +1254,7 @@ static void peer_close_upcall(struct c4iw_ep *ep)
 {
        struct iw_cm_event event;
 
-       pr_debug("%s ep %p tid %u\n", __func__, ep, ep->hwtid);
+       pr_debug("ep %p tid %u\n", ep, ep->hwtid);
        memset(&event, 0, sizeof(event));
        event.event = IW_CM_EVENT_DISCONNECT;
        if (ep->com.cm_id) {
@@ -1261,7 +1269,7 @@ static void peer_abort_upcall(struct c4iw_ep *ep)
 {
        struct iw_cm_event event;
 
-       pr_debug("%s ep %p tid %u\n", __func__, ep, ep->hwtid);
+       pr_debug("ep %p tid %u\n", ep, ep->hwtid);
        memset(&event, 0, sizeof(event));
        event.event = IW_CM_EVENT_CLOSE;
        event.status = -ECONNRESET;
@@ -1278,8 +1286,8 @@ static void connect_reply_upcall(struct c4iw_ep *ep, int status)
 {
        struct iw_cm_event event;
 
-       pr_debug("%s ep %p tid %u status %d\n",
-                __func__, ep, ep->hwtid, status);
+       pr_debug("ep %p tid %u status %d\n",
+                ep, ep->hwtid, status);
        memset(&event, 0, sizeof(event));
        event.event = IW_CM_EVENT_CONNECT_REPLY;
        event.status = status;
@@ -1308,7 +1316,7 @@ static void connect_reply_upcall(struct c4iw_ep *ep, int status)
                }
        }
 
-       pr_debug("%s ep %p tid %u status %d\n", __func__, ep,
+       pr_debug("ep %p tid %u status %d\n", ep,
                 ep->hwtid, status);
        set_bit(CONN_RPL_UPCALL, &ep->com.history);
        ep->com.cm_id->event_handler(ep->com.cm_id, &event);
@@ -1322,7 +1330,7 @@ static int connect_request_upcall(struct c4iw_ep *ep)
        struct iw_cm_event event;
        int ret;
 
-       pr_debug("%s ep %p tid %u\n", __func__, ep, ep->hwtid);
+       pr_debug("ep %p tid %u\n", ep, ep->hwtid);
        memset(&event, 0, sizeof(event));
        event.event = IW_CM_EVENT_CONNECT_REQUEST;
        memcpy(&event.local_addr, &ep->com.local_addr,
@@ -1359,13 +1367,13 @@ static void established_upcall(struct c4iw_ep *ep)
 {
        struct iw_cm_event event;
 
-       pr_debug("%s ep %p tid %u\n", __func__, ep, ep->hwtid);
+       pr_debug("ep %p tid %u\n", ep, ep->hwtid);
        memset(&event, 0, sizeof(event));
        event.event = IW_CM_EVENT_ESTABLISHED;
        event.ird = ep->ord;
        event.ord = ep->ird;
        if (ep->com.cm_id) {
-               pr_debug("%s ep %p tid %u\n", __func__, ep, ep->hwtid);
+               pr_debug("ep %p tid %u\n", ep, ep->hwtid);
                ep->com.cm_id->event_handler(ep->com.cm_id, &event);
                set_bit(ESTAB_UPCALL, &ep->com.history);
        }
@@ -1377,8 +1385,8 @@ static int update_rx_credits(struct c4iw_ep *ep, u32 credits)
        u32 wrlen = roundup(sizeof(struct cpl_rx_data_ack), 16);
        u32 credit_dack;
 
-       pr_debug("%s ep %p tid %u credits %u\n",
-                __func__, ep, ep->hwtid, credits);
+       pr_debug("ep %p tid %u credits %u\n",
+                ep, ep->hwtid, credits);
        skb = get_skb(NULL, wrlen, GFP_KERNEL);
        if (!skb) {
                pr_err("update_rx_credits - cannot alloc skb!\n");
@@ -1429,7 +1437,7 @@ static int process_mpa_reply(struct c4iw_ep *ep, struct sk_buff *skb)
        int err;
        int disconnect = 0;
 
-       pr_debug("%s ep %p tid %u\n", __func__, ep, ep->hwtid);
+       pr_debug("ep %p tid %u\n", ep, ep->hwtid);
 
        /*
         * If we get more than the supported amount of private data
@@ -1527,8 +1535,7 @@ static int process_mpa_reply(struct c4iw_ep *ep, struct sk_buff *skb)
                                MPA_V2_IRD_ORD_MASK;
                        resp_ord = ntohs(mpa_v2_params->ord) &
                                MPA_V2_IRD_ORD_MASK;
-                       pr_debug("%s responder ird %u ord %u ep ird %u ord %u\n",
-                                __func__,
+                       pr_debug("responder ird %u ord %u ep ird %u ord %u\n",
                                 resp_ird, resp_ord, ep->ird, ep->ord);
 
                        /*
@@ -1573,8 +1580,8 @@ static int process_mpa_reply(struct c4iw_ep *ep, struct sk_buff *skb)
                if (peer2peer)
                        ep->mpa_attr.p2p_type = p2p_type;
 
-       pr_debug("%s - crc_enabled=%d, recv_marker_enabled=%d, xmit_marker_enabled=%d, version=%d p2p_type=%d local-p2p_type = %d\n",
-                __func__, ep->mpa_attr.crc_enabled,
+       pr_debug("crc_enabled=%d, recv_marker_enabled=%d, xmit_marker_enabled=%d, version=%d p2p_type=%d local-p2p_type = %d\n",
+                ep->mpa_attr.crc_enabled,
                 ep->mpa_attr.recv_marker_enabled,
                 ep->mpa_attr.xmit_marker_enabled, ep->mpa_attr.version,
                 ep->mpa_attr.p2p_type, p2p_type);
@@ -1670,7 +1677,7 @@ static int process_mpa_request(struct c4iw_ep *ep, struct sk_buff *skb)
        struct mpa_v2_conn_params *mpa_v2_params;
        u16 plen;
 
-       pr_debug("%s ep %p tid %u\n", __func__, ep, ep->hwtid);
+       pr_debug("ep %p tid %u\n", ep, ep->hwtid);
 
        /*
         * If we get more than the supported amount of private data
@@ -1679,7 +1686,7 @@ static int process_mpa_request(struct c4iw_ep *ep, struct sk_buff *skb)
        if (ep->mpa_pkt_len + skb->len > sizeof(ep->mpa_pkt))
                goto err_stop_timer;
 
-       pr_debug("%s enter (%s line %u)\n", __func__, __FILE__, __LINE__);
+       pr_debug("enter (%s line %u)\n", __FILE__, __LINE__);
 
        /*
         * Copy the new data into our accumulation buffer.
@@ -1695,7 +1702,7 @@ static int process_mpa_request(struct c4iw_ep *ep, struct sk_buff *skb)
        if (ep->mpa_pkt_len < sizeof(*mpa))
                return 0;
 
-       pr_debug("%s enter (%s line %u)\n", __func__, __FILE__, __LINE__);
+       pr_debug("enter (%s line %u)\n", __FILE__, __LINE__);
        mpa = (struct mpa_message *) ep->mpa_pkt;
 
        /*
@@ -1758,8 +1765,8 @@ static int process_mpa_request(struct c4iw_ep *ep, struct sk_buff *skb)
                                MPA_V2_IRD_ORD_MASK;
                        ep->ord = min_t(u32, ep->ord,
                                        cur_max_read_depth(ep->com.dev));
-                       pr_debug("%s initiator ird %u ord %u\n",
-                                __func__, ep->ird, ep->ord);
+                       pr_debug("initiator ird %u ord %u\n",
+                                ep->ird, ep->ord);
                        if (ntohs(mpa_v2_params->ird) & MPA_V2_PEER2PEER_MODEL)
                                if (peer2peer) {
                                        if (ntohs(mpa_v2_params->ord) &
@@ -1776,8 +1783,7 @@ static int process_mpa_request(struct c4iw_ep *ep, struct sk_buff *skb)
                if (peer2peer)
                        ep->mpa_attr.p2p_type = p2p_type;
 
-       pr_debug("%s - crc_enabled=%d, recv_marker_enabled=%d, xmit_marker_enabled=%d, version=%d p2p_type=%d\n",
-                __func__,
+       pr_debug("crc_enabled=%d, recv_marker_enabled=%d, xmit_marker_enabled=%d, version=%d p2p_type=%d\n",
                 ep->mpa_attr.crc_enabled, ep->mpa_attr.recv_marker_enabled,
                 ep->mpa_attr.xmit_marker_enabled, ep->mpa_attr.version,
                 ep->mpa_attr.p2p_type);
@@ -1816,7 +1822,7 @@ static int rx_data(struct c4iw_dev *dev, struct sk_buff *skb)
        ep = get_ep_from_tid(dev, tid);
        if (!ep)
                return 0;
-       pr_debug("%s ep %p tid %u dlen %u\n", __func__, ep, ep->hwtid, dlen);
+       pr_debug("ep %p tid %u dlen %u\n", ep, ep->hwtid, dlen);
        skb_pull(skb, sizeof(*hdr));
        skb_trim(skb, dlen);
        mutex_lock(&ep->com.mutex);
@@ -1870,11 +1876,11 @@ static int abort_rpl(struct c4iw_dev *dev, struct sk_buff *skb)
                pr_warn("Abort rpl to freed endpoint\n");
                return 0;
        }
-       pr_debug("%s ep %p tid %u\n", __func__, ep, ep->hwtid);
+       pr_debug("ep %p tid %u\n", ep, ep->hwtid);
        mutex_lock(&ep->com.mutex);
        switch (ep->com.state) {
        case ABORTING:
-               c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET);
+               c4iw_wake_up(ep->com.wr_waitp, -ECONNRESET);
                __state_set(&ep->com, DEAD);
                release = 1;
                break;
@@ -1994,8 +2000,8 @@ static void set_tcp_window(struct c4iw_ep *ep, struct port_info *pi)
 {
        ep->snd_win = snd_win;
        ep->rcv_win = rcv_win;
-       pr_debug("%s snd_win %d rcv_win %d\n",
-                __func__, ep->snd_win, ep->rcv_win);
+       pr_debug("snd_win %d rcv_win %d\n",
+                ep->snd_win, ep->rcv_win);
 }
 
 #define ACT_OPEN_RETRY_COUNT 2
@@ -2100,9 +2106,9 @@ static int c4iw_reconnect(struct c4iw_ep *ep)
        int iptype;
        __u8 *ra;
 
-       pr_debug("%s qp %p cm_id %p\n", __func__, ep->com.qp, ep->com.cm_id);
+       pr_debug("qp %p cm_id %p\n", ep->com.qp, ep->com.cm_id);
        init_timer(&ep->timer);
-       c4iw_init_wr_wait(&ep->com.wr_wait);
+       c4iw_init_wr_wait(ep->com.wr_waitp);
 
        /* When MPA revision is different on nodes, the node with MPA_rev=2
         * tries to reconnect with MPA_rev 1 for the same EP through
@@ -2163,8 +2169,8 @@ static int c4iw_reconnect(struct c4iw_ep *ep)
                goto fail4;
        }
 
-       pr_debug("%s txq_idx %u tx_chan %u smac_idx %u rss_qid %u l2t_idx %u\n",
-                __func__, ep->txq_idx, ep->tx_chan, ep->smac_idx, ep->rss_qid,
+       pr_debug("txq_idx %u tx_chan %u smac_idx %u rss_qid %u l2t_idx %u\n",
+                ep->txq_idx, ep->tx_chan, ep->smac_idx, ep->rss_qid,
                 ep->l2t->idx);
 
        state_set(&ep->com, CONNECTING);
@@ -2215,12 +2221,12 @@ static int act_open_rpl(struct c4iw_dev *dev, struct sk_buff *skb)
        la6 = (struct sockaddr_in6 *)&ep->com.local_addr;
        ra6 = (struct sockaddr_in6 *)&ep->com.remote_addr;
 
-       pr_debug("%s ep %p atid %u status %u errno %d\n", __func__, ep, atid,
+       pr_debug("ep %p atid %u status %u errno %d\n", ep, atid,
                 status, status2errno(status));
 
        if (cxgb_is_neg_adv(status)) {
-               pr_debug("%s Connection problems for atid %u status %u (%s)\n",
-                        __func__, atid, status, neg_adv_str(status));
+               pr_debug("Connection problems for atid %u status %u (%s)\n",
+                        atid, status, neg_adv_str(status));
                ep->stats.connect_neg_adv++;
                mutex_lock(&dev->rdev.stats.lock);
                dev->rdev.stats.neg_adv++;
@@ -2316,12 +2322,12 @@ static int pass_open_rpl(struct c4iw_dev *dev, struct sk_buff *skb)
        struct c4iw_listen_ep *ep = get_ep_from_stid(dev, stid);
 
        if (!ep) {
-               pr_debug("%s stid %d lookup failure!\n", __func__, stid);
+               pr_warn("%s stid %d lookup failure!\n", __func__, stid);
                goto out;
        }
-       pr_debug("%s ep %p status %d error %d\n", __func__, ep,
+       pr_debug("ep %p status %d error %d\n", ep,
                 rpl->status, status2errno(rpl->status));
-       c4iw_wake_up(&ep->com.wr_wait, status2errno(rpl->status));
+       c4iw_wake_up(ep->com.wr_waitp, status2errno(rpl->status));
        c4iw_put_ep(&ep->com);
 out:
        return 0;
@@ -2333,9 +2339,14 @@ static int close_listsrv_rpl(struct c4iw_dev *dev, struct sk_buff *skb)
        unsigned int stid = GET_TID(rpl);
        struct c4iw_listen_ep *ep = get_ep_from_stid(dev, stid);
 
-       pr_debug("%s ep %p\n", __func__, ep);
-       c4iw_wake_up(&ep->com.wr_wait, status2errno(rpl->status));
+       if (!ep) {
+               pr_warn("%s stid %d lookup failure!\n", __func__, stid);
+               goto out;
+       }
+       pr_debug("ep %p\n", ep);
+       c4iw_wake_up(ep->com.wr_waitp, status2errno(rpl->status));
        c4iw_put_ep(&ep->com);
+out:
        return 0;
 }
 
@@ -2351,7 +2362,7 @@ static int accept_cr(struct c4iw_ep *ep, struct sk_buff *skb,
        int win;
        enum chip_type adapter_type = ep->com.dev->rdev.lldi.adapter_type;
 
-       pr_debug("%s ep %p tid %u\n", __func__, ep, ep->hwtid);
+       pr_debug("ep %p tid %u\n", ep, ep->hwtid);
        BUG_ON(skb_cloned(skb));
 
        skb_get(skb);
@@ -2422,7 +2433,7 @@ static int accept_cr(struct c4iw_ep *ep, struct sk_buff *skb,
                if (peer2peer)
                        isn += 4;
                rpl5->iss = cpu_to_be32(isn);
-               pr_debug("%s iss %u\n", __func__, be32_to_cpu(rpl5->iss));
+               pr_debug("iss %u\n", be32_to_cpu(rpl5->iss));
        }
 
        rpl->opt0 = cpu_to_be64(opt0);
@@ -2435,7 +2446,7 @@ static int accept_cr(struct c4iw_ep *ep, struct sk_buff *skb,
 
 static void reject_cr(struct c4iw_dev *dev, u32 hwtid, struct sk_buff *skb)
 {
-       pr_debug("%s c4iw_dev %p tid %u\n", __func__, dev, hwtid);
+       pr_debug("c4iw_dev %p tid %u\n", dev, hwtid);
        BUG_ON(skb_cloned(skb));
        skb_trim(skb, sizeof(struct cpl_tid_release));
        release_tid(&dev->rdev, hwtid, skb);
@@ -2461,13 +2472,13 @@ static int pass_accept_req(struct c4iw_dev *dev, struct sk_buff *skb)
 
        parent_ep = (struct c4iw_ep *)get_ep_from_stid(dev, stid);
        if (!parent_ep) {
-               pr_debug("%s connect request on invalid stid %d\n",
-                        __func__, stid);
+               pr_err("%s connect request on invalid stid %d\n",
+                      __func__, stid);
                goto reject;
        }
 
        if (state_read(&parent_ep->com) != LISTEN) {
-               pr_debug("%s - listening ep not in LISTEN\n", __func__);
+               pr_err("%s - listening ep not in LISTEN\n", __func__);
                goto reject;
        }
 
@@ -2476,16 +2487,16 @@ static int pass_accept_req(struct c4iw_dev *dev, struct sk_buff *skb)
 
        /* Find output route */
        if (iptype == 4)  {
-               pr_debug("%s parent ep %p hwtid %u laddr %pI4 raddr %pI4 lport %d rport %d peer_mss %d\n"
-                        , __func__, parent_ep, hwtid,
+               pr_debug("parent ep %p hwtid %u laddr %pI4 raddr %pI4 lport %d rport %d peer_mss %d\n"
+                        , parent_ep, hwtid,
                         local_ip, peer_ip, ntohs(local_port),
                         ntohs(peer_port), peer_mss);
                dst = cxgb_find_route(&dev->rdev.lldi, get_real_dev,
                                      *(__be32 *)local_ip, *(__be32 *)peer_ip,
                                      local_port, peer_port, tos);
        } else {
-               pr_debug("%s parent ep %p hwtid %u laddr %pI6 raddr %pI6 lport %d rport %d peer_mss %d\n"
-                        , __func__, parent_ep, hwtid,
+               pr_debug("parent ep %p hwtid %u laddr %pI6 raddr %pI6 lport %d rport %d peer_mss %d\n"
+                        , parent_ep, hwtid,
                         local_ip, peer_ip, ntohs(local_port),
                         ntohs(peer_port), peer_mss);
                dst = cxgb_find_route6(&dev->rdev.lldi, get_real_dev,
@@ -2571,7 +2582,7 @@ static int pass_accept_req(struct c4iw_dev *dev, struct sk_buff *skb)
        child_ep->dst = dst;
        child_ep->hwtid = hwtid;
 
-       pr_debug("%s tx_chan %u smac_idx %u rss_qid %u\n", __func__,
+       pr_debug("tx_chan %u smac_idx %u rss_qid %u\n",
                 child_ep->tx_chan, child_ep->smac_idx, child_ep->rss_qid);
 
        init_timer(&child_ep->timer);
@@ -2594,9 +2605,9 @@ fail:
        c4iw_put_ep(&child_ep->com);
 reject:
        reject_cr(dev, hwtid, skb);
+out:
        if (parent_ep)
                c4iw_put_ep(&parent_ep->com);
-out:
        return 0;
 }
 
@@ -2608,11 +2619,11 @@ static int pass_establish(struct c4iw_dev *dev, struct sk_buff *skb)
        int ret;
 
        ep = get_ep_from_tid(dev, tid);
-       pr_debug("%s ep %p tid %u\n", __func__, ep, ep->hwtid);
+       pr_debug("ep %p tid %u\n", ep, ep->hwtid);
        ep->snd_seq = be32_to_cpu(req->snd_isn);
        ep->rcv_seq = be32_to_cpu(req->rcv_isn);
 
-       pr_debug("%s ep %p hwtid %u tcp_opt 0x%02x\n", __func__, ep, tid,
+       pr_debug("ep %p hwtid %u tcp_opt 0x%02x\n", ep, tid,
                 ntohs(req->tcp_opt));
 
        set_emss(ep, ntohs(req->tcp_opt));
@@ -2645,7 +2656,7 @@ static int peer_close(struct c4iw_dev *dev, struct sk_buff *skb)
        if (!ep)
                return 0;
 
-       pr_debug("%s ep %p tid %u\n", __func__, ep, ep->hwtid);
+       pr_debug("ep %p tid %u\n", ep, ep->hwtid);
        dst_confirm(ep->dst);
 
        set_bit(PEER_CLOSE, &ep->com.history);
@@ -2668,12 +2679,12 @@ static int peer_close(struct c4iw_dev *dev, struct sk_buff *skb)
                 */
                __state_set(&ep->com, CLOSING);
                pr_debug("waking up ep %p tid %u\n", ep, ep->hwtid);
-               c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET);
+               c4iw_wake_up(ep->com.wr_waitp, -ECONNRESET);
                break;
        case MPA_REP_SENT:
                __state_set(&ep->com, CLOSING);
                pr_debug("waking up ep %p tid %u\n", ep, ep->hwtid);
-               c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET);
+               c4iw_wake_up(ep->com.wr_waitp, -ECONNRESET);
                break;
        case FPDU_MODE:
                start_ep_timer(ep);
@@ -2736,16 +2747,16 @@ static int peer_abort(struct c4iw_dev *dev, struct sk_buff *skb)
                return 0;
 
        if (cxgb_is_neg_adv(req->status)) {
-               pr_debug("%s Negative advice on abort- tid %u status %d (%s)\n",
-                        __func__, ep->hwtid, req->status,
-                        neg_adv_str(req->status));
+               pr_warn("%s Negative advice on abort- tid %u status %d (%s)\n",
+                       __func__, ep->hwtid, req->status,
+                       neg_adv_str(req->status));
                ep->stats.abort_neg_adv++;
                mutex_lock(&dev->rdev.stats.lock);
                dev->rdev.stats.neg_adv++;
                mutex_unlock(&dev->rdev.stats.lock);
                goto deref_ep;
        }
-       pr_debug("%s ep %p tid %u state %u\n", __func__, ep, ep->hwtid,
+       pr_debug("ep %p tid %u state %u\n", ep, ep->hwtid,
                 ep->com.state);
        set_bit(PEER_ABORT, &ep->com.history);
 
@@ -2755,7 +2766,7 @@ static int peer_abort(struct c4iw_dev *dev, struct sk_buff *skb)
         * MPA_REQ_SENT
         */
        if (ep->com.state != MPA_REQ_SENT)
-               c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET);
+               c4iw_wake_up(ep->com.wr_waitp, -ECONNRESET);
 
        mutex_lock(&ep->com.mutex);
        switch (ep->com.state) {
@@ -2778,8 +2789,8 @@ static int peer_abort(struct c4iw_dev *dev, struct sk_buff *skb)
                         * do some housekeeping so as to re-initiate the
                         * connection
                         */
-                       pr_debug("%s: mpa_rev=%d. Retrying with mpav1\n",
-                                __func__, mpa_rev);
+                       pr_info("%s: mpa_rev=%d. Retrying with mpav1\n",
+                               __func__, mpa_rev);
                        ep->retry_with_mpa_v1 = 1;
                }
                break;
@@ -2805,7 +2816,7 @@ static int peer_abort(struct c4iw_dev *dev, struct sk_buff *skb)
        case ABORTING:
                break;
        case DEAD:
-               pr_debug("%s PEER_ABORT IN DEAD STATE!!!!\n", __func__);
+               pr_warn("%s PEER_ABORT IN DEAD STATE!!!!\n", __func__);
                mutex_unlock(&ep->com.mutex);
                goto deref_ep;
        default:
@@ -2870,7 +2881,7 @@ static int close_con_rpl(struct c4iw_dev *dev, struct sk_buff *skb)
        if (!ep)
                return 0;
 
-       pr_debug("%s ep %p tid %u\n", __func__, ep, ep->hwtid);
+       pr_debug("ep %p tid %u\n", ep, ep->hwtid);
 
        /* The cm_id may be null if we failed to connect */
        mutex_lock(&ep->com.mutex);
@@ -2945,19 +2956,19 @@ static int fw4_ack(struct c4iw_dev *dev, struct sk_buff *skb)
        ep = get_ep_from_tid(dev, tid);
        if (!ep)
                return 0;
-       pr_debug("%s ep %p tid %u credits %u\n",
-                __func__, ep, ep->hwtid, credits);
+       pr_debug("ep %p tid %u credits %u\n",
+                ep, ep->hwtid, credits);
        if (credits == 0) {
-               pr_debug("%s 0 credit ack ep %p tid %u state %u\n",
-                        __func__, ep, ep->hwtid, state_read(&ep->com));
+               pr_debug("0 credit ack ep %p tid %u state %u\n",
+                        ep, ep->hwtid, state_read(&ep->com));
                goto out;
        }
 
        dst_confirm(ep->dst);
        if (ep->mpa_skb) {
-               pr_debug("%s last streaming msg ack ep %p tid %u state %u initiator %u freeing skb\n",
-                        __func__, ep, ep->hwtid,
-                        state_read(&ep->com), ep->mpa_attr.initiator ? 1 : 0);
+               pr_debug("last streaming msg ack ep %p tid %u state %u initiator %u freeing skb\n",
+                        ep, ep->hwtid, state_read(&ep->com),
+                        ep->mpa_attr.initiator ? 1 : 0);
                mutex_lock(&ep->com.mutex);
                kfree_skb(ep->mpa_skb);
                ep->mpa_skb = NULL;
@@ -2975,7 +2986,7 @@ int c4iw_reject_cr(struct iw_cm_id *cm_id, const void *pdata, u8 pdata_len)
        int abort;
        struct c4iw_ep *ep = to_ep(cm_id);
 
-       pr_debug("%s ep %p tid %u\n", __func__, ep, ep->hwtid);
+       pr_debug("ep %p tid %u\n", ep, ep->hwtid);
 
        mutex_lock(&ep->com.mutex);
        if (ep->com.state != MPA_REQ_RCVD) {
@@ -3006,7 +3017,7 @@ int c4iw_accept_cr(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
        struct c4iw_qp *qp = get_qhp(h, conn_param->qpn);
        int abort = 0;
 
-       pr_debug("%s ep %p tid %u\n", __func__, ep, ep->hwtid);
+       pr_debug("ep %p tid %u\n", ep, ep->hwtid);
 
        mutex_lock(&ep->com.mutex);
        if (ep->com.state != MPA_REQ_RCVD) {
@@ -3059,7 +3070,7 @@ int c4iw_accept_cr(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
                        ep->ird = 1;
        }
 
-       pr_debug("%s %d ird %d ord %d\n", __func__, __LINE__, ep->ird, ep->ord);
+       pr_debug("ird %d ord %d\n", ep->ird, ep->ord);
 
        ep->com.cm_id = cm_id;
        ref_cm_id(&ep->com);
@@ -3215,12 +3226,12 @@ int c4iw_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
        ep->com.dev = dev;
        ep->com.qp = get_qhp(dev, conn_param->qpn);
        if (!ep->com.qp) {
-               pr_debug("%s qpn 0x%x not found!\n", __func__, conn_param->qpn);
+               pr_warn("%s qpn 0x%x not found!\n", __func__, conn_param->qpn);
                err = -EINVAL;
                goto fail2;
        }
        ref_qp(ep);
-       pr_debug("%s qpn 0x%x qp %p cm_id %p\n", __func__, conn_param->qpn,
+       pr_debug("qpn 0x%x qp %p cm_id %p\n", conn_param->qpn,
                 ep->com.qp, cm_id);
 
        /*
@@ -3258,8 +3269,8 @@ int c4iw_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
                }
 
                /* find a route */
-               pr_debug("%s saddr %pI4 sport 0x%x raddr %pI4 rport 0x%x\n",
-                        __func__, &laddr->sin_addr, ntohs(laddr->sin_port),
+               pr_debug("saddr %pI4 sport 0x%x raddr %pI4 rport 0x%x\n",
+                        &laddr->sin_addr, ntohs(laddr->sin_port),
                         ra, ntohs(raddr->sin_port));
                ep->dst = cxgb_find_route(&dev->rdev.lldi, get_real_dev,
                                          laddr->sin_addr.s_addr,
@@ -3280,8 +3291,8 @@ int c4iw_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
                }
 
                /* find a route */
-               pr_debug("%s saddr %pI6 sport 0x%x raddr %pI6 rport 0x%x\n",
-                        __func__, laddr6->sin6_addr.s6_addr,
+               pr_debug("saddr %pI6 sport 0x%x raddr %pI6 rport 0x%x\n",
+                        laddr6->sin6_addr.s6_addr,
                         ntohs(laddr6->sin6_port),
                         raddr6->sin6_addr.s6_addr, ntohs(raddr6->sin6_port));
                ep->dst = cxgb_find_route6(&dev->rdev.lldi, get_real_dev,
@@ -3304,8 +3315,8 @@ int c4iw_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
                goto fail4;
        }
 
-       pr_debug("%s txq_idx %u tx_chan %u smac_idx %u rss_qid %u l2t_idx %u\n",
-                __func__, ep->txq_idx, ep->tx_chan, ep->smac_idx, ep->rss_qid,
+       pr_debug("txq_idx %u tx_chan %u smac_idx %u rss_qid %u l2t_idx %u\n",
+                ep->txq_idx, ep->tx_chan, ep->smac_idx, ep->rss_qid,
                 ep->l2t->idx);
 
        state_set(&ep->com, CONNECTING);
@@ -3343,14 +3354,14 @@ static int create_server6(struct c4iw_dev *dev, struct c4iw_listen_ep *ep)
                if (err)
                        return err;
        }
-       c4iw_init_wr_wait(&ep->com.wr_wait);
+       c4iw_init_wr_wait(ep->com.wr_waitp);
        err = cxgb4_create_server6(ep->com.dev->rdev.lldi.ports[0],
                                   ep->stid, &sin6->sin6_addr,
                                   sin6->sin6_port,
                                   ep->com.dev->rdev.lldi.rxq_ids[0]);
        if (!err)
                err = c4iw_wait_for_reply(&ep->com.dev->rdev,
-                                         &ep->com.wr_wait,
+                                         ep->com.wr_waitp,
                                          0, 0, __func__);
        else if (err > 0)
                err = net_xmit_errno(err);
@@ -3386,13 +3397,13 @@ static int create_server4(struct c4iw_dev *dev, struct c4iw_listen_ep *ep)
                        }
                } while (err == -EBUSY);
        } else {
-               c4iw_init_wr_wait(&ep->com.wr_wait);
+               c4iw_init_wr_wait(ep->com.wr_waitp);
                err = cxgb4_create_server(ep->com.dev->rdev.lldi.ports[0],
                                ep->stid, sin->sin_addr.s_addr, sin->sin_port,
                                0, ep->com.dev->rdev.lldi.rxq_ids[0]);
                if (!err)
                        err = c4iw_wait_for_reply(&ep->com.dev->rdev,
-                                                 &ep->com.wr_wait,
+                                                 ep->com.wr_waitp,
                                                  0, 0, __func__);
                else if (err > 0)
                        err = net_xmit_errno(err);
@@ -3419,7 +3430,7 @@ int c4iw_create_listen(struct iw_cm_id *cm_id, int backlog)
                goto fail1;
        }
        skb_queue_head_init(&ep->com.ep_skb_list);
-       pr_debug("%s ep %p\n", __func__, ep);
+       pr_debug("ep %p\n", ep);
        ep->com.cm_id = cm_id;
        ref_cm_id(&ep->com);
        ep->com.dev = dev;
@@ -3457,7 +3468,7 @@ int c4iw_create_listen(struct iw_cm_id *cm_id, int backlog)
                cm_id->provider_data = ep;
                goto out;
        }
-
+       remove_handle(ep->com.dev, &ep->com.dev->stid_idr, ep->stid);
        cxgb4_free_stid(ep->com.dev->rdev.lldi.tids, ep->stid,
                        ep->com.local_addr.ss_family);
 fail2:
@@ -3473,7 +3484,7 @@ int c4iw_destroy_listen(struct iw_cm_id *cm_id)
        int err;
        struct c4iw_listen_ep *ep = to_listen_ep(cm_id);
 
-       pr_debug("%s ep %p\n", __func__, ep);
+       pr_debug("ep %p\n", ep);
 
        might_sleep();
        state_set(&ep->com, DEAD);
@@ -3484,13 +3495,13 @@ int c4iw_destroy_listen(struct iw_cm_id *cm_id)
                        ep->com.dev->rdev.lldi.rxq_ids[0], 0);
        } else {
                struct sockaddr_in6 *sin6;
-               c4iw_init_wr_wait(&ep->com.wr_wait);
+               c4iw_init_wr_wait(ep->com.wr_waitp);
                err = cxgb4_remove_server(
                                ep->com.dev->rdev.lldi.ports[0], ep->stid,
                                ep->com.dev->rdev.lldi.rxq_ids[0], 0);
                if (err)
                        goto done;
-               err = c4iw_wait_for_reply(&ep->com.dev->rdev, &ep->com.wr_wait,
+               err = c4iw_wait_for_reply(&ep->com.dev->rdev, ep->com.wr_waitp,
                                          0, 0, __func__);
                sin6 = (struct sockaddr_in6 *)&ep->com.local_addr;
                cxgb4_clip_release(ep->com.dev->rdev.lldi.ports[0],
@@ -3514,7 +3525,7 @@ int c4iw_ep_disconnect(struct c4iw_ep *ep, int abrupt, gfp_t gfp)
 
        mutex_lock(&ep->com.mutex);
 
-       pr_debug("%s ep %p state %s, abrupt %d\n", __func__, ep,
+       pr_debug("ep %p state %s, abrupt %d\n", ep,
                 states[ep->com.state], abrupt);
 
        /*
@@ -3568,8 +3579,8 @@ int c4iw_ep_disconnect(struct c4iw_ep *ep, int abrupt, gfp_t gfp)
        case MORIBUND:
        case ABORTING:
        case DEAD:
-               pr_debug("%s ignoring disconnect ep %p state %u\n",
-                        __func__, ep, ep->com.state);
+               pr_info("%s ignoring disconnect ep %p state %u\n",
+                       __func__, ep, ep->com.state);
                break;
        default:
                BUG();
@@ -3673,7 +3684,7 @@ static void passive_ofld_conn_reply(struct c4iw_dev *dev, struct sk_buff *skb,
        rpl_skb = (struct sk_buff *)(unsigned long)req->cookie;
        BUG_ON(!rpl_skb);
        if (req->retval) {
-               pr_debug("%s passive open failure %d\n", __func__, req->retval);
+               pr_err("%s passive open failure %d\n", __func__, req->retval);
                mutex_lock(&dev->rdev.stats.lock);
                dev->rdev.stats.pas_ofld_conn_fails++;
                mutex_unlock(&dev->rdev.stats.lock);
@@ -3890,8 +3901,8 @@ static int rx_pkt(struct c4iw_dev *dev, struct sk_buff *skb)
 
        lep = (struct c4iw_ep *)get_ep_from_stid(dev, stid);
        if (!lep) {
-               pr_debug("%s connect request on invalid stid %d\n",
-                        __func__, stid);
+               pr_warn("%s connect request on invalid stid %d\n",
+                       __func__, stid);
                goto reject;
        }
 
@@ -3928,7 +3939,7 @@ static int rx_pkt(struct c4iw_dev *dev, struct sk_buff *skb)
        skb_set_transport_header(skb, (void *)tcph - (void *)rss);
        skb_get(skb);
 
-       pr_debug("%s lip 0x%x lport %u pip 0x%x pport %u tos %d\n", __func__,
+       pr_debug("lip 0x%x lport %u pip 0x%x pport %u tos %d\n",
                 ntohl(iph->daddr), ntohs(tcph->dest), ntohl(iph->saddr),
                 ntohs(tcph->source), iph->tos);
 
@@ -3936,15 +3947,13 @@ static int rx_pkt(struct c4iw_dev *dev, struct sk_buff *skb)
                              iph->daddr, iph->saddr, tcph->dest,
                              tcph->source, iph->tos);
        if (!dst) {
-               pr_err("%s - failed to find dst entry!\n",
-                      __func__);
+               pr_err("%s - failed to find dst entry!\n", __func__);
                goto reject;
        }
        neigh = dst_neigh_lookup_skb(dst, skb);
 
        if (!neigh) {
-               pr_err("%s - failed to allocate neigh!\n",
-                      __func__);
+               pr_err("%s - failed to allocate neigh!\n", __func__);
                goto free_dst;
        }
 
@@ -4027,8 +4036,7 @@ static void process_timeout(struct c4iw_ep *ep)
        int abort = 1;
 
        mutex_lock(&ep->com.mutex);
-       pr_debug("%s ep %p tid %u state %d\n", __func__, ep, ep->hwtid,
-                ep->com.state);
+       pr_debug("ep %p tid %u state %d\n", ep, ep->hwtid, ep->com.state);
        set_bit(TIMEDOUT, &ep->com.history);
        switch (ep->com.state) {
        case MPA_REQ_SENT:
@@ -4171,13 +4179,13 @@ static int fw6_msg(struct c4iw_dev *dev, struct sk_buff *skb)
        struct c4iw_wr_wait *wr_waitp;
        int ret;
 
-       pr_debug("%s type %u\n", __func__, rpl->type);
+       pr_debug("type %u\n", rpl->type);
 
        switch (rpl->type) {
        case FW6_TYPE_WR_RPL:
                ret = (int)((be64_to_cpu(rpl->data[0]) >> 8) & 0xff);
                wr_waitp = (struct c4iw_wr_wait *)(__force unsigned long) rpl->data[1];
-               pr_debug("%s wr_waitp %p ret %u\n", __func__, wr_waitp, ret);
+               pr_debug("wr_waitp %p ret %u\n", wr_waitp, ret);
                if (wr_waitp)
                        c4iw_wake_up(wr_waitp, ret ? -ret : 0);
                kfree_skb(skb);
@@ -4209,15 +4217,14 @@ static int peer_abort_intr(struct c4iw_dev *dev, struct sk_buff *skb)
                return 0;
        }
        if (cxgb_is_neg_adv(req->status)) {
-               pr_debug("%s Negative advice on abort- tid %u status %d (%s)\n",
-                        __func__, ep->hwtid, req->status,
+               pr_warn("%s Negative advice on abort- tid %u status %d (%s)\n",
+                       __func__, ep->hwtid, req->status,
                         neg_adv_str(req->status));
                goto out;
        }
-       pr_debug("%s ep %p tid %u state %u\n", __func__, ep, ep->hwtid,
-                ep->com.state);
+       pr_debug("ep %p tid %u state %u\n", ep, ep->hwtid, ep->com.state);
 
-       c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET);
+       c4iw_wake_up(ep->com.wr_waitp, -ECONNRESET);
 out:
        sched(dev, skb);
        return 0;