From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH] net: arc_emac: restart stalled EMAC Date: Mon, 18 Dec 2017 14:53:22 -0500 (EST) Message-ID: <20171218.145322.67839475851416152.davem@davemloft.net> References: <1513336371-21325-1-git-send-email-al.kochet@gmail.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, f.fainelli@gmail.com, edumazet@google.com To: al.kochet@gmail.com Return-path: In-Reply-To: <1513336371-21325-1-git-send-email-al.kochet@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org From: Alexander Kochetkov Date: Fri, 15 Dec 2017 14:12:51 +0300 > Under certain conditions EMAC stop reception of incoming packets and > continuously increment R_MISS register instead of saving data into > provided buffer. The commit implement workaround for such situation. > Then the stall detected EMAC will be restarted. > > On device the stall looks like the device lost it's dynamic IP address. > ifconfig shows that interface error counter rapidly increments. > At the same time on the DHCP server we can see continues DHCP-requests > from device. > > In real network stalls happen really rarely. To make them frequent the > broadcast storm[1] should be simulated. For simulation it is necessary > to make following connections: > 1. connect radxarock to 1st port of switch > 2. connect some PC to 2nd port of switch > 3. connect two other free ports together using standard ethernet cable, > in order to make a switching loop. > > After that, is necessary to make a broadcast storm. For example, running on > PC 'ping' to some IP address triggers ARP-request storm. After some > time (~10sec), EMAC on rk3188 will stall. > > Observed and tested on rk3188 radxarock. > > [1] https://en.wikipedia.org/wiki/Broadcast_radiation > > Signed-off-by: Alexander Kochetkov This patch doesn't apply cleanly to any of my trees.