IB/mthca: Fill in vendor_err field in completion with error

Fill vendor_err field in completion with error.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
Michael S. Tsirkin 2006-01-06 13:13:32 -08:00 committed by Roland Dreier
parent 5ceb74557c
commit 0f8e8f9607
1 changed files with 7 additions and 5 deletions

View File

@ -128,12 +128,12 @@ struct mthca_err_cqe {
__be32 my_qpn;
u32 reserved1[3];
u8 syndrome;
u8 reserved2;
u8 vendor_err;
__be16 db_cnt;
u32 reserved3;
u32 reserved2;
__be32 wqe;
u8 opcode;
u8 reserved4[2];
u8 reserved3[2];
u8 owner;
};
@ -342,8 +342,8 @@ static int handle_error_cqe(struct mthca_dev *dev, struct mthca_cq *cq,
}
/*
* For completions in error, only work request ID, status (and
* freed resource count for RD) have to be set.
* For completions in error, only work request ID, status, vendor error
* (and freed resource count for RD) have to be set.
*/
switch (cqe->syndrome) {
case SYNDROME_LOCAL_LENGTH_ERR:
@ -405,6 +405,8 @@ static int handle_error_cqe(struct mthca_dev *dev, struct mthca_cq *cq,
break;
}
entry->vendor_err = cqe->vendor_err;
/*
* Mem-free HCAs always generate one CQE per WQE, even in the
* error case, so we don't have to check the doorbell count, etc.