RDMA/hns: Add vendor_err info to error WC
authorLang Cheng <chenglang@huawei.com>
Tue, 22 Jun 2021 11:53:56 +0000 (19:53 +0800)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 22 Jun 2021 18:28:53 +0000 (15:28 -0300)
ULP can get more error information of CQ through verbs instead of prints.

Link: https://lore.kernel.org/r/1624362836-11631-1-git-send-email-liweihang@huawei.com
Signed-off-by: Lang Cheng <chenglang@huawei.com>
Signed-off-by: Weihang Li <liweihang@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/hns/hns_roce_hw_v2.c

index 48a601f..3c35ae4 100644 (file)
@@ -3524,6 +3524,7 @@ static void get_cqe_status(struct hns_roce_dev *hr_dev, struct hns_roce_qp *qp,
        ibdev_err(&hr_dev->ib_dev, "error cqe status 0x%x:\n", cqe_status);
        print_hex_dump(KERN_ERR, "", DUMP_PREFIX_NONE, 16, 4, cqe,
                       cq->cqe_size, false);
+       wc->vendor_err = hr_reg_read(cqe, CQE_SUB_STATUS);
 
        /*
         * For hns ROCEE, GENERAL_ERR is an error type that is not defined in