linux/drivers/net
Russell King 8cfd9e923b [ARM] RiscPC: Fix etherh oops
The 8390 driver was structured by Al Viro to allow the flexibility
required by platforms.  lib8390.c contains the core code which drivers
explicitly include:
- 8390.c includes lib8390.c to provide the standard ISA based driver.
- etherh.c includes it with the accessors defined for RiscPC platforms,
  where it is addressed via the MMIO accessors with a device dependent
  register spacing.

Other platform drivers do something similar.

However, b9a9b4b caused the kernel to contain not only the etherh
private build of lib8390 (included in etherh.c) but also lib8390.c
itself, and referred the new net_device_ops methods to the ISA version.
The result of this is is not pretty:

Unable to handle kernel paging request at virtual address 12032030
pgd = c8330000
[12032030] *pgd=00000000
Internal error: Oops: 18331805 [#1]
Modules linked in: ipv6
CPU: 0    Not tainted  (2.6.29-rc3 #167)
PC is at do_set_multicast_list+0xd0/0x190
LR is at bitrev32+0x28/0x34
pc : [<c017aab4>]    lr : [<c0139120>]    psr: a0000093
sp : c8321d9c  ip : c8321d84  fp : c8321dbc
r10: c80c6800  r9 : 00000000  r8 : c80c6b60
r7 : c80c6b80  r6 : cc80c800  r5 : c80c6800  r4 : 00000000
r3 : cc80c80c  r2 : 00000004  r1 : 00000007  r0 : e0000000
Flags: NzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
...

Fix up b9a9b4b by making etherh's net_device_ops refer to the internal
lib8390 functions, and remove the build of the ISA 8390.c driver.

Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-02-22 12:40:06 +00:00
..
appletalk appletalk: convert ipddp to net_device_ops 2009-01-07 17:22:19 -08:00
arcnet
arm [ARM] RiscPC: Fix etherh oops 2009-02-22 12:40:06 +00:00
atl1e
atlx
bonding bonding: use net_device_ops 2009-01-06 10:41:56 -08:00
can
chelsio
cris
cxgb3 cxgb3: Fix lro switch 2009-02-04 16:31:39 -08:00
e1000 e1000: Fix PCI enable to honor the need_ioport flag 2009-02-03 15:18:01 -08:00
e1000e e1000e: workaround hw errata 2009-01-26 12:16:26 -08:00
ehea powerpc: Cleanup from l64 to ll64 change: drivers/net 2009-01-13 14:48:00 +11:00
enic netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
fs_enet powerpc/fs_enet: Add missing irq free in error path. 2009-01-14 20:43:43 -08:00
hamradio drivers/net/hamradio/6pack.c: move a dereference below a NULL test 2009-01-11 00:06:34 -08:00
ibm_newemac net: variables reach -1, but 0 tested 2009-02-02 21:39:02 -08:00
igb igb: fix link reporting when using sgmii 2009-01-31 00:53:18 -08:00
irda IRDA: cnt is off by 1 2009-02-12 16:42:31 -08:00
ixgb
ixgbe ixgbe: Fix usage of netif_*_all_queues() with netif_carrier_{off|on}() 2009-01-19 16:55:03 -08:00
ixp2000
mlx4 mlx4_core: Fix min() warning 2009-01-15 20:43:56 -08:00
myri10ge myri10ge: don't forget pci_disable_device() 2009-01-20 14:41:18 -08:00
netxen netxen: fix compile waring "label ‘set_32_bit_mask’ defined but not used" on IA64 platform 2009-02-12 16:57:12 -08:00
pcmcia pcnet_cs: Fix misuse of the equality operator. 2009-02-03 15:14:05 -08:00
phy mdio-gpio: Add mdc pin direction initialization 2009-02-10 17:11:10 -08:00
qlge qlge: bugfix: Add missing rx buf clean index on early exit. 2009-02-12 16:38:34 -08:00
sfc sfc: Replace stats_enabled flag with a disable count 2009-01-30 14:06:33 -08:00
skfp drivers/net/skfp: if !capable(CAP_NET_ADMIN): inverted logic 2009-01-29 17:32:20 -08:00
tokenring trivial: fix then -> than typos in comments and documentation 2009-01-06 11:28:06 +01:00
tulip de2104x: force correct order when writing to rx ring 2009-02-08 17:50:34 -08:00
usb hso: add new device id's 2009-02-03 15:13:26 -08:00
wan WAN: Fix NAPI interface in IXP4xx HSS driver. 2009-01-12 21:18:32 -08:00
wimax wimax: fix build issue when debugfs is disabled 2009-01-29 17:18:31 -08:00
wireless iwlwifi: fix suspend/resume and its usage of pci saved state 2009-02-11 11:27:21 -05:00
3c59x.c 3c59x: Use device_set_wakeup_enable 2009-01-11 00:06:32 -08:00
3c501.c
3c501.h
3c503.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
3c503.h
3c505.c 3c505: do not set pcb->data.raw beyond its size 2009-02-12 16:52:31 -08:00
3c505.h
3c507.c
3c509.c 3c509: Fix resume from hibernation for PnP mode. 2009-02-06 22:04:08 -08:00
3c515.c
3c523.c
3c523.h
3c527.c
3c527.h
7990.c
7990.h
8139cp.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
8139too.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
8390.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
8390.h
8390p.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
82596.c
a2065.c
a2065.h
ac3200.c
acenic.c netdev: missing validate_address hooks 2009-01-11 00:06:42 -08:00
acenic.h
amd8111e.c amd8111e: convert to net_device_ops 2009-01-07 18:09:58 -08:00
amd8111e.h
apne.c
ariadne.c
ariadne.h
at1700.c
atarilance.c
atp.c atp: convert to net_device_ops 2009-01-07 18:10:24 -08:00
atp.h
au1000_eth.c
au1000_eth.h
ax88796.c ax88796: start_xmit fix using net_device_ops 2009-01-14 21:05:55 -08:00
b44.c b44: GFP_DMA skb should not escape from driver 2009-01-15 15:29:35 -08:00
b44.h b44: GFP_DMA skb should not escape from driver 2009-01-15 15:29:35 -08:00
bfin_mac.c
bfin_mac.h
bmac.c
bmac.h
bnx2_fw2.h bnx2: Update 5709 firmware. 2009-02-12 16:53:48 -08:00
bnx2_fw.h bnx2: Update 5706/5708 firmware. 2009-02-12 16:53:22 -08:00
bnx2.c bnx2: Update version to 1.9.2 and copyright. 2009-02-12 16:54:48 -08:00
bnx2.h bnx2: Update version to 1.9.2 and copyright. 2009-02-12 16:54:48 -08:00
bnx2x_fw_defs.h
bnx2x_hsi.h
bnx2x_init_values.h
bnx2x_init.h
bnx2x_link.c bnx2x: Version update 2009-01-19 16:20:15 -08:00
bnx2x_link.h
bnx2x_main.c bnx2x: tx_has_work should not wait for FW 2009-01-26 12:36:42 -08:00
bnx2x_reg.h bnx2x: Version update 2009-01-19 16:20:15 -08:00
bnx2x.h bnx2x: Version update 2009-01-19 16:20:15 -08:00
bsd_comp.c
cassini.c cassini/sungem: limit reaches -1, but 0 tested 2009-02-02 23:19:50 -08:00
cassini.h
cpmac.c
cs89x0.c
cs89x0.h
de600.c de600: update to net_device_ops 2009-01-07 17:34:36 -08:00
de600.h
de620.c de600: update to net_device_ops 2009-01-07 17:34:36 -08:00
de620.h
declance.c
defxx.c
defxx.h
depca.c
depca.h
dl2k.c
dl2k.h
dm9000.c
dm9000.h
dummy.c
e100.c firmware: convert e100 driver to request_firmware() 2009-01-07 12:59:17 -08:00
e2100.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
eepro.c
eexpress.c
eexpress.h
enc28j60_hw.h
enc28j60.c enc28j60: update to net_device_ops 2009-01-07 17:30:09 -08:00
epic100.c epic100: update to net_device_ops 2009-01-07 17:27:39 -08:00
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c fealnx: update to net_device_ops 2009-01-07 17:57:47 -08:00
fec_mpc52xx_phy.c
fec_mpc52xx.c
fec_mpc52xx.h
fec.c m68knommu: correct the mii calculations for 532x ColdFire FEC 2009-01-27 16:42:03 +10:00
fec.h
forcedeth.c forcedeth: napi schedule lock fix 2009-01-11 00:11:28 -08:00
gianfar_ethtool.c
gianfar_mii.c gianfar: Fix Wake-on-LAN support 2009-01-29 17:31:13 -08:00
gianfar_mii.h
gianfar_sysfs.c
gianfar.c gianfar: Fix boot hangs while bringing up gianfar ethernet 2009-02-09 14:59:30 -08:00
gianfar.h gianfar: Fix BD_LENGTH_MASK definition 2009-02-04 16:37:40 -08:00
hamachi.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
hp100.c hp100: update to net_device_ops 2009-01-07 18:13:49 -08:00
hp100.h
hp-plus.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
hp.c
hplance.c
hplance.h
hydra.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
ibmlana.c
ibmlana.h
ibmveth.c powerpc: Cleanup from l64 to ll64 change: drivers/net 2009-01-13 14:48:00 +11:00
ibmveth.h ibmveth: use consistent types 2009-01-06 10:47:44 -08:00
ifb.c
ioc3-eth.c
ipg.c ipg: update to net_device_ops 2009-01-07 17:26:14 -08:00
ipg.h
isa-skeleton.c
iseries_veth.c powerpc: Cleanup from l64 to ll64 change: drivers/net 2009-01-13 14:48:00 +11:00
jazzsonic.c
jme.c
jme.h
Kconfig m68knommu: add ColdFire M532x to the FEC configuration options 2009-01-27 16:42:03 +10:00
korina.c korina: drop leftover assignment 2009-01-19 16:23:01 -08:00
lance.c
lasi_82596.c
lib8390.c
lib82596.c
LICENSE.SRC
lne390.c
loopback.c
lp486e.c
mac89x0.c
mac8390.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
macb.c macb: avoid lockup when TGO during underrun 2009-01-19 16:20:16 -08:00
macb.h
mace.c
mace.h
macmace.c
macsonic.c
macvlan.c
Makefile i2400m: Makefile and Kconfig 2009-01-07 10:00:22 -08:00
meth.c
meth.h
mii.c
mipsnet.c
mv643xx_eth.c mv643xx_eth: prevent interrupt storm on ifconfig down 2009-01-19 17:58:07 -08:00
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c natsemi: update to net_device_ops 2009-01-07 17:57:19 -08:00
ne2.c
ne2k-pci.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
ne3210.c
ne-h8300.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
ne.c
netconsole.c
netx-eth.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
niu.c
niu.h
ns83820.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
pasemi_mac_ethtool.c
pasemi_mac.c powerpc: Change u64/s64 to a long long integer type 2009-01-13 14:47:59 +11:00
pasemi_mac.h
pci-skeleton.c
pcnet32.c pcnet32: round off carrier watch timer 2009-01-08 11:17:13 -08:00
plip.c plip: update to net_device_ops 2009-01-07 17:26:48 -08:00
ppp_async.c
ppp_deflate.c
ppp_generic.c net: ppp_generic - fix regressions caused by IDR conversion 2009-01-12 22:11:56 -08:00
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c
pppoe.c
pppol2tp.c
pppox.c
ps3_gelic_net.c
ps3_gelic_net.h
ps3_gelic_wireless.c powerpc/ps3: Printing fixups for l64 to ll64 convserion drivers/net 2009-02-02 17:08:24 +11:00
ps3_gelic_wireless.h
qla3xxx.c
qla3xxx.h
r6040.c r6040: Remove unused variable pdev from drivers/net/r6040.c 2009-01-26 21:54:21 -08:00
r8169.c r8169: Don't update statistics counters when interface is down 2009-02-06 21:49:57 -08:00
rionet.c
rrunner.c
rrunner.h
s2io-regs.h
s2io.c
s2io.h
sb1000.c sb1000: update to net_device_ops 2009-01-07 17:56:54 -08:00
sb1250-mac.c
sc92031.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
seeq8005.c
seeq8005.h
sgiseeq.c
sgiseeq.h
sh_eth.c
sh_eth.h
sis190.c sis190: update to net_device_ops 2009-01-07 17:35:41 -08:00
sis900.c sis900: generate fake MAC address if the hardware doesn't have one 2009-01-14 20:46:24 -08:00
sis900.h
skge.c
skge.h
sky2.c sky2: fix hard hang with netconsoling and iface going up 2009-01-30 14:06:26 -08:00
sky2.h
slhc.c
slip.c slip: convert to net_device_ops 2009-01-07 18:09:36 -08:00
slip.h trivial: fix then -> than typos in comments and documentation 2009-01-06 11:28:06 +01:00
smc91x.c
smc91x.h
smc911x.c net: variables reach -1, but 0 tested 2009-02-02 21:39:02 -08:00
smc911x.h
smc9194.c
smc9194.h
smc-mca.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
smc-ultra32.c
smc-ultra.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
smsc911x.c smsc911x: timeout reaches -1 2009-01-29 17:30:00 -08:00
smsc911x.h
smsc9420.c net: variables reach -1, but 0 tested 2009-02-02 21:39:02 -08:00
smsc9420.h
sni_82596.c
sonic.c
sonic.h
Space.c
spider_net_ethtool.c
spider_net.c
spider_net.h
starfire.c starfire: update to net_device_ops 2009-01-07 17:58:17 -08:00
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c sun3: print when lance_open() fails 2009-02-12 16:40:20 -08:00
sunbmac.c
sunbmac.h
sundance.c sundance: update to net_device_ops 2009-01-07 17:58:43 -08:00
sungem_phy.c cassini/sungem: limit reaches -1, but 0 tested 2009-02-02 23:19:50 -08:00
sungem_phy.h
sungem.c sungem: Soft lockup in sungem on Netra AC200 when switching interface up 2009-02-06 22:00:36 -08:00
sungem.h
sunhme.c sunhme: Fix Quattro HME irq registration on proble failures 2009-02-10 17:29:42 -08:00
sunhme.h
sunlance.c
sunqe.c net: variables reach -1, but 0 tested 2009-02-02 21:39:02 -08:00
sunqe.h
sunvnet.c sparc64: Fix unsigned long long warnings in drivers. 2009-01-06 13:20:38 -08:00
sunvnet.h
tc35815.c
tehuti_fw.h
tehuti.c trivial: fix then -> than typos in comments and documentation 2009-01-06 11:28:06 +01:00
tehuti.h
tg3.c TG3: limit reaches -1 2009-02-12 16:33:27 -08:00
tg3.h tg3: Fix firmware loading 2009-01-19 16:57:45 -08:00
tlan.c tlan: update to net_device_ops 2009-01-07 17:27:15 -08:00
tlan.h
tsi108_eth.c net: variables reach -1, but 0 tested 2009-02-02 21:39:02 -08:00
tsi108_eth.h
tun.c tun: Fix unicast filter overflow 2009-02-08 17:49:17 -08:00
typhoon-firmware.h
typhoon.c typhoon: update to net_device_ops 2009-01-07 17:29:46 -08:00
typhoon.h
ucc_geth_ethtool.c
ucc_geth_mii.c ucc_geth: Change uec phy id to the same format as gianfar's 2009-01-29 17:28:04 -08:00
ucc_geth_mii.h ucc_geth: Change uec phy id to the same format as gianfar's 2009-01-29 17:28:04 -08:00
ucc_geth.c ucc_geth: Change uec phy id to the same format as gianfar's 2009-01-29 17:28:04 -08:00
ucc_geth.h ucc_geth: Change uec phy id to the same format as gianfar's 2009-01-29 17:28:04 -08:00
veth.c
via-rhine.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
via-velocity.c via-velocity: fix hot spin 2009-01-20 14:44:01 -08:00
via-velocity.h
virtio_net.c virtio_net: use correct accessors for scatterlists 2009-01-26 21:00:33 -08:00
wd.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
xen-netfront.c xen-netfront: convert to net_device_ops 2009-01-06 10:44:55 -08:00
xtsonic.c
yellowfin.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
znet.c
zorro8390.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00