diff options
author | Michael S. Tsirkin <mst@mellanox.co.il> | 2006-01-06 13:13:32 -0800 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2006-01-06 13:13:32 -0800 |
commit | 0f8e8f9607d77ffc1f9820446dfcf781e96fdfd4 (patch) | |
tree | 3e865beb1c3e1cc53b9644ada1415ea11a8f4b77 | |
parent | 5ceb74557c71465cf8f6fda050aac00e53f9ad3d (diff) | |
download | op-kernel-dev-0f8e8f9607d77ffc1f9820446dfcf781e96fdfd4.zip op-kernel-dev-0f8e8f9607d77ffc1f9820446dfcf781e96fdfd4.tar.gz |
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>
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_cq.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_cq.c b/drivers/infiniband/hw/mthca/mthca_cq.c index fcef8dc..96f1a86 100644 --- a/drivers/infiniband/hw/mthca/mthca_cq.c +++ b/drivers/infiniband/hw/mthca/mthca_cq.c @@ -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. |