diff options
author | Divy Le Ray <divy@chelsio.com> | 2009-03-12 21:14:09 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-03-13 11:30:45 -0700 |
commit | fc88219601aa3f94def89433a6afde154e8faa8c (patch) | |
tree | 8c921807f947ba25c7ce188c9ec586aa57b0a0f9 /drivers/net/cxgb3/sge.c | |
parent | 42c8ea17e8f78752ed5a354791b0ea1697dc3480 (diff) | |
download | op-kernel-dev-fc88219601aa3f94def89433a6afde154e8faa8c.zip op-kernel-dev-fc88219601aa3f94def89433a6afde154e8faa8c.tar.gz |
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 7d779d1..a7555cb 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) */ void t3_sge_err_intr_handler(struct adapter *adapter) { - unsigned int v, status = t3_read_reg(adapter, A_SG_INT_CAUSE); + unsigned int v, status = t3_read_reg(adapter, A_SG_INT_CAUSE) & + ~F_FLEMPTY; if (status & SGE_PARERR) CH_ALERT(adapter, "SGE parity error (0x%x)\n", |