linux/drivers/infiniband/hw/mlx4
Moni Shoua f0f6f346a1 IB/mlx4: Fix dispatch of IB_EVENT_LID_CHANGE event
When snooping a PortInfo MAD, its client_reregister bit is checked.
If the bit is ON then a CLIENT_REREGISTER event is dispatched,
otherwise a LID_CHANGE event is dispatched.  This way of decision
ignores the cases where the MAD changes the LID along with an
instruction to reregister (so a necessary LID_CHANGE event won't be
dispatched) or the MAD is neither of these (and an unnecessary
LID_CHANGE event will be dispatched).

This causes problems at least with IPoIB, which will do a "light"
flush on reregister, rather than the "heavy" flush required due to a
LID change.

Fix this by dispatching a CLIENT_REREGISTER event if the
client_reregister bit is set, but also compare the LID in the MAD to
the current LID.  If and only if they are not identical then a
LID_CHANGE event is dispatched.

Signed-off-by: Moni Shoua <monis@voltaire.com>
Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Yossi Etigin <yosefe@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2009-01-28 14:54:35 -08:00
..
ah.c IB/mlx4: Add a driver Mellanox ConnectX InfiniBand adapters 2007-05-08 18:00:38 -07:00
cq.c trivial: fix then -> than typos in comments and documentation 2009-01-06 11:28:06 +01: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: Fix dispatch of IB_EVENT_LID_CHANGE event 2009-01-28 14:54:35 -08:00
main.c IB/mlx4: Don't register IB device for adapters with no IB ports 2009-01-09 13:22:29 -08:00
Makefile IB/mlx4: Add a driver Mellanox ConnectX InfiniBand adapters 2007-05-08 18:00:38 -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 IB/mlx4: Fix memory ordering problem when posting LSO sends 2009-01-16 12:47:47 -08: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