summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorXiaotian Feng <xiaotian.feng@windriver.com>2009-05-27 05:48:04 +0200
committerDavid S. Miller <davem@davemloft.net>2009-05-27 05:48:04 +0200
commit18a36c1a398055e87a3646738abf3c1b0e98e7e2 (patch)
tree7b396f3a9f05196808e420bf793c57da40274d47 /drivers/net
parentcls_cgroup: read classid atomically in classifier (diff)
downloadlinux-18a36c1a398055e87a3646738abf3c1b0e98e7e2.tar.xz
linux-18a36c1a398055e87a3646738abf3c1b0e98e7e2.zip
gianfar: fix babbling rx error event bug
Gianfar interrupt handler uses IEVENT_ERR_MASK to check and handle errors. Babbling RX error (IEVENT_BABR) should be included in IEVENT_ERROR_MASK. Otherwise if BABR is raised, it never gets handled nor cleared, and an interrupt storm results. This has been observed to happen on sending a burst of ethernet frames to a gianfar based board. Signed-off-by: Xiaotian Feng <xiaotian.feng@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/gianfar.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/gianfar.h b/drivers/net/gianfar.h
index 0642d52aef5c..cf352961ae9b 100644
--- a/drivers/net/gianfar.h
+++ b/drivers/net/gianfar.h
@@ -259,7 +259,7 @@ extern const char gfar_driver_version[];
(IEVENT_RXC | IEVENT_BSY | IEVENT_EBERR | IEVENT_MSRO | \
IEVENT_BABT | IEVENT_TXC | IEVENT_TXE | IEVENT_LC \
| IEVENT_CRL | IEVENT_XFUN | IEVENT_DPE | IEVENT_PERR \
- | IEVENT_MAG)
+ | IEVENT_MAG | IEVENT_BABR)
#define IMASK_INIT_CLEAR 0x00000000
#define IMASK_BABR 0x80000000