.. | .. |
---|
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 | } |
---|