From: Steve Hodgson Date: Tue, 1 Jun 2010 11:17:51 +0000 (+0000) Subject: sfc: Workaround flush failures on Falcon B0 X-Git-Tag: v2.6.36-rc1~571^2~703 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fd371e32fe53f137a0f940d61772bda92180007b;p=pandora-kernel.git sfc: Workaround flush failures on Falcon B0 Under certain conditions a PHY may backpressure Falcon B0 in such a way that flushes timeout. In normal circumstances the phy poller would fix the PHY, and the flush could complete. But efx_nic_flush_queues() is always called after efx_stop_all(), so the poller has been stopped. Even if this weren't the case, how long would we have to wait for the poller to fix this? And several callers of efx_nic_flush_queues() are about to reset the device anyway - so we don't need to do anything. Work around this bug by scheduling a reset. Ensure that the MAC is never rewired back into the datapath before the reset runs (we already ignore all rx events anyway). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller --- Reading git-diff-tree failed