linux/drivers/net
Russell King 8ce5624f5b net: fec: only restart or stop the device if it is present and running
Avoid calling fec_restart() or fec_stop() while the device is down
or not present (iow suspended.)

Although the ndo_timeout method will only be called if the device is
present and running, we defer this to a work queue.  The work queue
can run independently, and so needs to repeat these checks to ensure
that a restart doesn't occur after the device has been taken down or
detached for suspend.  In this case, we call fec_restart() in the
resume path, so nothing is lost.

For fec_set_features, we add a call to fec_restart() in fec_enet_open()
to ensure that the hardware is appropriate programmed when the interface
is opened.  fec_set_features() call should not occur while we're
suspended, so we don't have to worry about that case.

The adjust_link needs similar treatment - this also is called from a
work queue, which may be run independently after we have taken the
device down and detached it.  In this case, we just mark the link
down and take no further action.  We will reset things appropriately
once the device is up and running again, at which point we will receive
another adjust_link callback.

Acked-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-07-08 20:02:58 -07:00
..
appletalk
arcnet
bonding bonding: remove no longer relevant vlan warnings 2014-07-07 21:31:54 -07:00
caif
can slcan: Port write_wakeup deadlock fix from slip 2014-06-16 21:29:13 -07:00
cris
dsa
ethernet net: fec: only restart or stop the device if it is present and running 2014-07-08 20:02:58 -07:00
fddi defxx: Fix issues with debug printk calls 2014-07-08 15:31:52 -07:00
hamradio
hippi
hyperv drivers/net/hyperv/netvsc.c: remove unnecessary null test before kfree 2014-07-02 18:22:25 -07:00
ieee802154 at86rf230: add new author 2014-07-07 21:29:25 -07:00
irda drivers/net/irda/kingsun-sir.c: remove null test before kfree 2014-06-19 21:26:06 -07:00
phy ptp: Classify ptp over ip over vlan packets 2014-07-07 16:57:18 -07:00
plip
ppp inetpeer: get rid of ip_id_count 2014-06-02 11:00:41 -07:00
slip slip: Fix deadlock in write_wakeup 2014-06-16 21:29:12 -07:00
team Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-03 23:32:12 -07:00
usb r8152: increase the tx timeout 2014-07-08 11:31:45 -07:00
vmxnet3 vmxnet3: adjust ring sizes when interface is down 2014-06-16 21:26:40 -07:00
wan farsync: Fix confusion about DMA address and buffer offset types 2014-06-11 00:45:29 -07:00
wimax net: wimax: i2400m: control.c: Cleaning up conjunction always evaluates to false 2014-06-11 00:13:16 -07:00
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2014-07-08 14:20:31 -07:00
xen-netback xen-netback: bookkeep number of active queues in our own module 2014-06-25 15:59:47 -07:00
dummy.c
eql.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macvlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-11 16:02:55 -07:00
macvtap.c
Makefile
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c net: use ethtool_cmd_speed_set helper to set ethtool speed value 2014-06-06 16:24:07 -07:00
rionet.c
sb1000.c
Space.c
sungem_phy.c
tun.c net-tun: restructure tun_do_read for better sleep/wakeup efficiency 2014-05-21 15:50:28 -04:00
veth.c veth: add netpoll support 2014-06-25 16:35:37 -07:00
virtio_net.c
vxlan.c vxlan: Call udp_flow_src_port 2014-07-07 21:14:21 -07:00
xen-netfront.c xen-netfront: recreate queues correctly when reconnecting 2014-06-21 16:14:26 -07:00