linux/drivers/net/ethernet/sfc
Ben Hutchings 29c69a4882 sfc: Detach net device when stopping queues for reconfiguration
We must only ever stop TX queues when they are full or the net device
is not 'ready' so far as the net core, and specifically the watchdog,
is concerned.  Otherwise, the watchdog may fire *immediately* if no
packets have been added to the queue in the last 5 seconds.

The device is ready if all the following are true:

(a) It has a qdisc
(b) It is marked present
(c) It is running
(d) The link is reported up

(a) and (c) are normally true, and must not be changed by a driver.
(d) is under our control, but fake link changes may disturb userland.
This leaves (b).  We already mark the device absent during reset
and self-test, but we need to do the same during MTU changes and ring
reallocation.  We don't need to do this when the device is brought
down because then (c) is already false.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2013-02-26 15:00:46 +00:00
..
bitfield.h sfc: Add parentheses around use of bitfield macro arguments 2012-10-02 01:58:39 +01:00
efx.c sfc: Detach net device when stopping queues for reconfiguration 2013-02-26 15:00:46 +00:00
efx.h sfc: lock TX queues when calling netif_device_detach() 2012-12-01 02:37:35 +00:00
enum.h sfc: Correct some comments on enum reset_type 2012-07-17 16:12:35 +01:00
ethtool.c sfc: Fix byte order warnings for ethtool RX filter interface 2012-12-01 00:26:06 +00:00
falcon_boards.c sfc: Change state names to be clearer, and comment them 2012-08-24 20:10:18 +01:00
falcon_xmac.c sfc: Fix interface statistics running backward 2012-07-17 16:12:34 +01:00
falcon.c sfc: Really disable flow control while flushing 2012-12-01 00:26:09 +00:00
filter.c sfc: Fix the reported priorities of different filter types 2012-10-02 01:58:42 +01:00
filter.h sfc: Remove EFX_FILTER_FLAG_RX_OVERRIDE_IP 2012-10-02 01:58:41 +01:00
io.h sfc: Remove confusing MMIO functions 2012-12-01 00:26:11 +00:00
Kconfig net: Remove bogus dependencies on INET 2012-11-19 19:13:59 -05:00
Makefile ptp: Enable clock drivers along with associated net/PHY drivers 2012-11-01 11:35:18 -04:00
mcdi_mac.c sfc: Add SR-IOV back-end support for SFC9000 family 2012-02-16 00:25:13 +00:00
mcdi_mon.c sfc: initialize dynamic sysfs attributes for lockdep 2012-07-19 10:48:08 -07:00
mcdi_pcol.h sfc: Add support for IEEE-1588 PTP 2012-09-19 02:54:12 +01:00
mcdi_phy.c sfc: Added support for new ethtool APIs for obtaining module eeprom 2012-05-10 03:10:46 +01:00
mcdi.c sfc: Fix timekeeping in efx_mcdi_poll() 2012-12-01 02:37:36 +00:00
mcdi.h sfc: Fix MCDI structure field lookup 2012-10-02 01:58:40 +01:00
mdio_10g.c sfc: Fix some formatting errors reported by checkpatch 2012-01-05 18:44:49 +00:00
mdio_10g.h
mtd.c sfc: Expose FPGA bitfile partition through MTD 2012-09-19 02:56:24 +01:00
net_driver.h sfc: Fix efx_rx_buf_offset() in the presence of swiotlb 2013-02-26 14:57:16 +00:00
nic.c sfc: Work-around flush timeout when flushes have completed 2012-12-01 02:37:27 +00:00
nic.h sfc: Really disable flow control while flushing 2012-12-01 00:26:09 +00:00
phy.h
ptp.c drivers/net/ethernet/sfc/ptp.c: adjust duplicate test 2013-01-21 15:44:58 -05:00
qt202x_phy.c sfc: Implement module EEPROM access for SFE4002 and SFN4112F 2012-05-10 03:10:54 +01:00
regs.h sfc: Correct MAC filter bitfield definitions 2012-02-16 00:11:31 +00:00
rx.c sfc: Fix efx_rx_buf_offset() in the presence of swiotlb 2013-02-26 14:57:16 +00:00
selftest.c sfc: lock TX queues when calling netif_device_detach() 2012-12-01 02:37:35 +00:00
selftest.h sfc: Run event/IRQ self-test asynchronously when interface is brought up 2012-03-06 18:14:15 +00:00
siena_sriov.c sfc: Remove confusing MMIO functions 2012-12-01 00:26:11 +00:00
siena.c sfc: Correctly initialise reset_method in siena_test_chip() 2012-12-01 01:55:27 +00:00
spi.h sfc: Fix some formatting errors reported by checkpatch 2012-01-05 18:44:49 +00:00
tenxpress.c sfc: Fix some formatting errors reported by checkpatch 2012-01-05 18:44:49 +00:00
tx.c sfc: Add support for IEEE-1588 PTP 2012-09-19 02:54:12 +01:00
txc43128_phy.c sfc: Const-qualify static data as appropriate, partly prompted by checkpatch 2012-01-09 17:08:13 +00:00
vfdi.h sfc: Specify that the VFDI status page has page alignment and size 2012-02-22 20:48:07 +00:00
workarounds.h