OpenCloudOS-Kernel/drivers/infiniband/hw/mlx4
Jack Morgenstein 42ab01c315 IB/mlx4: Fix MTT leakage in resize CQ
When resizing a CQ, MTTs associated with the old CQE buffer were not
freed.  As a result, if any app used resize CQ repeatedly, all MTTs
were eventually exhausted, which led to all memory registration
operations failing until the driver is reloaded.

Once the RESIZE_CQ command returns successfully from FW, FW no longer
accesses the old CQ buffer, so it is safe to deallocate the MTT
entries used by the old CQ buffer.

Finally, if the RESIZE_CQ command fails, the MTTs allocated for the
new CQEs buffer also need to be de-allocated.

This fixes <https://bugs.openfabrics.org/show_bug.cgi?id=1416>.

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2008-12-01 10:09:37 -08:00
..
Kconfig IB: Use menuconfig for InfiniBand menu 2007-07-09 20:12:26 -07:00
Makefile IB/mlx4: Add a driver Mellanox ConnectX InfiniBand adapters 2007-05-08 18:00:38 -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 MTT leakage in resize CQ 2008-12-01 10:09:37 -08:00
doorbell.c IB: expand ib_umem_get() prototype 2008-04-29 08:06:12 -07:00
mad.c mlx4_core: Multiple port type support 2008-10-22 15:38:42 -07:00
main.c mlx4_core: Multiple port type support 2008-10-22 15:38:42 -07:00
mlx4_ib.h mlx4_core: Multiple port type support 2008-10-22 15:38:42 -07:00
mr.c IB/mlx4: Set umem field to NULL in mlx4_ib_alloc_fast_reg_mr() 2008-11-05 10:56:52 -08:00
qp.c mlx4_core: Add QP range reservation support 2008-10-10 12:01:37 -07:00
srq.c mlx4: Update/add Mellanox Technologies copyright lines to mlx4 driver files 2008-07-25 10:32:52 -07:00
user.h mlx4: Update/add Mellanox Technologies copyright lines to mlx4 driver files 2008-07-25 10:32:52 -07:00