2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-15 00:54:03 +08:00
linux-next/drivers/net
Michael Chan 72bb72b0d9 tg3: Prevent system hang during repeated EEH errors.
The current tg3 code assumes the pci_error_handlers to be always called
in sequence.  In particular, during ->error_detected(), NAPI is disabled
and the device is shutdown.  The device is later reset and NAPI
re-enabled in ->slot_reset() and ->resume().

In EEH, if more than 6 errors are detected in a hour, only
->error_detected() will be called.  This will leave the driver in an
inconsistent state as NAPI is disabled but netif_running state is still
true.  When the device is later closed, we'll try to disable NAPI again
and it will loop forever.

We fix this by closing the device if we encounter any error conditions
during the normal sequence of the pci_error_handlers.

v2: Remove the changes in tg3_io_resume() based on Benjamin Poirier's
    feedback.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Nithin Nayak Sujir <nsujir@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-06-17 16:02:19 -07:00
..
appletalk appletalk: remove "config IPDDP_DECAP" 2013-03-22 10:21:09 -04:00
arcnet drivers/net: use module_pcmcia_driver() in pcmcia drivers 2013-03-15 12:27:33 -07:00
bonding bonding: disallow change of MAC if fail_over_mac enabled 2013-06-07 15:05:51 -07:00
caif caif: CAIF_VIRTIO should depend on HAS_DMA 2013-05-11 16:28:24 -07:00
can net: can: Convert to use devm_ioremap_resource 2013-06-12 02:22:35 -07:00
cris
dsa
ethernet tg3: Prevent system hang during repeated EEH errors. 2013-06-17 16:02:19 -07:00
fddi net/fddi/skfp/skfddi: Use module_pci_driver to register driver 2013-05-22 14:35:05 -07:00
hamradio net: pass info struct via netdevice notifier 2013-05-28 13:11:01 -07:00
hippi net/hippi/rrunner: Use module_pci_driver to register driver 2013-05-22 14:35:05 -07:00
hyperv hyperv: Fix vlan_proto setting in netvsc_recv_callback() 2013-05-31 17:33:40 -07:00
ieee802154 at86rf230: change irq handling to prevent lockups with edge type irq 2013-04-16 16:34:08 -04:00
irda net: irda: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
phy Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-06-05 16:37:30 -07:00
plip net: add ETH_P_802_3_MIN 2013-03-28 01:20:42 -04:00
ppp net: pass info struct via netdevice notifier 2013-05-28 13:11:01 -07:00
slip
team team: remove synchronize_rcu() called during port disable 2013-06-12 03:06:16 -07:00
usb net/usb/kalmia: use %*phC to dump small buffers 2013-05-29 00:35:20 -07:00
vmxnet3 net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
wan net: pass info struct via netdevice notifier 2013-05-28 13:11:01 -07:00
wimax
wireless Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2013-06-11 14:48:32 -04:00
xen-netback xen-netback: split event channels support for Xen backend driver 2013-05-23 18:40:37 -07:00
dummy.c
eql.c
ifb.c net: vlan: announce STAG offload capability in some drivers 2013-04-19 14:46:06 -04:00
Kconfig VXLAN: Fix vxlan stats handling. 2013-03-26 12:27:18 -04:00
LICENSE.SRC
loopback.c
macvlan.c net: pass info struct via netdevice notifier 2013-05-28 13:11:01 -07:00
macvtap.c macvtap: fix uninitialized return value macvtap_ioctl_set_queue() 2013-06-13 01:23:11 -07:00
Makefile
mdio.c
mii.c
netconsole.c net: pass info struct via netdevice notifier 2013-05-28 13:11:01 -07:00
ntb_netdev.c ntb_netdev: remove from list on exit 2013-05-15 10:58:14 -07:00
rionet.c
sb1000.c
Space.c
sungem_phy.c
tun.c tun: Turn tun_flow_init() into void fn 2013-06-12 15:08:14 -07:00
veth.c veth: remove redundant call of dev_alloc_name 2013-06-12 01:21:20 -07:00
virtio_net.c virtio_net: enable napi for all possible queues during open 2013-05-23 00:10:59 -07:00
vxlan.c vxlan: defer vxlan init as late as possible 2013-05-28 23:53:52 -07:00
xen-netfront.c xen-netfront: use skb_partial_csum_set() to simplify the codes 2013-06-11 02:34:36 -07:00