linux/drivers/net
Vladimir Davydov 74a1b1ea8a e1000: fix possible reset_task running after adapter down
On e1000_down(), we should ensure every asynchronous work is canceled
before proceeding. Since the watchdog_task can schedule other works
apart from itself, it should be stopped first, but currently it is
stopped after the reset_task. This can result in the following race
leading to the reset_task running after the module unload:

e1000_down_and_stop():			e1000_watchdog():
----------------------			-----------------

cancel_work_sync(reset_task)
					schedule_work(reset_task)
cancel_delayed_work_sync(watchdog_task)

The patch moves cancel_delayed_work_sync(watchdog_task) at the beginning
of e1000_down_and_stop() thus ensuring the race is impossible.

Cc: Tushar Dave <tushar.n.dave@intel.com>
Cc: Patrick McHardy <kaber@trash.net>
Signed-off-by: Vladimir Davydov <vdavydov@parallels.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2013-11-30 00:02:12 -08:00
..
appletalk
arcnet
bonding bonding: disable arp and enable mii monitoring when bond change to no uses arp mode 2013-11-28 18:20:18 -05:00
caif
can can: flexcan: use correct clock as base for bit rate calculation 2013-11-26 15:39:47 +01:00
cris
dsa
ethernet e1000: fix possible reset_task running after adapter down 2013-11-30 00:02:12 -08:00
fddi
hamradio
hippi
hyperv
ieee802154
irda Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-11-15 16:47:22 -08:00
phy phy: Add Vitesse 8514 phy ID 2013-11-28 18:30:54 -05:00
plip
ppp net: rework recvmsg handler msg_name and msg_namelen logic 2013-11-20 21:52:30 -05:00
slip
team team: fix master carrier set when user linkup is enabled 2013-11-29 16:34:33 -05:00
usb r8152: fix incorrect type in assignment 2013-11-20 15:09:42 -05:00
vmxnet3
wan
wimax
wireless Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem 2013-11-21 10:26:17 -05:00
xen-netback xen-netback: include definition of csum_ipv6_magic 2013-11-28 18:38:06 -05:00
dummy.c
eql.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macvlan.c
macvtap.c macvtap: Do not double-count received packets 2013-11-29 16:07:08 -05:00
Makefile
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tun.c
veth.c
virtio_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-11-19 15:50:47 -08:00
vxlan.c
xen-netfront.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-11-19 15:50:47 -08:00