aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/net_driver.h
diff options
context:
space:
mode:
authorDaniel Pieczko <dpieczko@solarflare.com>2012-10-02 08:36:18 -0400
committerBen Hutchings <bhutchings@solarflare.com>2012-11-30 21:37:27 -0500
commit525d9e824018cd7cc8d8d44832ddcd363abfe6e1 (patch)
treecedb42187455981ebd1cb05a9bba0a836b5a94eb /drivers/net/ethernet/sfc/net_driver.h
parent876be083b669c43203c0ee8709d749896e1d8d60 (diff)
sfc: Work-around flush timeout when flushes have completed
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>
Diffstat (limited to 'drivers/net/ethernet/sfc/net_driver.h')
-rw-r--r--drivers/net/ethernet/sfc/net_driver.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/sfc/net_driver.h b/drivers/net/ethernet/sfc/net_driver.h
index 1014556df0e7..2d756c1d7142 100644
--- a/drivers/net/ethernet/sfc/net_driver.h
+++ b/drivers/net/ethernet/sfc/net_driver.h
@@ -200,6 +200,7 @@ struct efx_tx_queue {
200 /* Members shared between paths and sometimes updated */ 200 /* Members shared between paths and sometimes updated */
201 unsigned int empty_read_count ____cacheline_aligned_in_smp; 201 unsigned int empty_read_count ____cacheline_aligned_in_smp;
202#define EFX_EMPTY_COUNT_VALID 0x80000000 202#define EFX_EMPTY_COUNT_VALID 0x80000000
203 atomic_t flush_outstanding;
203}; 204};
204 205
205/** 206/**