IB/ipath: Prevent link-recovery code from negating admin disable
The link can be put in LINKDOWN_DISABLE state either locally or via a MAD. However, the link-recovery code will take it out of that state as a side-effect of attempts to clear SerDes/XGXS issues. We add a flag to indicate "link is down on purpose, leave it alone." Signed-off-by: Michael Albaugh <michael.albaugh@qlogic.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
committed by
Roland Dreier
parent
8c641d4b5f
commit
4330e4dad7
@@ -180,10 +180,13 @@ static int bringup_link(struct ipath_devdata *dd)
|
||||
/*
|
||||
* Want to start out with both LINKCMD and LINKINITCMD in NOP
|
||||
* (0 and 0). Don't put linkinitcmd in ipath_ibcctrl, want that
|
||||
* to stay a NOP
|
||||
* to stay a NOP. Flag that we are disabled, for the (unlikely)
|
||||
* case that some recovery path is trying to bring the link up
|
||||
* before we are ready.
|
||||
*/
|
||||
ibc |= INFINIPATH_IBCC_LINKINITCMD_DISABLE <<
|
||||
INFINIPATH_IBCC_LINKINITCMD_SHIFT;
|
||||
dd->ipath_flags |= IPATH_IB_LINK_DISABLED;
|
||||
ipath_cdbg(VERBOSE, "Writing 0x%llx to ibcctrl\n",
|
||||
(unsigned long long) ibc);
|
||||
ipath_write_kreg(dd, dd->ipath_kregs->kr_ibcctrl, ibc);
|
||||
|
Reference in New Issue
Block a user