linux/drivers/infiniband/hw/mlx4
Roland Dreier cd155c1c7c IB/mlx4: Fix creation of kernel QP with max number of send s/g entries
When creating a kernel QP where the consumer asked for a send queue
with lots of scatter/gater entries, set_kernel_sq_size() incorrectly
returned an error if the send queue stride is larger than the
hardware's maximum send work request descriptor size.  This is not a
problem; the only issue is to make sure that the actual descriptors
used do not overflow the maximum descriptor size, so check this instead.

Clamp the returned max_send_sge value to be no bigger than what
query_device returns for the max_sge to avoid confusing hapless users,
even if the hardware is capable of handling a few more s/g entries.

This bug caused NFS/RDMA mounts to fail when the server adapter used
the mlx4 driver.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
2008-05-20 14:00:02 -07:00
..
ah.c IB/mlx4: Add a driver Mellanox ConnectX InfiniBand adapters 2007-05-08 18:00:38 -07:00
cq.c IB/mlx4: Fix off-by-one errors in calls to mlx4_ib_free_cq_buf() 2008-04-30 19:52:55 -07:00
doorbell.c IB: expand ib_umem_get() prototype 2008-04-29 08:06:12 -07:00
Kconfig IB: Use menuconfig for InfiniBand menu 2007-07-09 20:12:26 -07:00
mad.c IB/mlx4: Convert "if(foo)" to "if (foo)" 2008-04-16 21:01:04 -07:00
main.c mlx4_core: Move kernel doorbell management into core 2008-04-23 11:55:45 -07:00
Makefile IB/mlx4: Add a driver Mellanox ConnectX InfiniBand adapters 2007-05-08 18:00:38 -07:00
mlx4_ib.h mlx4_core: Move kernel doorbell management into core 2008-04-23 11:55:45 -07:00
mr.c IB: expand ib_umem_get() prototype 2008-04-29 08:06:12 -07:00
qp.c IB/mlx4: Fix creation of kernel QP with max number of send s/g entries 2008-05-20 14:00:02 -07:00
srq.c IB: expand ib_umem_get() prototype 2008-04-29 08:06:12 -07:00
user.h IB/mlx4: Handle new FW requirement for send request prefetching 2007-06-18 08:13:48 -07:00