Merge branch 'k.o/for-rc' into k.o/wip/dl-for-next
authorDoug Ledford <dledford@redhat.com>
Wed, 9 May 2018 19:48:48 +0000 (15:48 -0400)
committerDoug Ledford <dledford@redhat.com>
Wed, 9 May 2018 19:48:48 +0000 (15:48 -0400)
Several items of conflict have arisen between the RDMA stack's for-rc
branch and upcoming for-next work:

9fd4350ba895 ("IB/rxe: avoid double kfree_skb") directly conflicts with
2e47350789eb ("IB/rxe: optimize the function duplicate_request")

Patches already submitted by Intel for the hfi1 driver will fail to
apply cleanly without this merge

Other people on the mailing list have notified that their upcoming
patches also fail to apply cleanly without this merge

Signed-off-by: Doug Ledford <dledford@redhat.com>
1  2 
drivers/infiniband/core/cache.c
drivers/infiniband/core/cma.c
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
drivers/infiniband/hw/cxgb4/qp.c
drivers/infiniband/hw/mlx5/qp.c
drivers/infiniband/sw/rxe/rxe_req.c
drivers/infiniband/sw/rxe/rxe_resp.c

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -1123,13 -1121,23 +1120,12 @@@ static enum resp_states duplicate_reque
                /* Find the operation in our list of responder resources. */
                res = find_resource(qp, pkt->psn);
                if (res) {
 -                      struct sk_buff *skb_copy;
 -
 -                      skb_copy = skb_clone(res->atomic.skb, GFP_ATOMIC);
 -                      if (skb_copy) {
 -                              rxe_add_ref(qp); /* for the new SKB */
 -                      } else {
 -                              pr_warn("Couldn't clone atomic resp\n");
 -                              rc = RESPST_CLEANUP;
 -                              goto out;
 -                      }
 -
 +                      skb_get(res->atomic.skb);
                        /* Resend the result. */
                        rc = rxe_xmit_packet(to_rdev(qp->ibqp.device), qp,
 -                                           pkt, skb_copy);
 +                                           pkt, res->atomic.skb);
                        if (rc) {
                                pr_err("Failed resending result. This flow is not handled - skb ignored\n");
-                               kfree_skb(res->atomic.skb);
 -                              rxe_drop_ref(qp);
                                rc = RESPST_CLEANUP;
                                goto out;
                        }