Revert "IB/mlx4: Return EAGAIN for any error in mlx4_ib_poll_one"
authorLeon Romanovsky <leonro@mellanox.com>
Sun, 28 Aug 2016 07:58:32 +0000 (10:58 +0300)
committerDoug Ledford <dledford@redhat.com>
Fri, 2 Sep 2016 18:09:14 +0000 (14:09 -0400)
By Mellanox HW design and SW implementation, poll_cq never
fails and returns errors, so all these printks are to catch ULP bugs.

In case of such bug, the reverted patch will cause reentry of the
function, resulting in a printk storm.

This reverts commit 5412352fcd8f ("IB/mlx4: Return EAGAIN for any error in mlx4_ib_poll_one")

Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/mlx4/cq.c

index 006db6436e3b22511bcbb4d990a55e56ac8adcce..15b628996633f27354c90c7f492646e78b083b99 100644 (file)
@@ -690,7 +690,7 @@ repoll:
        if (unlikely((cqe->owner_sr_opcode & MLX4_CQE_OPCODE_MASK) == MLX4_OPCODE_NOP &&
                     is_send)) {
                pr_warn("Completion for NOP opcode detected!\n");
-               return -EAGAIN;
+               return -EINVAL;
        }
 
        /* Resize CQ in progress */
@@ -721,7 +721,7 @@ repoll:
                if (unlikely(!mqp)) {
                        pr_warn("CQ %06x with entry for unknown QPN %06x\n",
                               cq->mcq.cqn, be32_to_cpu(cqe->vlan_my_qpn) & MLX4_CQE_QPN_MASK);
-                       return -EAGAIN;
+                       return -EINVAL;
                }
 
                *cur_qp = to_mibqp(mqp);
@@ -739,7 +739,7 @@ repoll:
                if (unlikely(!msrq)) {
                        pr_warn("CQ %06x with entry for unknown SRQN %06x\n",
                                cq->mcq.cqn, srq_num);
-                       return -EAGAIN;
+                       return -EINVAL;
                }
        }