diff options
Diffstat (limited to 'drivers/infiniband/hw/irdma/hw.c')
| -rw-r--r-- | drivers/infiniband/hw/irdma/hw.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/irdma/hw.c b/drivers/infiniband/hw/irdma/hw.c index 795f7fd4f257..457368e324e1 100644 --- a/drivers/infiniband/hw/irdma/hw.c +++ b/drivers/infiniband/hw/irdma/hw.c @@ -191,6 +191,7 @@ static void irdma_set_flush_fields(struct irdma_sc_qp *qp,  	case IRDMA_AE_AMP_MWBIND_INVALID_RIGHTS:  	case IRDMA_AE_AMP_MWBIND_BIND_DISABLED:  	case IRDMA_AE_AMP_MWBIND_INVALID_BOUNDS: +	case IRDMA_AE_AMP_MWBIND_VALID_STAG:  		qp->flush_code = FLUSH_MW_BIND_ERR;  		qp->event_type = IRDMA_QP_EVENT_ACCESS_ERR;  		break; @@ -2075,7 +2076,7 @@ void irdma_cqp_ce_handler(struct irdma_pci_f *rf, struct irdma_sc_cq *cq)  			cqp_request->compl_info.error = info.error;  			if (cqp_request->waiting) { -				cqp_request->request_done = true; +				WRITE_ONCE(cqp_request->request_done, true);  				wake_up(&cqp_request->waitq);  				irdma_put_cqp_request(&rf->cqp, cqp_request);  			} else {  |