IB/mlx5: Remove useless check in ODP handler
authorMoni Shoua <monis@mellanox.com>
Tue, 22 Jan 2019 06:48:43 +0000 (08:48 +0200)
committerJason Gunthorpe <jgg@mellanox.com>
Mon, 4 Feb 2019 21:34:06 +0000 (14:34 -0700)
When handling an ODP event for a receive WQE in SRQ the target QP is
unknown. Therefore, it is wrong to ask if QP has a SRQ in the page-fault
handler.

Signed-off-by: Moni Shoua <monis@mellanox.com>
Reviewed-by: Majd Dibbiny <majd@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/mlx5/odp.c

index 2cbe4320513b0019c1e237b3be678ba6b963bd31..07b0f8bd6cd964b78d0b5df8ea46d43a753bb142 100644 (file)
@@ -869,7 +869,6 @@ srcu_unlock:
 /**
  * Parse a series of data segments for page fault handling.
  *
- * @qp the QP on which the fault occurred.
  * @pfault contains page fault information.
  * @wqe points at the first data segment in the WQE.
  * @wqe_end points after the end of the WQE.
@@ -886,7 +885,7 @@ srcu_unlock:
  */
 static int pagefault_data_segments(struct mlx5_ib_dev *dev,
                                   struct mlx5_pagefault *pfault,
-                                  struct mlx5_ib_qp *qp, void *wqe,
+                                  void *wqe,
                                   void *wqe_end, u32 *bytes_mapped,
                                   u32 *total_wqe_bytes, int receive_queue)
 {
@@ -897,10 +896,6 @@ static int pagefault_data_segments(struct mlx5_ib_dev *dev,
        size_t bcnt;
        int inline_segment;
 
-       /* Skip SRQ next-WQE segment. */
-       if (receive_queue && qp->ibqp.srq)
-               wqe += sizeof(struct mlx5_wqe_srq_next_seg);
-
        if (bytes_mapped)
                *bytes_mapped = 0;
        if (total_wqe_bytes)
@@ -1200,7 +1195,7 @@ static void mlx5_ib_mr_wqe_pfault_handler(struct mlx5_ib_dev *dev,
                goto resolve_page_fault;
        }
 
-       ret = pagefault_data_segments(dev, pfault, qp, wqe, wqe_end,
+       ret = pagefault_data_segments(dev, pfault, wqe, wqe_end,
                                      &bytes_mapped, &total_wqe_bytes,
                                      !requestor);
        if (ret == -EAGAIN) {