aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/net_driver.h
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2012-09-06 11:52:31 -0400
committerBen Hutchings <bhutchings@solarflare.com>2012-11-30 19:26:09 -0500
commitd5e8cc6c946e0857826dcfbb3585068858445bfe (patch)
tree2867bb12190df7cea905afce3a698d41202953b1 /drivers/net/ethernet/sfc/net_driver.h
parent3f978ef36cca9bb10c88a56baec1d9d1cb072b98 (diff)
sfc: Really disable flow control while flushing
Receiving pause frames can block TX queue flushes. Earlier changes work around this by reconfiguring the MAC during flushes for VFs, but during flushes for the PF we would only change the fc_disable counter. Unless the MAC is reconfigured for some other reason during the flush (which I would not expect to happen) this had no effect at all. 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.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/sfc/net_driver.h b/drivers/net/ethernet/sfc/net_driver.h
index 2487f582ab04..1014556df0e7 100644
--- a/drivers/net/ethernet/sfc/net_driver.h
+++ b/drivers/net/ethernet/sfc/net_driver.h
@@ -907,6 +907,7 @@ static inline unsigned int efx_port_num(struct efx_nic *efx)
907 * @remove_port: Free resources allocated by probe_port() 907 * @remove_port: Free resources allocated by probe_port()
908 * @handle_global_event: Handle a "global" event (may be %NULL) 908 * @handle_global_event: Handle a "global" event (may be %NULL)
909 * @prepare_flush: Prepare the hardware for flushing the DMA queues 909 * @prepare_flush: Prepare the hardware for flushing the DMA queues
910 * @finish_flush: Clean up after flushing the DMA queues
910 * @update_stats: Update statistics not provided by event handling 911 * @update_stats: Update statistics not provided by event handling
911 * @start_stats: Start the regular fetching of statistics 912 * @start_stats: Start the regular fetching of statistics
912 * @stop_stats: Stop the regular fetching of statistics 913 * @stop_stats: Stop the regular fetching of statistics
@@ -954,6 +955,7 @@ struct efx_nic_type {
954 void (*remove_port)(struct efx_nic *efx); 955 void (*remove_port)(struct efx_nic *efx);
955 bool (*handle_global_event)(struct efx_channel *channel, efx_qword_t *); 956 bool (*handle_global_event)(struct efx_channel *channel, efx_qword_t *);
956 void (*prepare_flush)(struct efx_nic *efx); 957 void (*prepare_flush)(struct efx_nic *efx);
958 void (*finish_flush)(struct efx_nic *efx);
957 void (*update_stats)(struct efx_nic *efx); 959 void (*update_stats)(struct efx_nic *efx);
958 void (*start_stats)(struct efx_nic *efx); 960 void (*start_stats)(struct efx_nic *efx);
959 void (*stop_stats)(struct efx_nic *efx); 961 void (*stop_stats)(struct efx_nic *efx);