summaryrefslogtreecommitdiffstats
path: root/drivers/net/cxgb3/sge.c
diff options
context:
space:
mode:
authorDivy Le Ray <divy@chelsio.com>2009-03-12 21:14:09 +0000
committerDavid S. Miller <davem@davemloft.net>2009-03-13 11:30:45 -0700
commitfc88219601aa3f94def89433a6afde154e8faa8c (patch)
tree8c921807f947ba25c7ce188c9ec586aa57b0a0f9 /drivers/net/cxgb3/sge.c
parent42c8ea17e8f78752ed5a354791b0ea1697dc3480 (diff)
downloadlinux-fc88219601aa3f94def89433a6afde154e8faa8c.tar.gz
linux-fc88219601aa3f94def89433a6afde154e8faa8c.tar.bz2
linux-fc88219601aa3f94def89433a6afde154e8faa8c.zip
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.c3
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)
*/
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",