IB/mlx4: Return EAGAIN for any error in mlx4_ib_poll_one
Error code EAGAIN should be used when errors are temporary and next call might succeeds. When error code other than EAGAIN is returned, the caller (mlx4_ib_poll) will assume all CQE in the same bunch are error too and will drop them all. Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
e6a00f6684
commit
5412352fcd
|
@ -690,7 +690,7 @@ repoll:
|
||||||
if (unlikely((cqe->owner_sr_opcode & MLX4_CQE_OPCODE_MASK) == MLX4_OPCODE_NOP &&
|
if (unlikely((cqe->owner_sr_opcode & MLX4_CQE_OPCODE_MASK) == MLX4_OPCODE_NOP &&
|
||||||
is_send)) {
|
is_send)) {
|
||||||
pr_warn("Completion for NOP opcode detected!\n");
|
pr_warn("Completion for NOP opcode detected!\n");
|
||||||
return -EINVAL;
|
return -EAGAIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Resize CQ in progress */
|
/* Resize CQ in progress */
|
||||||
|
@ -721,7 +721,7 @@ repoll:
|
||||||
if (unlikely(!mqp)) {
|
if (unlikely(!mqp)) {
|
||||||
pr_warn("CQ %06x with entry for unknown QPN %06x\n",
|
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);
|
cq->mcq.cqn, be32_to_cpu(cqe->vlan_my_qpn) & MLX4_CQE_QPN_MASK);
|
||||||
return -EINVAL;
|
return -EAGAIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
*cur_qp = to_mibqp(mqp);
|
*cur_qp = to_mibqp(mqp);
|
||||||
|
@ -739,7 +739,7 @@ repoll:
|
||||||
if (unlikely(!msrq)) {
|
if (unlikely(!msrq)) {
|
||||||
pr_warn("CQ %06x with entry for unknown SRQN %06x\n",
|
pr_warn("CQ %06x with entry for unknown SRQN %06x\n",
|
||||||
cq->mcq.cqn, srq_num);
|
cq->mcq.cqn, srq_num);
|
||||||
return -EINVAL;
|
return -EAGAIN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue