IB/core: Enhance ib_map_mr_sg()
[deliverable/linux.git] / drivers / infiniband / hw / i40iw / i40iw_verbs.c
index 45f70f5e14a782cf368dd192bd25c43e8362962b..4a740f7a0519bcac97d35b86844ae844727daeb4 100644 (file)
@@ -1573,12 +1573,13 @@ static int i40iw_set_page(struct ib_mr *ibmr, u64 addr)
  * @sg: scatter gather list for fmr
  * @sg_nents: number of sg pages
  */
-static int i40iw_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents)
+static int i40iw_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg,
+                          int sg_nents, unsigned int *sg_offset)
 {
        struct i40iw_mr *iwmr = to_iwmr(ibmr);
 
        iwmr->npages = 0;
-       return ib_sg_to_pages(ibmr, sg, sg_nents, i40iw_set_page);
+       return ib_sg_to_pages(ibmr, sg, sg_nents, sg_offset, i40iw_set_page);
 }
 
 /**
@@ -2259,6 +2260,8 @@ static int i40iw_poll_cq(struct ib_cq *ibcq,
                ret = ukcq->ops.iw_cq_poll_completion(ukcq, &cq_poll_info, true);
                if (ret == I40IW_ERR_QUEUE_EMPTY) {
                        break;
+               } else if (ret == I40IW_ERR_QUEUE_DESTROYED) {
+                       continue;
                } else if (ret) {
                        if (!cqe_count)
                                cqe_count = -1;
This page took 0.026786 seconds and 5 git commands to generate.