sfc: Work-around flush timeout when flushes have completed
authorDaniel Pieczko <dpieczko@solarflare.com>
Tue, 2 Oct 2012 12:36:18 +0000 (13:36 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Mar 2013 19:11:55 +0000 (12:11 -0700)
commite0992b773dfaea1798272b1c4f6d4c4e90e9da84
treea221aee8df9c65a8a5959409b83faa5b90e5b9bf
parent6099070d08794324beda3cf25651401fd8261dd1
sfc: Work-around flush timeout when flushes have completed

[ Upstream commit 525d9e824018cd7cc8d8d44832ddcd363abfe6e1 ]

We sometimes hit a "failed to flush" timeout on some TX queues, but the
flushes have completed and the flush completion events seem to go missing.
In this case, we can check the TX_DESC_PTR_TBL register and drain the
queues if the flushes had finished.

[bwh: Minor fixes to coding style]
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/sfc/net_driver.h
drivers/net/ethernet/sfc/nic.c