RDMA/irdma: Report correct WC error when there are MW bind errors
Report the correct WC error when MW bind error related asynchronous events are generated by HW. Fixes: b48c24c2d710 ("RDMA/irdma: Implement device supported verb APIs") Link: https://lore.kernel.org/r/20210916191222.824-5-shiraz.saleem@intel.com Signed-off-by: Sindhu Devale <sindhu.devale@intel.com> Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
parent
d3bdcd5963
commit
9f7fa37a6b
@ -179,6 +179,11 @@ static void irdma_set_flush_fields(struct irdma_sc_qp *qp,
|
||||
case IRDMA_AE_LLP_TOO_MANY_RETRIES:
|
||||
qp->flush_code = FLUSH_RETRY_EXC_ERR;
|
||||
break;
|
||||
case IRDMA_AE_AMP_MWBIND_INVALID_RIGHTS:
|
||||
case IRDMA_AE_AMP_MWBIND_BIND_DISABLED:
|
||||
case IRDMA_AE_AMP_MWBIND_INVALID_BOUNDS:
|
||||
qp->flush_code = FLUSH_MW_BIND_ERR;
|
||||
break;
|
||||
default:
|
||||
qp->flush_code = FLUSH_FATAL_ERR;
|
||||
break;
|
||||
|
@ -103,6 +103,7 @@ enum irdma_flush_opcode {
|
||||
FLUSH_LOC_LEN_ERR,
|
||||
FLUSH_FATAL_ERR,
|
||||
FLUSH_RETRY_EXC_ERR,
|
||||
FLUSH_MW_BIND_ERR,
|
||||
};
|
||||
|
||||
enum irdma_cmpl_status {
|
||||
|
@ -3354,6 +3354,8 @@ static enum ib_wc_status irdma_flush_err_to_ib_wc_status(enum irdma_flush_opcode
|
||||
return IB_WC_WR_FLUSH_ERR;
|
||||
case FLUSH_RETRY_EXC_ERR:
|
||||
return IB_WC_RETRY_EXC_ERR;
|
||||
case FLUSH_MW_BIND_ERR:
|
||||
return IB_WC_MW_BIND_ERR;
|
||||
case FLUSH_FATAL_ERR:
|
||||
default:
|
||||
return IB_WC_FATAL_ERR;
|
||||
|
Loading…
x
Reference in New Issue
Block a user