Commit 18a36c1a authored by Xiaotian Feng's avatar Xiaotian Feng Committed by David S. Miller

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: default avatarXiaotian Feng <xiaotian.feng@windriver.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e65fcfd6
...@@ -259,7 +259,7 @@ extern const char gfar_driver_version[]; ...@@ -259,7 +259,7 @@ extern const char gfar_driver_version[];
(IEVENT_RXC | IEVENT_BSY | IEVENT_EBERR | IEVENT_MSRO | \ (IEVENT_RXC | IEVENT_BSY | IEVENT_EBERR | IEVENT_MSRO | \
IEVENT_BABT | IEVENT_TXC | IEVENT_TXE | IEVENT_LC \ IEVENT_BABT | IEVENT_TXC | IEVENT_TXE | IEVENT_LC \
| IEVENT_CRL | IEVENT_XFUN | IEVENT_DPE | IEVENT_PERR \ | IEVENT_CRL | IEVENT_XFUN | IEVENT_DPE | IEVENT_PERR \
| IEVENT_MAG) | IEVENT_MAG | IEVENT_BABR)
#define IMASK_INIT_CLEAR 0x00000000 #define IMASK_INIT_CLEAR 0x00000000
#define IMASK_BABR 0x80000000 #define IMASK_BABR 0x80000000
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment