1. 28 Jan, 2009 1 commit
    • Moni Shoua's avatar
      IB/mthca: Fix dispatch of IB_EVENT_LID_CHANGE event · 270b8b85
      Moni Shoua authored
      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: default avatarMoni Shoua <monis@voltaire.com>
      Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: default avatarYossi Etigin <yosefe@voltaire.com>
      Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
      270b8b85
  2. 17 Jan, 2009 5 commits
  3. 16 Jan, 2009 34 commits