diff options
author | Roland Dreier <roland@purestorage.com> | 2011-06-17 11:57:55 -0700 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2011-06-17 11:57:55 -0700 |
commit | c7d74b090913102e7917dd02bb574ef060e1e930 (patch) | |
tree | 2e08d32ec397034e5dde80d62684bf78b2aab384 /drivers/infiniband/hw/qib/qib_intr.c | |
parent | 8da7e7a55231543b84ac84e93ad5ca9d340773d7 (diff) | |
parent | 3126448451105fae59de0058c68692aa09aa4c37 (diff) | |
download | op-kernel-dev-c7d74b090913102e7917dd02bb574ef060e1e930.zip op-kernel-dev-c7d74b090913102e7917dd02bb574ef060e1e930.tar.gz |
Merge branches 'cxgb4' and 'qib' into for-next
Diffstat (limited to 'drivers/infiniband/hw/qib/qib_intr.c')
-rw-r--r-- | drivers/infiniband/hw/qib/qib_intr.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/qib/qib_intr.c b/drivers/infiniband/hw/qib/qib_intr.c index a693c56..6ae57d2 100644 --- a/drivers/infiniband/hw/qib/qib_intr.c +++ b/drivers/infiniband/hw/qib/qib_intr.c @@ -96,8 +96,12 @@ void qib_handle_e_ibstatuschanged(struct qib_pportdata *ppd, u64 ibcs) * states, or if it transitions from any of the up (INIT or better) * states into any of the down states (except link recovery), then * call the chip-specific code to take appropriate actions. + * + * ppd->lflags could be 0 if this is the first time the interrupt + * handlers has been called but the link is already up. */ - if (lstate >= IB_PORT_INIT && (ppd->lflags & QIBL_LINKDOWN) && + if (lstate >= IB_PORT_INIT && + (!ppd->lflags || (ppd->lflags & QIBL_LINKDOWN)) && ltstate == IB_PHYSPORTSTATE_LINKUP) { /* transitioned to UP */ if (dd->f_ib_updown(ppd, 1, ibcs)) |