IB/mlx5: Fix micro UAR allocator
authorEli Cohen <eli@dev.mellanox.co.il>
Tue, 14 Jan 2014 15:45:12 +0000 (17:45 +0200)
committerRoland Dreier <roland@purestorage.com>
Tue, 14 Jan 2014 21:54:23 +0000 (13:54 -0800)
The micro UAR (uuar) allocator had a bug which resulted from the fact
that in each UAR we only have two micro UARs avaialable, those at
index 0 and 1.  This patch defines iterators to aid in traversing the
list of available micro UARs when allocating a uuar.

In addition, change the logic in create_user_qp() so that if high
class allocation fails (high class means lower latency), we revert to
medium class and not to the low class.

Signed-off-by: Eli Cohen <eli@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/mlx5/main.c
drivers/infiniband/hw/mlx5/qp.c
include/linux/mlx5/device.h

Simple merge
Simple merge
Simple merge