aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/infiniband/hw/nes/nes_verbs.c6
-rw-r--r--drivers/infiniband/hw/nes/nes_verbs.h9
2 files changed, 1 insertions, 14 deletions
diff --git a/drivers/infiniband/hw/nes/nes_verbs.c b/drivers/infiniband/hw/nes/nes_verbs.c
index 8ea75614b87c..ea4e22ea2d49 100644
--- a/drivers/infiniband/hw/nes/nes_verbs.c
+++ b/drivers/infiniband/hw/nes/nes_verbs.c
@@ -1398,8 +1398,6 @@ static struct ib_qp *nes_create_qp(struct ib_pd *ibpd,
1398 nes_debug(NES_DBG_QP, "QP%u structure located @%p.Size = %u.\n", 1398 nes_debug(NES_DBG_QP, "QP%u structure located @%p.Size = %u.\n",
1399 nesqp->hwqp.qp_id, nesqp, (u32)sizeof(*nesqp)); 1399 nesqp->hwqp.qp_id, nesqp, (u32)sizeof(*nesqp));
1400 spin_lock_init(&nesqp->lock); 1400 spin_lock_init(&nesqp->lock);
1401 init_waitqueue_head(&nesqp->state_waitq);
1402 init_waitqueue_head(&nesqp->kick_waitq);
1403 nes_add_ref(&nesqp->ibqp); 1401 nes_add_ref(&nesqp->ibqp);
1404 break; 1402 break;
1405 default: 1403 default:
@@ -3005,7 +3003,6 @@ int nes_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
3005 " already done based on hw state.\n", 3003 " already done based on hw state.\n",
3006 nesqp->hwqp.qp_id); 3004 nesqp->hwqp.qp_id);
3007 issue_modify_qp = 0; 3005 issue_modify_qp = 0;
3008 nesqp->in_disconnect = 0;
3009 } 3006 }
3010 switch (nesqp->hw_iwarp_state) { 3007 switch (nesqp->hw_iwarp_state) {
3011 case NES_AEQE_IWARP_STATE_CLOSING: 3008 case NES_AEQE_IWARP_STATE_CLOSING:
@@ -3018,7 +3015,6 @@ int nes_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
3018 break; 3015 break;
3019 default: 3016 default:
3020 next_iwarp_state = NES_CQP_QP_IWARP_STATE_CLOSING; 3017 next_iwarp_state = NES_CQP_QP_IWARP_STATE_CLOSING;
3021 nesqp->in_disconnect = 1;
3022 nesqp->hw_iwarp_state = NES_AEQE_IWARP_STATE_CLOSING; 3018 nesqp->hw_iwarp_state = NES_AEQE_IWARP_STATE_CLOSING;
3023 break; 3019 break;
3024 } 3020 }
@@ -3035,7 +3031,6 @@ int nes_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
3035 next_iwarp_state = NES_CQP_QP_IWARP_STATE_TERMINATE; 3031 next_iwarp_state = NES_CQP_QP_IWARP_STATE_TERMINATE;
3036 nesqp->hw_iwarp_state = NES_AEQE_IWARP_STATE_TERMINATE; 3032 nesqp->hw_iwarp_state = NES_AEQE_IWARP_STATE_TERMINATE;
3037 issue_modify_qp = 1; 3033 issue_modify_qp = 1;
3038 nesqp->in_disconnect = 1;
3039 break; 3034 break;
3040 case IB_QPS_ERR: 3035 case IB_QPS_ERR:
3041 case IB_QPS_RESET: 3036 case IB_QPS_RESET:
@@ -3058,7 +3053,6 @@ int nes_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
3058 if ((nesqp->hw_tcp_state > NES_AEQE_TCP_STATE_CLOSED) && 3053 if ((nesqp->hw_tcp_state > NES_AEQE_TCP_STATE_CLOSED) &&
3059 (nesqp->hw_tcp_state != NES_AEQE_TCP_STATE_TIME_WAIT)) { 3054 (nesqp->hw_tcp_state != NES_AEQE_TCP_STATE_TIME_WAIT)) {
3060 next_iwarp_state |= NES_CQP_QP_RESET; 3055 next_iwarp_state |= NES_CQP_QP_RESET;
3061 nesqp->in_disconnect = 1;
3062 } else { 3056 } else {
3063 nes_debug(NES_DBG_MOD_QP, "QP%u NOT setting NES_CQP_QP_RESET since TCP state = %u\n", 3057 nes_debug(NES_DBG_MOD_QP, "QP%u NOT setting NES_CQP_QP_RESET since TCP state = %u\n",
3064 nesqp->hwqp.qp_id, nesqp->hw_tcp_state); 3058 nesqp->hwqp.qp_id, nesqp->hw_tcp_state);
diff --git a/drivers/infiniband/hw/nes/nes_verbs.h b/drivers/infiniband/hw/nes/nes_verbs.h
index ac8b86b8cc11..795aa4f9259f 100644
--- a/drivers/infiniband/hw/nes/nes_verbs.h
+++ b/drivers/infiniband/hw/nes/nes_verbs.h
@@ -135,19 +135,15 @@ struct nes_qp {
135 struct ib_qp ibqp; 135 struct ib_qp ibqp;
136 void *allocated_buffer; 136 void *allocated_buffer;
137 struct iw_cm_id *cm_id; 137 struct iw_cm_id *cm_id;
138 struct workqueue_struct *wq;
139 struct nes_cq *nesscq; 138 struct nes_cq *nesscq;
140 struct nes_cq *nesrcq; 139 struct nes_cq *nesrcq;
141 struct nes_pd *nespd; 140 struct nes_pd *nespd;
142 void *cm_node; /* handle of the node this QP is associated with */ 141 void *cm_node; /* handle of the node this QP is associated with */
143 struct ietf_mpa_frame *ietf_frame; 142 struct ietf_mpa_frame *ietf_frame;
144 dma_addr_t ietf_frame_pbase; 143 dma_addr_t ietf_frame_pbase;
145 wait_queue_head_t state_waitq;
146 struct ib_mr *lsmm_mr; 144 struct ib_mr *lsmm_mr;
147 unsigned long socket;
148 struct nes_hw_qp hwqp; 145 struct nes_hw_qp hwqp;
149 struct work_struct work; 146 struct work_struct work;
150 struct work_struct ae_work;
151 enum ib_qp_state ibqp_state; 147 enum ib_qp_state ibqp_state;
152 u32 iwarp_state; 148 u32 iwarp_state;
153 u32 hte_index; 149 u32 hte_index;
@@ -165,17 +161,14 @@ struct nes_qp {
165 struct page *page; 161 struct page *page;
166 struct timer_list terminate_timer; 162 struct timer_list terminate_timer;
167 enum ib_event_type terminate_eventtype; 163 enum ib_event_type terminate_eventtype;
168 wait_queue_head_t kick_waitq;
169 u16 in_disconnect;
170 u16 active_conn:1; 164 u16 active_conn:1;
171 u16 skip_lsmm:1; 165 u16 skip_lsmm:1;
172 u16 user_mode:1; 166 u16 user_mode:1;
173 u16 hte_added:1; 167 u16 hte_added:1;
174 u16 flush_issued:1; 168 u16 flush_issued:1;
175 u16 destroyed:1; 169 u16 destroyed:1;
176 u16 sq_kmapped:1;
177 u16 sig_all:1; 170 u16 sig_all:1;
178 u16 rsvd:8; 171 u16 rsvd:9;
179 u16 private_data_len; 172 u16 private_data_len;
180 u16 term_sq_flush_code; 173 u16 term_sq_flush_code;
181 u16 term_rq_flush_code; 174 u16 term_rq_flush_code;