Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

sky2: Receive Overflows not counted

The sky2 driver doesn't count the Receive Overflows because the MAC
interrupt for this event is not set in the MAC's interrupt mask.
The MAC's interrupt mask is set only for Transmit FIFO Underruns.

Fix: The correct setting should be (GM_IS_TX_FF_UR | GM_IS_RX_FF_OR)
Otherwise the Receive Overflow event will not generate any interrupt.
The Receive Overflow interrupt is handled correctly

Signed-off-by: Mirko Lindner <mlindner@marvell.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Mirko Lindner and committed by
David S. Miller
9cfe8b15 d2aa8eec

+1 -1
+1 -1
drivers/net/ethernet/marvell/sky2.h
··· 2074 2074 GM_IS_RX_FF_OR = 1<<1, /* Receive FIFO Overrun */ 2075 2075 GM_IS_RX_COMPL = 1<<0, /* Frame Reception Complete */ 2076 2076 2077 - #define GMAC_DEF_MSK GM_IS_TX_FF_UR 2077 + #define GMAC_DEF_MSK (GM_IS_TX_FF_UR | GM_IS_RX_FF_OR) 2078 2078 }; 2079 2079 2080 2080 /* GMAC_LINK_CTRL 16 bit GMAC Link Control Reg (YUKON only) */