linux/drivers/net
Vladislav Zolotarov 87b7ba3d24 bnx2x: Prevent restarting Tx during bnx2x_nic_unload
Tx queues were stopped before  bp->state was changed to a value different 
from BNX2X_STATE_OPEN, which allowed the bnx2x_tx_int() called from the 
NAPI context to re-enable it. This then allowed the netdev->ndo_start_xmit() 
to be called in the middle of the function reset and rings freeing. 

This patch changes bp->state to a value different 
from BNX2X_STATE_OPEN BEFORE disabling the Tx queues in order to restore the
broken protection against the above race in the bnx2x_tx_int().

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-08-02 01:35:43 -07:00
..
appletalk
arcnet
arm
atl1c atl1c: do vlan cleanup 2011-07-21 13:47:54 -07:00
atl1e atl1e: do vlan cleanup 2011-07-21 13:47:54 -07:00
atlx atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
benet be2net: request native mode each time the card is reset 2011-07-21 21:32:54 -07:00
bna bnad: remove duplicated #include 2011-07-23 20:01:15 -07:00
bnx2x bnx2x: Prevent restarting Tx during bnx2x_nic_unload 2011-08-02 01:35:43 -07:00
bonding bonding: reduce noise during init 2011-07-27 22:39:30 -07:00
caif
can Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
chelsio chelsio: do vlan cleanup 2011-07-21 13:47:54 -07:00
cris
cxgb3 atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
cxgb4 atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
cxgb4vf cxgb4vf: do vlan cleanup 2011-07-21 13:47:54 -07:00
e1000 e1000: always call e1000_check_for_link() on e1000_ce4100 MACs. 2011-07-21 22:53:41 -07:00
e1000e e1000e: use GFP_KERNEL allocations at init time 2011-07-12 22:07:56 -07:00
ehea ehea: do vlan cleanup 2011-07-21 13:47:53 -07:00
enic enic: do vlan cleanup 2011-07-21 13:47:55 -07:00
fs_enet Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
hamradio atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
ibm_newemac
igb igb: remove duplicated #include 2011-07-23 20:01:15 -07:00
igbvf igbvf: do vlan cleanup 2011-07-21 13:47:55 -07:00
irda Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
ixgb
ixgbe ixgbe: convert to ndo_fix_features 2011-07-21 22:57:38 -07:00
ixgbevf ixgbevf: do vlan cleanup 2011-07-21 13:47:56 -07:00
ixp2000
mlx4 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2011-07-22 14:50:12 -07:00
myri10ge
netxen netxen: add fw version compatibility check 2011-07-21 21:32:54 -07:00
octeon
pch_gbe
pcmcia
phy atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
qlcnic qlcnic: remove usage of vlan_group_get_device 2011-07-21 13:47:57 -07:00
qlge qlge: remove duplicated #include 2011-07-23 20:01:15 -07:00
sfc Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc-next 2011-07-14 08:43:32 -07:00
skfp
stmmac stmmac: unify MAC and PHY configuration parameters (V2) 2011-07-21 15:29:16 -07:00
tile
tokenring
tulip Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-07-21 13:38:42 -07:00
usb ASIX: Use only 11 bits of header for data size 2011-07-27 22:39:31 -07:00
vmxnet3 vmxnet3: fix publicity of NETIF_F_HIGHDMA 2011-07-21 20:39:47 -07:00
vxge vxge: do vlan cleanup 2011-07-21 13:47:57 -07:00
wan net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared 2011-07-27 22:39:30 -07:00
wimax atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2011-07-28 05:58:19 -07:00
xen-netback
3c59x.c
3c501.c
3c501.h
3c503.c
3c503.h
3c505.c
3c505.h
3c507.c
3c509.c
3c515.c
3c523.c
3c523.h
3c527.c
3c527.h
7990.c
7990.h
8139cp.c 8139cp: convert to new VLAN model. 2011-07-15 08:08:26 -07:00
8139too.c
8390.c
8390.h
8390p.c
82596.c
a2065.c
a2065.h
ac3200.c
acenic.c acenic: use netdev_alloc_skb_ip_align 2011-07-25 16:16:00 -07:00
acenic.h acenic: use netdev_alloc_skb_ip_align 2011-07-25 16:16:00 -07:00
amd8111e.c amd8111e: do vlan cleanup 2011-07-21 13:47:54 -07:00
amd8111e.h amd8111e: do vlan cleanup 2011-07-21 13:47:54 -07:00
apne.c
ariadne.c
ariadne.h
at1700.c
atarilance.c
atp.c
atp.h
au1000_eth.c
au1000_eth.h
ax88796.c
b44.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
b44.h
bcm63xx_enet.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
bcm63xx_enet.h
bfin_mac.c
bfin_mac.h
bmac.c
bmac.h
bnx2_fw.h
bnx2.c bnx2: Fix endian swapping on firmware version string 2011-07-21 12:38:32 -07:00
bnx2.h bnx2: Read iSCSI config from shared memory during ->probe() 2011-07-14 08:46:08 -07:00
bsd_comp.c treewide: fix potentially dangerous trailing ';' in #defined values/expressions 2011-07-21 14:10:00 +02:00
cassini.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
cassini.h
cnic_defs.h
cnic_if.h cnic: Add VLAN ID as a parameter during netevent upcall 2011-07-21 12:38:32 -07:00
cnic.c cnic: Add VLAN ID as a parameter during netevent upcall 2011-07-21 12:38:32 -07:00
cnic.h
cpmac.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
cs89x0.c
cs89x0.h
davinci_cpdma.c
davinci_cpdma.h
davinci_emac.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
davinci_mdio.c
de600.c
de600.h
de620.c
de620.h
declance.c
defxx.c
defxx.h
depca.c
depca.h
dl2k.c
dl2k.h
dm9000.c
dm9000.h
dnet.c
dnet.h
dummy.c
e100.c
e2100.c
eepro.c
eexpress.c
eexpress.h
enc28j60_hw.h
enc28j60.c
epic100.c
eql.c
es3210.c
eth16i.c
ethoc.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
ewrk3.c
ewrk3.h
fealnx.c
fec_mpc52xx_phy.c
fec_mpc52xx.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
fec_mpc52xx.h
fec.c
fec.h
forcedeth.c forcedeth: fix vlans 2011-07-27 22:39:30 -07:00
fsl_pq_mdio.c
fsl_pq_mdio.h
ftgmac100.c
ftgmac100.h
ftmac100.c
ftmac100.h
gianfar_ethtool.c gianfar: do vlan cleanup 2011-07-21 13:47:55 -07:00
gianfar_ptp.c
gianfar_sysfs.c
gianfar.c gianfar: fix bug caused by 87c288c6e9 2011-07-27 22:39:30 -07:00
gianfar.h gianfar: do vlan cleanup 2011-07-21 13:47:55 -07:00
greth.c
greth.h
hamachi.c
hp100.c
hp100.h
hp-plus.c
hp.c
hplance.c
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
ibmveth.h
ifb.c net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared 2011-07-27 22:39:30 -07:00
ioc3-eth.c
ipg.c
ipg.h
iseries_veth.c
jazzsonic.c
jme.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-07-21 20:21:27 -07:00
jme.h jme: do vlan cleanup 2011-07-21 13:47:55 -07:00
Kconfig 68360enet: Remove Kconfig/Makefile references 2011-07-16 12:35:27 -07:00
korina.c
ks8842.c
ks8851_mll.c
ks8851.c
ks8851.h
ksz884x.c
lance.c
lantiq_etop.c
lasi_82596.c
lib8390.c
lib82596.c
LICENSE.SRC
ll_temac_main.c
ll_temac_mdio.c
ll_temac.h
lne390.c
loopback.c
lp486e.c
mac89x0.c
mac8390.c
macb.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
macb.h
mace.c
mace.h
macmace.c
macsonic.c
macvlan.c net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared 2011-07-27 22:39:30 -07:00
macvtap.c
Makefile Fix cdc-phonet build 2011-07-27 22:39:31 -07:00
mdio.c
meth.c
meth.h
mii.c
mipsnet.c
mv643xx_eth.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
mvme147.c
natsemi.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
ne2.c
ne2k-pci.c
ne3210.c
ne-h8300.c
ne.c
netconsole.c
netx-eth.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
niu.c drivers/net/niu.c: adjust array index 2011-08-01 02:27:21 -07:00
niu.h
ns83820.c ns83820: do vlan cleanup 2011-07-21 13:47:56 -07:00
pasemi_mac_ethtool.c
pasemi_mac.c
pasemi_mac.h
pci-skeleton.c
pcnet32.c
plip.c net: Push protocol type directly down to header_ops->cache() 2011-07-13 02:29:59 -07:00
ppp_async.c
ppp_deflate.c
ppp_generic.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c
pppoe.c pppoe: Must flush connections when MAC address changes too. 2011-07-18 11:48:28 -07:00
pppox.c
pptp.c
ps3_gelic_net.c net/ps3: Fix gelic RX DMA restart 2011-07-14 16:03:29 -07:00
ps3_gelic_net.h net/ps3: Fix gelic RX DMA restart 2011-07-14 16:03:29 -07:00
ps3_gelic_wireless.c
ps3_gelic_wireless.h
pxa168_eth.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
qla3xxx.c
qla3xxx.h
r6040.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-07-21 13:38:42 -07:00
r8169.c r8169: Add support for D-Link 530T rev C1 (Kernel Bug 38862) 2011-07-28 18:15:28 -07:00
rionet.c
rrunner.c
rrunner.h
s2io-regs.h
s2io.c s2io: do vlan cleanup 2011-07-21 13:47:55 -07:00
s2io.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
s6gmac.c
sb1000.c
sb1250-mac.c
sc92031.c
seeq8005.c
seeq8005.h
sgiseeq.c
sgiseeq.h
sh_eth.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-07-14 07:56:40 -07:00
sh_eth.h
sis190.c sis190: Rx filter init is needed for MAC address change. 2011-07-28 18:11:51 -07:00
sis900.c
sis900.h
skge.c
skge.h
sky2.c
sky2.h
slhc.c
slip.c slip: remove unused 'line' field from the 'slip' structure 2011-07-19 16:55:42 -07:00
slip.h slip: remove unused 'line' field from the 'slip' structure 2011-07-19 16:55:42 -07:00
smc91x.c
smc91x.h
smc911x.c
smc911x.h
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
smsc911x.c
smsc911x.h
smsc9420.c
smsc9420.h
sni_82596.c
sonic.c
sonic.h
Space.c
spider_net_ethtool.c
spider_net.c spider_net: do not mention dying vlan_hwaccel_receive_skb 2011-07-21 13:47:55 -07:00
spider_net.h
starfire.c starfire: do vlan cleanup 2011-07-21 13:47:56 -07:00
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c
sunbmac.c
sunbmac.h
sundance.c
sungem_phy.c
sungem_phy.h
sungem.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
sungem.h
sunhme.c
sunhme.h
sunlance.c
sunqe.c
sunqe.h
sunvnet.c
sunvnet.h
tc35815.c
tehuti.c tehuti: do vlan cleanup 2011-07-21 13:47:55 -07:00
tehuti.h tehuti: do vlan cleanup 2011-07-21 13:47:55 -07:00
tg3.c tg3: Remove 5719 jumbo frames and TSO blocks 2011-07-27 22:39:32 -07:00
tg3.h tg3: Break larger frags into 4k chunks for 5719 2011-07-27 22:39:32 -07:00
tlan.c
tlan.h
tsi108_eth.c
tsi108_eth.h
tun.c net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared 2011-07-27 22:39:30 -07:00
typhoon.c
typhoon.h
ucc_geth_ethtool.c
ucc_geth.c
ucc_geth.h
veth.c net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared 2011-07-27 22:39:30 -07:00
via-rhine.c
via-velocity.c via-velocity: remove duplicated #include 2011-07-23 20:01:16 -07:00
via-velocity.h via-velocity: do vlan cleanup 2011-07-21 13:47:56 -07:00
virtio_net.c virtio_net: Fix panic in virtnet_remove 2011-07-21 21:29:34 -07:00
wd.c
xen-netfront.c
xilinx_emaclite.c
xtsonic.c
yellowfin.c
znet.c
zorro8390.c