summaryrefslogtreecommitdiff
path: root/drivers/net/cxgb3
diff options
context:
space:
mode:
authorCasey Leedom <leedom@chelsio.com>2010-09-02 17:07:31 +0400
committerDavid S. Miller <davem@davemloft.net>2010-09-03 21:03:51 +0400
commitaa476321022ac6c3cb8ebfd1736555ccf61da276 (patch)
tree2fad67e14b929fb8856e7c47af7e91d4f339d2de /drivers/net/cxgb3
parente05e6a397c65ac9a31ce799cf85157f2d85f45b7 (diff)
downloadlinux-aa476321022ac6c3cb8ebfd1736555ccf61da276.tar.xz
cxgb3: Leave interrupts for fatal errors asserted in common code.
Platform code needs to deal with them now. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: Casey Leedom <leedom@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cxgb3')
-rw-r--r--drivers/net/cxgb3/t3_hw.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/cxgb3/t3_hw.c b/drivers/net/cxgb3/t3_hw.c
index 14a56640dfa9..d307c9de59fb 100644
--- a/drivers/net/cxgb3/t3_hw.c
+++ b/drivers/net/cxgb3/t3_hw.c
@@ -1408,6 +1408,7 @@ static int t3_handle_intr_status(struct adapter *adapter, unsigned int reg,
fatal++;
CH_ALERT(adapter, "%s (0x%x)\n",
acts->msg, status & acts->mask);
+ status &= ~acts->mask;
} else if (acts->msg)
CH_WARN(adapter, "%s (0x%x)\n",
acts->msg, status & acts->mask);
@@ -1843,11 +1844,10 @@ static int mac_intr_handler(struct adapter *adap, unsigned int idx)
t3_os_link_fault_handler(adap, idx);
}
- t3_write_reg(adap, A_XGM_INT_CAUSE + mac->offset, cause);
-
if (cause & XGM_INTR_FATAL)
t3_fatal_err(adap);
+ t3_write_reg(adap, A_XGM_INT_CAUSE + mac->offset, cause);
return cause != 0;
}