linux-sg2042/drivers/infiniband/hw/hns
Lijun Ou 2557fabd6e RDMA/hns: Bugfix for mapping user db
When the maximum send wr delivered by the user is zero, the qp does not
have a sq.

When allocating the sq db buffer to store the user sq pi pointer and map
it to the kernel mode, max_send_wr is used as the trigger condition, while
the kernel does not consider the max_send_wr trigger condition when
mapmping db. It will cause sq record doorbell map fail and create qp fail.

The failed print information as follows:

 hns3 0000:7d:00.1: Send cmd: tail - 418, opcode - 0x8504, flag - 0x0011, retval - 0x0000
 hns3 0000:7d:00.1: Send cmd: 0xe59dc000 0x00000000 0x00000000 0x00000000 0x00000116 0x0000ffff
 hns3 0000:7d:00.1: sq record doorbell map failed!
 hns3 0000:7d:00.1: Create RC QP failed

Fixes: 0425e3e6e0 ("RDMA/hns: Support flush cqe for hip08 in kernel space")
Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2019-04-25 10:40:04 -03:00
..
Kconfig IB/{core,uverbs}: Move ib_umem_xxx functions from ib_core to ib_uverbs 2019-01-10 17:06:44 -07:00
Makefile infiniband: prefix header search paths with $(srctree)/ 2019-01-25 15:28:50 -07:00
hns_roce_ah.c RDMA: Mark if destroy address handle is in a sleepable context 2018-12-19 16:28:03 -07:00
hns_roce_alloc.c cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
hns_roce_cmd.c RDMA/hns: Fix the chip hanging caused by sending mailbox&CMQ during reset 2019-02-04 16:13:50 -07:00
hns_roce_cmd.h RDMA/hns: Add timer allocation support for hip08 2019-01-24 09:22:30 -07:00
hns_roce_common.h RDMA/hns: Update posting & querying mailbox 2018-12-11 12:04:06 -07:00
hns_roce_cq.c IB/{core,hw}: Have ib_umem_get extract the ib_ucontext from ib_udata 2019-01-10 17:07:45 -07:00
hns_roce_db.c IB/{core,hw}: Have ib_umem_get extract the ib_ucontext from ib_udata 2019-01-10 17:07:45 -07:00
hns_roce_device.h RDMA: Handle PD allocations by IB/core 2019-02-08 16:51:04 -07:00
hns_roce_hem.c RDMA/hns: Fix bug that caused srq creation to fail 2019-04-08 13:27:58 -03:00
hns_roce_hem.h RDMA/hns: Add timer allocation support for hip08 2019-01-24 09:22:30 -07:00
hns_roce_hw_v1.c RDMA: Fix allocation failure on pointer pd 2019-02-13 09:00:43 -07:00
hns_roce_hw_v1.h RDMA/hns: Fix endian conversions and annotations 2018-07-11 14:09:25 -06:00
hns_roce_hw_v2.c RDMA/hns: Use GFP_ATOMIC in hns_roce_v2_modify_qp 2019-03-04 16:41:30 -04:00
hns_roce_hw_v2.h RDMA/hns: Modify qp&cq&pd specification according to UM 2019-02-19 20:52:19 -07:00
hns_roce_main.c RDMA: Handle ucontext allocations by IB/core 2019-02-22 14:11:37 -07:00
hns_roce_mr.c RDMA/hns: Fix bug that caused srq creation to fail 2019-04-08 13:27:58 -03:00
hns_roce_pd.c RDMA: Handle PD allocations by IB/core 2019-02-08 16:51:04 -07:00
hns_roce_qp.c RDMA/hns: Bugfix for mapping user db 2019-04-25 10:40:04 -03:00
hns_roce_srq.c RDMA/hns: Make some function static 2019-02-04 15:33:58 -07:00