Commit b3d5cb2f authored by Mike Marciniszyn's avatar Mike Marciniszyn Committed by Roland Dreier

IB/qib: Handle transitions from ACTIVE_DEFERRED to ACTIVE better

When the link transitions from ACTIVE_DEFERRED to ACTIVE, the driver
only sees the ACTIVE state. With this change, it will check whether
the state was already ACTIVE and if so, it will not generated IB
events and will not clear symbol error counts.
Signed-off-by: default avatarMike Marciniszyn <mike.marciniszyn@qlogic.com>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent c7665e5a
...@@ -131,7 +131,8 @@ void qib_handle_e_ibstatuschanged(struct qib_pportdata *ppd, u64 ibcs) ...@@ -131,7 +131,8 @@ void qib_handle_e_ibstatuschanged(struct qib_pportdata *ppd, u64 ibcs)
/* start a 75msec timer to clear symbol errors */ /* start a 75msec timer to clear symbol errors */
mod_timer(&ppd->symerr_clear_timer, mod_timer(&ppd->symerr_clear_timer,
msecs_to_jiffies(75)); msecs_to_jiffies(75));
} else if (ltstate == IB_PHYSPORTSTATE_LINKUP) { } else if (ltstate == IB_PHYSPORTSTATE_LINKUP &&
!(ppd->lflags & QIBL_LINKACTIVE)) {
/* active, but not active defered */ /* active, but not active defered */
qib_hol_up(ppd); /* useful only for 6120 now */ qib_hol_up(ppd); /* useful only for 6120 now */
*ppd->statusp |= *ppd->statusp |=
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment