diff options
author | Divy Le Ray <divy@chelsio.com> | 2009-03-12 17:14:09 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-03-13 14:30:45 -0400 |
commit | fc88219601aa3f94def89433a6afde154e8faa8c (patch) | |
tree | 8c921807f947ba25c7ce188c9ec586aa57b0a0f9 /drivers/net/cxgb3/sge.c | |
parent | 42c8ea17e8f78752ed5a354791b0ea1697dc3480 (diff) |
cxgb3: disable high freq non-data interrupts
Under RX pressure, The HW might generate a high load of interrupts
to signal mac fifo or free lists overflow.
Disable the interrupts, and poll the relevant status bits
to maintain stats.
Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cxgb3/sge.c')
-rw-r--r-- | drivers/net/cxgb3/sge.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c index 7d779d18e137..a7555cb3fa4a 100644 --- a/drivers/net/cxgb3/sge.c +++ b/drivers/net/cxgb3/sge.c | |||
@@ -2725,7 +2725,8 @@ irq_handler_t t3_intr_handler(struct adapter *adap, int polling) | |||
2725 | */ | 2725 | */ |
2726 | void t3_sge_err_intr_handler(struct adapter *adapter) | 2726 | void t3_sge_err_intr_handler(struct adapter *adapter) |
2727 | { | 2727 | { |
2728 | unsigned int v, status = t3_read_reg(adapter, A_SG_INT_CAUSE); | 2728 | unsigned int v, status = t3_read_reg(adapter, A_SG_INT_CAUSE) & |
2729 | ~F_FLEMPTY; | ||
2729 | 2730 | ||
2730 | if (status & SGE_PARERR) | 2731 | if (status & SGE_PARERR) |
2731 | CH_ALERT(adapter, "SGE parity error (0x%x)\n", | 2732 | CH_ALERT(adapter, "SGE parity error (0x%x)\n", |