aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/qib/qib_intr.c
diff options
context:
space:
mode:
authorRoland Dreier <roland@purestorage.com>2011-06-17 14:57:55 -0400
committerRoland Dreier <roland@purestorage.com>2011-06-17 14:57:55 -0400
commitc7d74b090913102e7917dd02bb574ef060e1e930 (patch)
tree2e08d32ec397034e5dde80d62684bf78b2aab384 /drivers/infiniband/hw/qib/qib_intr.c
parent8da7e7a55231543b84ac84e93ad5ca9d340773d7 (diff)
parent3126448451105fae59de0058c68692aa09aa4c37 (diff)
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.c6
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 a693c56ec8a6..6ae57d23004a 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)
96 * states, or if it transitions from any of the up (INIT or better) 96 * states, or if it transitions from any of the up (INIT or better)
97 * states into any of the down states (except link recovery), then 97 * states into any of the down states (except link recovery), then
98 * call the chip-specific code to take appropriate actions. 98 * call the chip-specific code to take appropriate actions.
99 *
100 * ppd->lflags could be 0 if this is the first time the interrupt
101 * handlers has been called but the link is already up.
99 */ 102 */
100 if (lstate >= IB_PORT_INIT && (ppd->lflags & QIBL_LINKDOWN) && 103 if (lstate >= IB_PORT_INIT &&
104 (!ppd->lflags || (ppd->lflags & QIBL_LINKDOWN)) &&
101 ltstate == IB_PHYSPORTSTATE_LINKUP) { 105 ltstate == IB_PHYSPORTSTATE_LINKUP) {
102 /* transitioned to UP */ 106 /* transitioned to UP */
103 if (dd->f_ib_updown(ppd, 1, ibcs)) 107 if (dd->f_ib_updown(ppd, 1, ibcs))