diff options
| author | 2008-04-16 21:09:26 -0700 | |
|---|---|---|
| committer | 2008-04-16 21:09:26 -0700 | |
| commit | 4330e4dad780467d930b394b5119c0218a1e2dbe (patch) | |
| tree | bd0e113cbdcda5122a056431c084b079e9fe1684 /drivers/infiniband/hw/ipath/ipath_intr.c | |
| parent | IB/ipath: Remove some useless (void) casts (diff) | |
| download | linux-dev-4330e4dad780467d930b394b5119c0218a1e2dbe.tar.xz linux-dev-4330e4dad780467d930b394b5119c0218a1e2dbe.zip | |
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>
Diffstat (limited to 'drivers/infiniband/hw/ipath/ipath_intr.c')
| -rw-r--r-- | drivers/infiniband/hw/ipath/ipath_intr.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_intr.c b/drivers/infiniband/hw/ipath/ipath_intr.c index ed82ecbb02da..5608e3268a62 100644 --- a/drivers/infiniband/hw/ipath/ipath_intr.c +++ b/drivers/infiniband/hw/ipath/ipath_intr.c @@ -309,6 +309,8 @@ static void handle_e_ibstatuschanged(struct ipath_devdata *dd, lastlstate == INFINIPATH_IBCS_L_STATE_DOWN) { /* transitioned to UP */ if (dd->ipath_f_ib_updown(dd, 1, ibcs)) { + /* link came up, so we must no longer be disabled */ + dd->ipath_flags &= ~IPATH_IB_LINK_DISABLED; ipath_cdbg(LINKVERB, "LinkUp handled, skipped\n"); goto skip_ibchange; /* chip-code handled */ } |
