From 4063469971af9611648382559c2d399cce03ae67 Mon Sep 17 00:00:00 2001 From: Sergei Shtylyov Date: Wed, 4 Jan 2017 15:10:21 +0300 Subject: [PATCH] sh_eth: handle only enabled E-MAC interrupts The driver should only handle the enabled E-MAC interrupts, like it does for the E-DMAC interrupts since commit 3893b27345ac ("sh_eth: workaround for spurious ECI interrupt"), so mask ECSR with ECSIPR when reading it in sh_eth_error(). Signed-off-by: Sergei Shtylyov Signed-off-by: David S. Miller --- drivers/net/ethernet/renesas/sh_eth.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c index f341c1bc7001..c89569509a47 100644 --- a/drivers/net/ethernet/renesas/sh_eth.c +++ b/drivers/net/ethernet/renesas/sh_eth.c @@ -1535,7 +1535,8 @@ static void sh_eth_error(struct net_device *ndev, u32 intr_status) u32 mask; if (intr_status & EESR_ECI) { - felic_stat = sh_eth_read(ndev, ECSR); + felic_stat = sh_eth_read(ndev, ECSR) & + sh_eth_read(ndev, ECSIPR); sh_eth_write(ndev, felic_stat, ECSR); /* clear int */ if (felic_stat & ECSR_ICD) ndev->stats.tx_carrier_errors++; -- 2.20.1