tmp_suning_uos_patched/drivers/net
Brian King 76b9cfccb3 ibmveth: Fix rx pool deactivate oops
This fixes the following oops which can occur when trying to deallocate
receive buffer pools using sysfs with the ibmveth driver.

NIP: d00000000024f954 LR: d00000000024fa58 CTR: c0000000000d7478
REGS: c00000000ffef9f0 TRAP: 0300   Not tainted  (2.6.22-ppc64)
MSR: 8000000000009032 <EE,ME,IR,DR>  CR: 24242442  XER: 00000010
DAR: 00000000000007f0, DSISR: 0000000042000000
TASK = c000000002f91360[2967] 'bash' THREAD: c00000001398c000 CPU: 2
GPR00: 0000000000000000 c00000000ffefc70 d000000000262d30 c00000001c4087a0
GPR04: 00000003000000fe 0000000000000000 000000000000000f c000000000579d80
GPR08: 0000000000365688 c00000001c408998 00000000000007f0 0000000000000000
GPR12: d000000000251e88 c000000000579d80 00000000200957ec 0000000000000000
GPR16: 00000000100b8808 00000000100feb30 0000000000000000 0000000010084828
GPR20: 0000000000000000 000000001014d4d0 0000000000000010 c00000000ffefeb0
GPR24: c00000001c408000 0000000000000000 c00000001c408000 00000000ffffb054
GPR28: 00000000000000fe 0000000000000003 d000000000262700 c00000001c4087a0
NIP [d00000000024f954] .ibmveth_remove_buffer_from_pool+0x38/0x108 [ibmveth]
LR [d00000000024fa58] .ibmveth_rxq_harvest_buffer+0x34/0x78 [ibmveth]
Call Trace:
[c00000000ffefc70] [c0000000000280a8] .dma_iommu_unmap_single+0x14/0x28 (unreliable)
[c00000000ffefd00] [d00000000024fa58] .ibmveth_rxq_harvest_buffer+0x34/0x78 [ibmveth]
[c00000000ffefd80] [d000000000250e40] .ibmveth_poll+0xd8/0x434 [ibmveth]
[c00000000ffefe40] [c00000000032da8c] .net_rx_action+0xdc/0x248
[c00000000ffefef0] [c000000000068b4c] .__do_softirq+0xa8/0x164
[c00000000ffeff90] [c00000000002789c] .call_do_softirq+0x14/0x24
[c00000001398f6f0] [c00000000000c04c] .do_softirq+0x68/0xac
[c00000001398f780] [c000000000068ca0] .irq_exit+0x54/0x6c
[c00000001398f800] [c00000000000c8e4] .do_IRQ+0x170/0x1ac
[c00000001398f890] [c000000000004790] hardware_interrupt_entry+0x18/0x1c
   Exception: 501 at .plpar_hcall_norets+0x24/0x94
    LR = .veth_pool_store+0x15c/0x298 [ibmveth]
[c00000001398fb80] [d000000000250b2c] .veth_pool_store+0x5c/0x298 [ibmveth] (unreliable)
[c00000001398fc30] [c000000000145530] .sysfs_write_file+0x140/0x1d8
[c00000001398fcf0] [c0000000000de89c] .vfs_write+0x120/0x208
[c00000001398fd90] [c0000000000df2c8] .sys_write+0x4c/0x8c
[c00000001398fe30] [c0000000000086ac] syscall_exit+0x0/0x40
Instruction dump:
fba1ffe8 fbe1fff8 789d0022 f8010010 f821ff71 789c0020 1d3d00a8 7b8a1f24
38000000 7c7f1b78 7d291a14 e9690128 <7c0a592a> e8030000 e9690120 80a90100

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-08-07 17:34:13 -04:00
..
appletalk
arcnet
arm [ARM] rpc: silence two section mismatch warnings 2007-07-20 09:39:56 +01:00
atl1 atl1: use spin_trylock_irqsave() 2007-08-07 17:18:32 -04:00
bonding [NET]: ethtool ops are the only way 2007-07-31 14:00:02 -07:00
chelsio
cris
cxgb3 [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
e1000 [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
ehea eHEA: net_poll support 2007-07-24 16:28:42 -04:00
fec_8xx
fs_enet
hamradio bpqether: fix rcu usage 2007-07-31 15:39:40 -07:00
ibm_emac
irda [IrDA]: TOSHIBA_FIR depends on virt_to_bus 2007-07-21 19:08:13 -07:00
ixgb [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
ixp2000
mlx4 mlx4_core: Remove kfree() in mlx4_mr_alloc() error flow 2007-07-28 08:30:45 -07:00
myri10ge myri10ge: Remove nonsensical limit in the tx done routine 2007-07-16 18:28:05 -04:00
netxen [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
pcmcia Fix a potential NULL pointer dereference in mace_interrupt() in drivers/net/pcmcia/nmclan_cs.c 2007-07-30 15:58:54 -04:00
phy Fix error checking in Vitesse IRQ config 2007-07-24 16:28:41 -04:00
skfp Typo fixes errror -> error 2007-07-31 15:39:42 -07:00
tokenring drivers/*: mark variables with uninitialized_var() 2007-07-17 16:23:19 -04:00
tulip DDB5477: remove driver bits of support 2007-07-31 15:39:38 -07:00
usb Fix a potential NULL pointer dereference in write_bulk_callback() in drivers/net/usb/pegasus.c 2007-07-30 15:44:50 -04:00
wan some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
wireless [PATCH] zd1211rw: fix filter for PSPOLL frames 2007-08-06 15:06:03 -04:00
3c59x.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
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 [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
8139too.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
8390.c
8390.h
82596.c netdev: i82596 Ethernet needs <asm/cacheflush.h> 2007-07-24 16:28:42 -04:00
a2065.c
a2065.h
ac3200.c
acenic_firmware.h
acenic.c drivers/net/acenic.c: fix check-after-use 2007-07-24 16:28:41 -04:00
acenic.h
amd8111e.c
amd8111e.h
apne.c
ariadne.c
ariadne.h
at1700.c
atarilance.c
atp.c
atp.h
au1000_eth.c
au1000_eth.h
ax88796.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
b44.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
b44.h
bfin_mac.c Blackfin Ethernet MAC driver: fix bug Report returned -ENOMEM upwards (in case L1/uncached memory alloc fails) 2007-07-25 14:09:54 +08:00
bfin_mac.h Blackfin ethernet driver: on chip ethernet MAC controller driver 2007-07-18 18:38:25 -04:00
bmac.c
bmac.h
bnx2_fw2.h
bnx2_fw.h
bnx2.c [BNX2]: Fix suspend/resume problem. 2007-08-03 20:57:25 -07:00
bnx2.h [BNX2]: Support NVRAM on 5709. 2007-07-18 01:46:46 -07:00
bsd_comp.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
cassini.c
cassini.h
cs89x0.c
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c
defxx.c defxx: Use __maybe_unused rather than a local hack 2007-07-24 16:28:41 -04:00
defxx.h
depca.c
depca.h
dgrs_asstruct.h
dgrs_bcomm.h
dgrs_es4h.h
dgrs_ether.h
dgrs_firmware.c
dgrs_i82596.h
dgrs_plx9060.h
dgrs.c
dgrs.h
dl2k.c
dl2k.h
dm9000.c
dm9000.h
dummy.c
e100.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
e2100.c
eepro100.c [netdrvr] eepro100, ne2k-pci: abort resume if pci_enable_device() fails 2007-07-17 16:17:59 -04:00
eepro.c
eexpress.c
eexpress.h
epic100.c
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c
fec.c setup and detect 2nd phy on MCF5275 in FEC driver 2007-07-30 10:52:09 -07:00
fec.h
forcedeth.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
gianfar_ethtool.c
gianfar_mii.c gfar: Fix modpost warning 2007-07-30 15:48:16 -04:00
gianfar_mii.h gfar: Fix modpost warning 2007-07-30 15:48:16 -04:00
gianfar_sysfs.c
gianfar.c Fix RGMII-ID handling in gianfar 2007-07-18 18:29:37 -04:00
gianfar.h
hamachi.c
hp100.c
hp100.h
hp-plus.c
hp.c
hplance.c
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c ibmveth: Fix rx pool deactivate oops 2007-08-07 17:34:13 -04:00
ibmveth.h ibmveth: Fix rx pool deactivate oops 2007-08-07 17:34:13 -04:00
ifb.c
ioc3-eth.c
isa-skeleton.c
iseries_veth.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
jazzsonic.c
Kconfig [PPPOL2TP]: Add CONFIG_INET Kconfig dependency. 2007-07-31 02:28:29 -07:00
lance.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
lasi_82596.c
lguest_net.c lguest: documentation VII: FIXMEs 2007-07-26 11:35:17 -07:00
lib8390.c lib8390: comment on locking by Alan Cox 2007-07-30 15:47:20 -04:00
lib82596.c
LICENSE.SRC
lne390.c
loopback.c [NET] loopback: Panic if registration fails 2007-07-31 02:28:14 -07:00
lp486e.c
mac89x0.c mac89x0: missing __init 2007-07-20 08:24:49 -07:00
mac8390.c
macb.c macb: Add multicast capability 2007-07-16 18:28:04 -04:00
macb.h macb: Use generic PHY layer 2007-07-16 18:28:04 -04:00
mace.c
mace.h
macmace.c
macsonic.c
macvlan.c [NET]: Add macvlan driver 2007-07-14 18:55:06 -07:00
Makefile Make lguest compile with CONFIG_BLOCK=n and CONFIG_NET=n 2007-07-29 17:37:45 -07:00
meth.c
meth.h
mii.c
mipsnet.c
mipsnet.h
mv643xx_eth.c
mv643xx_eth.h
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c [netdrvr] natsemi: Fix device removal bug 2007-07-17 16:17:59 -04:00
ne2.c
ne2k-pci.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
ne3210.c
ne-h8300.c
ne.c
netconsole.c
netx-eth.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c NI5010: Handle multicast frames. 2007-07-18 18:29:38 -04:00
ni5010.h
ns83820.c NS83820: Handle multicast frames. 2007-07-18 18:29:37 -04:00
pasemi_mac.c
pasemi_mac.h
pci-skeleton.c
pcnet32.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
plip.c
ppp_async.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
ppp_deflate.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
ppp_generic.c unregister_chrdev(): ignore the return value 2007-07-19 10:04:43 -07:00
ppp_mppe.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
ppp_mppe.h
ppp_synctty.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
pppoe.c [PPPOE]: Improve hashing function in hash_item(). 2007-07-31 13:47:57 -07:00
pppol2tp.c misannotation in pppol2tp 2007-07-26 11:11:57 -07:00
pppox.c [PPPoX/E]: return ENOTTY on unknown ioctl requests 2007-07-31 02:28:22 -07:00
ps3_gelic_net.c ps3: reduce allocation size of rx skb buffers 2007-07-24 16:28:41 -04:00
ps3_gelic_net.h ps3: reduce allocation size of rx skb buffers 2007-07-24 16:28:41 -04:00
qla3xxx.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
qla3xxx.h
r8169.c Merge branch 'r8169-for-jeff-20070806' of git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6 into upstream-fixes 2007-08-07 17:28:23 -04:00
rionet.c
rrunner.c
rrunner.h
s2io-regs.h S2io: Mask spurious interrupts 2007-07-30 15:56:04 -04:00
s2io.c fix s2io regression 2007-08-03 15:10:44 -07:00
s2io.h S2IO: Checking for the return value of pci map function 2007-07-30 15:56:04 -04:00
saa9730.c SAA9730: Handle multicast frames. 2007-07-18 18:29:38 -04:00
saa9730.h
sb1000.c
sb1250-mac.c
sc92031.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
seeq8005.c
seeq8005.h
sgiseeq.c
sgiseeq.h
shaper.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
sis190.c sis190 check for ISA bridge on SiS966 2007-08-07 17:18:32 -04:00
sis900.c
sis900.h
skge.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
skge.h
sky2.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
sky2.h
slhc.c
slip.c
slip.h
smc91x.c
smc91x.h net: smc91x: Build fixes for general sh boards. 2007-08-07 17:18:31 -04:00
smc911x.c
smc911x.h
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
sni_82596.c
sonic.c
sonic.h
Space.c more ACSI removal 2007-07-16 15:02:47 +02:00
spider_net_ethtool.c
spider_net.c
spider_net.h
starfire_firmware.h
starfire_firmware.pl
starfire.c
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c
sunbmac.c
sunbmac.h
sundance.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
sungem_phy.c
sungem_phy.h
sungem.c
sungem.h
sunhme.c
sunhme.h
sunlance.c [SUNLANCE]: Fix sparc32 crashes by using of_*() interfaces. 2007-07-30 18:23:39 -07:00
sunqe.c
sunqe.h
sunvnet.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
sunvnet.h [SPARC64]: Add proper multicast support to VNET driver. 2007-07-20 17:14:30 -07:00
tc35815.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
tg3.c [TG3]: Fix suspend/resume problem. 2007-08-03 20:56:54 -07:00
tg3.h [TG3]: Fix msi issue with kexec/kdump. 2007-07-18 21:49:10 -07:00
tlan.c
tlan.h
tsi108_eth.c
tsi108_eth.h
tun.c
typhoon-firmware.h
typhoon.c
typhoon.h
ucc_geth_ethtool.c ucc_geth: remove get_perm_addr from ucc_geth_ethtool.c 2007-08-03 16:08:15 +08:00
ucc_geth_mii.c ucc_geth: fix section mismatch 2007-08-03 16:07:58 +08:00
ucc_geth_mii.h
ucc_geth.c ucc_geth: add support to netif message level 2007-07-24 16:28:38 -04:00
ucc_geth.h ucc_geth: add ethtool support 2007-07-24 16:28:38 -04:00
via-rhine.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
via-velocity.c in-string typos of "error" 2007-07-31 15:39:40 -07:00
via-velocity.h
wd.c
xen-netfront.c xen: add virtual network device driver 2007-07-18 08:47:45 -07:00
yellowfin.c
znet.c
zorro8390.c