| .. | .. |
|---|
| 192 | 192 | spin_lock_init(&qp->rq.producer_lock); |
|---|
| 193 | 193 | spin_lock_init(&qp->rq.consumer_lock); |
|---|
| 194 | 194 | |
|---|
| 195 | + skb_queue_head_init(&qp->req_pkts); |
|---|
| 196 | + skb_queue_head_init(&qp->resp_pkts); |
|---|
| 197 | + |
|---|
| 195 | 198 | atomic_set(&qp->ssn, 0); |
|---|
| 196 | 199 | atomic_set(&qp->skb_out, 0); |
|---|
| 197 | 200 | } |
|---|
| .. | .. |
|---|
| 247 | 250 | qp->req.opcode = -1; |
|---|
| 248 | 251 | qp->comp.opcode = -1; |
|---|
| 249 | 252 | |
|---|
| 250 | | - skb_queue_head_init(&qp->req_pkts); |
|---|
| 251 | | - |
|---|
| 252 | | - rxe_init_task(rxe, &qp->req.task, qp, |
|---|
| 253 | | - rxe_requester, "req"); |
|---|
| 254 | | - rxe_init_task(rxe, &qp->comp.task, qp, |
|---|
| 255 | | - rxe_completer, "comp"); |
|---|
| 253 | + rxe_init_task(&qp->req.task, qp, rxe_requester); |
|---|
| 254 | + rxe_init_task(&qp->comp.task, qp, rxe_completer); |
|---|
| 256 | 255 | |
|---|
| 257 | 256 | qp->qp_timeout_jiffies = 0; /* Can't be set for UD/UC in modify_qp */ |
|---|
| 258 | 257 | if (init->qp_type == IB_QPT_RC) { |
|---|
| .. | .. |
|---|
| 296 | 295 | } |
|---|
| 297 | 296 | } |
|---|
| 298 | 297 | |
|---|
| 299 | | - skb_queue_head_init(&qp->resp_pkts); |
|---|
| 300 | | - |
|---|
| 301 | | - rxe_init_task(rxe, &qp->resp.task, qp, |
|---|
| 302 | | - rxe_responder, "resp"); |
|---|
| 298 | + rxe_init_task(&qp->resp.task, qp, rxe_responder); |
|---|
| 303 | 299 | |
|---|
| 304 | 300 | qp->resp.opcode = OPCODE_NONE; |
|---|
| 305 | 301 | qp->resp.msn = 0; |
|---|
| .. | .. |
|---|
| 812 | 808 | qp->resp.mr = NULL; |
|---|
| 813 | 809 | } |
|---|
| 814 | 810 | |
|---|
| 815 | | - if (qp_type(qp) == IB_QPT_RC) |
|---|
| 816 | | - sk_dst_reset(qp->sk->sk); |
|---|
| 817 | | - |
|---|
| 818 | 811 | free_rd_atomic_resources(qp); |
|---|
| 819 | 812 | |
|---|
| 820 | 813 | if (qp->sk) { |
|---|
| 814 | + if (qp_type(qp) == IB_QPT_RC) |
|---|
| 815 | + sk_dst_reset(qp->sk->sk); |
|---|
| 816 | + |
|---|
| 821 | 817 | kernel_sock_shutdown(qp->sk, SHUT_RDWR); |
|---|
| 822 | 818 | sock_release(qp->sk); |
|---|
| 823 | 819 | } |
|---|