linux/drivers/net
Herton Ronaldo Krzesinski f05faa31c3 rt2x00: prevent double kfree when failing to register hardware
In a scenario where there isn't any firmware available, we will have a
double kfree of rt2x00dev->spec.channels_info when ieee80211_register_hw
returns an error status inside rt2x00lib_probe_hw.

The problem is that if ieee80211_register_hw fails, we call
rt2x00lib_remove_hw twice:
* first inside rt2x00lib_probe_hw upon failure of ieee80211_register_hw
* error status is returned to rt2x00lib_probe_dev, which then sees it and
  calls in this case rt2x00lib_remove_dev that will again run
  rt2x00lib_remove_hw

Prevent this avoiding calling rt2x00lib_remove_hw inside
rt2x00lib_probe_hw

Problem was detected with CONFIG_DEBUG_PAGEALLOC=y, CONFIG_SLUB_DEBUG=y,
CONFIG_SLUB_DEBUG_ON=y, that dumps this with no firmware available:

rt61pci 0000:00:07.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
wmaster0 (rt61pci): not using net_device_ops yet
phy0: Selected rate control algorithm 'pid'
phy0: Failed to initialize wep: -2
phy0 -> rt2x00lib_probe_dev: Error - Failed to initialize hw.
=============================================================================
BUG kmalloc-128: Object already free
-----------------------------------------------------------------------------

INFO: Allocated in rt61pci_probe_hw+0x3e5/0x6e0 [rt61pci] age=340 cpu=0 pid=21
INFO: Freed in rt2x00lib_remove_hw+0x59/0x70 [rt2x00lib] age=0 cpu=0 pid=21
INFO: Slab 0xc13ac3e0 objects=23 used=10 fp=0xdd59f6e0 flags=0x400000c3
INFO: Object 0xdd59f6e0 @offset=1760 fp=0xdd59f790

Bytes b4 0xdd59f6d0:  15 00 00 00 b2 8a fb ff 5a 5a 5a 5a 5a 5a 5a 5a ....².ûÿZZZZZZZZ
  Object 0xdd59f6e0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f6f0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f700:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f710:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f720:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f730:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f740:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f750:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5 kkkkkkkkkkkkkkk¥
 Redzone 0xdd59f760:  bb bb bb bb                                     »»»»
 Padding 0xdd59f788:  5a 5a 5a 5a 5a 5a 5a 5a                         ZZZZZZZZ
Pid: 21, comm: stage1 Not tainted 2.6.29.1-desktop-1.1mnb #1
Call Trace:
 [<c01abbb3>] print_trailer+0xd3/0x120
 [<c01abd37>] object_err+0x37/0x50
 [<c01acf57>] __slab_free+0xe7/0x2f0
 [<c01ad1de>] kfree+0x7e/0xd0
 [<e0e4a239>] ? rt2x00lib_remove_hw+0x59/0x70 [rt2x00lib]
 [<e0e4a239>] ? rt2x00lib_remove_hw+0x59/0x70 [rt2x00lib]
 [<e0e4a239>] rt2x00lib_remove_hw+0x59/0x70 [rt2x00lib]
 [<e0e4acc7>] rt2x00lib_remove_dev+0x37/0x50 [rt2x00lib]
 [<e0e4b087>] rt2x00lib_probe_dev+0x1a7/0x3b0 [rt2x00lib]
 [<e0eb288f>] rt2x00pci_probe+0xdf/0x1ee [rt2x00pci]
 [<c026b9ee>] local_pci_probe+0xe/0x10
 [<c026c750>] pci_device_probe+0x60/0x80
 [<c02d5c2a>] driver_probe_device+0x9a/0x2e0
 [<c02d5ef9>] __driver_attach+0x89/0x90
 [<c02d541b>] bus_for_each_dev+0x4b/0x70
 [<c026c690>] ? pci_device_remove+0x0/0x40
 [<c02d59d9>] driver_attach+0x19/0x20
 [<c02d5e70>] ? __driver_attach+0x0/0x90
 [<c02d4cef>] bus_add_driver+0x1cf/0x2a0
 [<c026c690>] ? pci_device_remove+0x0/0x40
 [<c02d60c9>] driver_register+0x69/0x140
 [<c026c9b0>] __pci_register_driver+0x40/0x80
 [<e0ecc000>] ? rt61pci_init+0x0/0x19 [rt61pci]
 [<e0ecc017>] rt61pci_init+0x17/0x19 [rt61pci]
 [<c0101116>] do_one_initcall+0x26/0x1c0
 [<c01ab90c>] ? slab_pad_check+0x3c/0x120
 [<c01ab90c>] ? slab_pad_check+0x3c/0x120
 [<c01ac8da>] ? check_object+0xda/0x210
 [<c01b0026>] ? percpu_free+0x46/0x50
 [<c01ad09e>] ? __slab_free+0x22e/0x2f0
 [<c01b0026>] ? percpu_free+0x46/0x50
 [<c01b0026>] ? percpu_free+0x46/0x50
 [<c01b0026>] ? percpu_free+0x46/0x50
 [<c01687ec>] ? stop_machine_destroy+0x3c/0x40
 [<c015e515>] ? load_module+0xa5/0x1c50
 [<e0ec5000>] ? rt61pci_eepromregister_read+0x0/0x40 [rt61pci]
 [<e0eb2000>] ? rt2x00pci_write_tx_data+0x0/0x90 [rt2x00pci]
 [<c03ac2fb>] ? mutex_lock+0xb/0x20
 [<c03ac2fb>] ? mutex_lock+0xb/0x20
 [<c017ad16>] ? tracepoint_update_probe_range+0x76/0xa0
 [<c017ad6f>] ? tracepoint_module_notify+0x2f/0x40
 [<c03b02ed>] ? notifier_call_chain+0x2d/0x70
 [<c014f0ed>] ? __blocking_notifier_call_chain+0x4d/0x60
 [<c014f11a>] ? blocking_notifier_call_chain+0x1a/0x20
 [<c0160156>] sys_init_module+0x96/0x1d0
 [<c019dad6>] ? sys_munmap+0x46/0x60
 [<c0105546>] syscall_call+0x7/0xb
FIX kmalloc-128: Object at 0xdd59f6e0 not freed
rt61pci 0000:00:07.0: PCI INT A disabled
rt61pci: probe of 0000:00:07.0 failed with error -2

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-04-16 10:39:15 -04:00
..
appletalk appletalk: convert LTPC to net_device_ops 2009-03-27 00:46:42 -07:00
arcnet drivers/net/arcnet: fix sparse warning: symbol shadows an earlier one 2009-02-17 17:26:05 -08:00
arm ether3: convert to net_device_ops 2009-04-11 02:53:56 -07:00
atl1c atl1c: remove duplicated #include 2009-03-23 01:18:58 -07:00
atl1e dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
atlx dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
benet be2net: fix for default setting of pause auto-negotiation 2009-04-13 15:41:50 -07:00
bonding bonding: Remove debug printk 2009-04-14 16:53:14 -07:00
can vcan: whitespace fixes 2008-12-17 15:37:55 -08:00
chelsio dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
cris eth_v10: convert to net_device_ops 2009-04-13 15:16:33 -07:00
cxgb3 dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
e1000 NET/e1000: Fix powering off during shutdown 2009-04-16 02:15:22 -07:00
e1000e NET/e1000e: Fix powering off during shutdown 2009-04-16 02:15:22 -07:00
ehea ehea: Fix incomplete conversion to net_device_ops 2009-04-14 15:18:00 -07:00
enic dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
fs_enet fs_enet: convert to netdev_ops 2009-04-11 02:06:43 -07:00
hamradio Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/net-next-2.6 2009-03-31 14:43:54 -07:00
ibm_newemac ibm_newemac: convert to netdev_ops 2009-04-11 02:06:45 -07:00
igb igb: do not check for vf_data if we didn't enable vfs 2009-04-11 02:55:16 -07:00
igbvf igbvf: fix unused external references 2009-04-11 02:55:14 -07:00
irda proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
ixgb dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
ixgbe NET/ixgbe: Fix powering off during shutdown 2009-04-16 02:15:25 -07:00
ixp2000 net: Remove redundant NAPI functions 2009-01-21 14:33:50 -08:00
mlx4 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2009-04-09 16:42:26 -07:00
myri10ge myr10ge: again fix lro_gen_skb() alignment 2009-04-15 02:29:33 -07:00
netxen dma-mapping: replace all DMA_39BIT_MASK macro with DMA_BIT_MASK(39) 2009-04-07 08:31:11 -07:00
pcmcia axnet_cs: fix phy_id detection for bogus Asix chip. 2009-04-06 17:07:54 -07:00
phy phylib: Fix delay argument of schedule_delayed_work 2009-04-16 03:13:07 -07:00
qlge dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sfc sfc: Use correct macro to set event bitfield 2009-04-14 19:48:34 -07:00
skfp trivial: fix typo "varaible" -> "variable" 2009-03-30 15:21:57 +02:00
tokenring dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
tulip dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
usb dma-mapping: replace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64) 2009-04-07 08:31:10 -07:00
vxge vxge: should include tcp.h 2009-04-04 16:36:18 -07:00
wan dma-mapping: replace all DMA_28BIT_MASK macro with DMA_BIT_MASK(28) 2009-04-07 08:31:12 -07:00
wimax wimax: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:23 -07:00
wireless rt2x00: prevent double kfree when failing to register hardware 2009-04-16 10:39:15 -04:00
3c59x.c 3c59x: get rid of non-const printk warnings 2009-02-26 22:21:54 -08:00
3c501.c 3c501: convert to net_device_ops 2009-01-21 14:02:21 -08:00
3c501.h netdevice: Kill netdev->priv 2008-12-08 01:14:16 -08:00
3c503.c 3c503, smc-ultra: netdev_ops bugs 2009-03-27 00:46:38 -07:00
3c503.h
3c505.c Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-02-14 23:12:00 -08:00
3c505.h 3c505: use netstats in net_device structure 2008-04-29 01:55:11 -04:00
3c507.c 3c507: convert to net_device_ops 2009-01-21 14:02:23 -08:00
3c509.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-02-07 02:52:44 -08:00
3c515.c 3c515: convert to net_device_ops 2009-01-21 14:02:24 -08:00
3c523.c 3c523: convert to net_device_ops 2009-01-21 14:02:24 -08:00
3c523.h
3c527.c 3c527: convert to net_device_ops 2009-01-21 14:02:25 -08:00
3c527.h
7990.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
7990.h
8139cp.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
8139too.c 8139too: allow to set mac address on running device 2009-03-13 11:48:18 -07:00
8390.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
8390.h 8390: add common net_device ops 2008-11-25 18:12:49 -08:00
8390p.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
82596.c dmascc: convert to internal net_device_ops 2009-01-21 14:02:41 -08:00
a2065.c a2065: convert to net_device_ops 2009-04-14 21:57:00 -07:00
a2065.h
ac3200.c netdev: convert ac3200 to net_device_ops 2009-03-27 00:46:54 -07:00
acenic.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
acenic.h firmware: convert acenic driver to request_firmware() 2009-01-04 16:10:02 -08:00
amd8111e.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
amd8111e.h
apne.c apne: convert to net_device_ops 2008-11-25 18:25:32 -08:00
ariadne.c ariadne: convert to net_device_ops 2009-04-11 02:53:46 -07:00
ariadne.h
at1700.c netdev: convert at1700 to net_device_ops 2009-03-27 00:46:51 -07:00
atarilance.c atarilance: convert to net_device_ops 2009-04-14 21:57:01 -07:00
atp.c atp: convert to net_device_ops 2009-01-07 18:10:24 -08:00
atp.h
au1000_eth.c au1000: convert to net_device_ops 2009-04-14 21:57:02 -07:00
au1000_eth.h phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
ax88796.c ax88796: Add method to take MAC from platform data 2009-03-24 23:32:03 -07:00
b44.c dma-mapping: replace all DMA_30BIT_MASK macro with DMA_BIT_MASK(30) 2009-04-07 08:31:11 -07: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: convert to net_device_ops 2009-04-14 21:57:03 -07:00
bfin_mac.h phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
bmac.c net: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:22 -07:00
bmac.h
bnx2_fw.h bnx2: Use request_firmware() 2009-04-04 16:51:14 -07:00
bnx2.c bnx2: Don't use reserved names 2009-04-08 15:50:07 -07:00
bnx2.h bnx2: Use request_firmware() 2009-04-04 16:51:14 -07:00
bnx2x_dump.h bnx2x: Register dump 2009-03-02 22:32:48 -08:00
bnx2x_fw_defs.h bnx2x: Version 2009-02-15 23:32:01 -08:00
bnx2x_hsi.h bnx2x: Version 2009-02-15 23:32:01 -08:00
bnx2x_init_values.h bnx2x: Adding licensing to bnx2x_init_values.h 2009-03-22 21:24:19 -07:00
bnx2x_init.h bnx2x: Using DMAE to initialize the chip 2009-03-10 04:52:03 -07:00
bnx2x_link.c bnx2x: Loopback support at external PHY 2009-03-02 22:32:45 -08:00
bnx2x_link.h bnx2x: Version 2009-02-15 23:32:01 -08:00
bnx2x_main.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
bnx2x_reg.h bnx2x: Supporting new BCM8726 FW 2009-03-02 22:32:43 -08:00
bnx2x.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-03-10 05:04:16 -07:00
bsd_comp.c
cassini.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
cassini.h cassini: use request_firmware 2008-09-22 19:27:10 -07:00
cpmac.c net: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:22 -07:00
cs89x0.c netdev: convert cs89x0 to net_device_ops 2009-03-27 00:46:55 -07:00
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 declance: convert to net_device_ops 2009-04-14 21:57:04 -07:00
defxx.c netdev: Use __netdev_alloc_skb() instead of __dev_alloc_skb(). 2009-02-10 01:56:45 -08:00
defxx.h
depca.c netdev: convert depca to net_device_ops 2009-03-27 00:46:52 -07:00
depca.h
dl2k.c dma-mapping: replace all DMA_48BIT_MASK macro with DMA_BIT_MASK(48) 2009-04-07 08:31:10 -07:00
dl2k.h
dm9000.c workqueue: add to_delayed_work() helper function 2009-04-02 19:04:50 -07:00
dm9000.h DM9000: Add support for DM9000A and DM9000B chips 2008-06-24 22:57:16 -04:00
dnet.c dnet: remove unused #include <version.h> 2009-04-02 16:31:45 -07:00
dnet.h dnet: Dave DNET ethernet controller driver (updated) 2009-03-11 23:26:02 -07:00
dummy.c dummy: convert to net_device_ops 2008-11-20 20:28:00 -08:00
e100.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
e2100.c drivers/net/e2100.c: fix sparse warning: symbol shadows an earlier one 2009-02-17 17:21:08 -08:00
eepro.c netdev: convert eexpro to net_device_ops 2009-03-27 00:46:51 -07:00
eexpress.c netdev: convert eexpress to net_device_ops 2009-03-27 00:46:50 -07:00
eexpress.h EtherExpress16: fix printing timed out status 2008-12-29 18:42:33 -08:00
enc28j60_hw.h
enc28j60.c enc28j60: update to net_device_ops 2009-01-07 17:30:09 -08:00
epic100.c net: Remove redundant NAPI functions 2009-01-21 14:33:50 -08:00
eql.c drivers/net/eql.c: Fix a dev leakage. 2009-04-08 15:56:33 -07:00
es3210.c es3210: convert to net_device_ops 2008-11-25 18:23:59 -08:00
eth16i.c netdev: convert eth16i to net_device_ops 2009-03-27 00:46:55 -07:00
ethoc.c net: Add support for the OpenCores 10/100 Mbps Ethernet MAC. 2009-03-27 00:16:21 -07:00
ewrk3.c netdev: convert ewrk3 to net_device_ops 2009-03-27 00:46:52 -07:00
ewrk3.h
fealnx.c fealnx: fix non-constant printk warnings 2009-02-26 22:21:59 -08:00
fec_mpc52xx_phy.c powerpc/mpc5200: Remove obsolete code from mpc5200 MDIO driver 2008-12-21 02:54:30 -07:00
fec_mpc52xx.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2009-04-02 21:05:30 -07:00
fec_mpc52xx.h [POWERPC] mpc5200: Allow for fixed speed MII configurations 2008-05-01 11:05:58 -06:00
fec.c FEC driver: add missing #endif 2009-04-08 15:44:45 -07:00
fec.h fec: Add support for Freescale MX27 2009-02-01 00:58:26 -08:00
forcedeth.c forcedeth: Use napi_complete() not __napi_complete(). 2009-04-09 01:09:33 -07:00
fsl_pq_mdio.c fsl_pq_mdio: Fix compile failure 2009-04-02 13:57:30 -07:00
fsl_pq_mdio.h netdev: Merge UCC and gianfar MDIO bus drivers 2009-02-04 16:42:35 -08:00
gianfar_ethtool.c gianfar: Implement proper, per netdevice wakeup management 2009-02-01 00:52:34 -08:00
gianfar_sysfs.c gianfar: Fix stashing support 2009-02-04 16:43:44 -08:00
gianfar.c gianfar: stop send queue before resetting gianfar 2009-04-15 02:35:40 -07:00
gianfar.h gianfar: Remove unused header 2009-04-02 01:13:47 -07:00
hamachi.c hamachi: fix non-constant printk warnings 2009-02-26 22:22:02 -08:00
hp100.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
hp100.h
hp-plus.c net: fix hp-plus build error 2009-02-26 21:02:19 -08:00
hp.c hp: convert to net_device_ops 2008-11-25 18:24:57 -08:00
hplance.c make hplance_{init,cleanup}_module() static 2008-06-11 21:58:32 -04:00
hplance.h
hydra.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
ibmlana.c netdev: ibmlana convert to net_device_ops 2009-03-27 00:46:49 -07:00
ibmlana.h
ibmveth.c net: Remove redundant NAPI functions 2009-01-21 14:33:50 -08:00
ibmveth.h ibmveth: use consistent types 2009-01-06 10:47:44 -08:00
ifb.c netdev: add more functions to netdevice ops 2008-11-20 20:14:53 -08:00
ioc3-eth.c ioc3-eth: convert to net_device_ops 2009-04-13 15:16:31 -07:00
ipg.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
ipg.h [netdrvr] remove unnecessary #include 2008-08-14 04:26:38 -04:00
isa-skeleton.c isa-skeleton: convert to net_device_ops 2009-04-13 15:16:30 -07:00
iseries_veth.c powerpc: Cleanup from l64 to ll64 change: drivers/net 2009-01-13 14:48:00 +11:00
jazzsonic.c net: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:22 -07:00
jme.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
jme.h jme: Advance version number after previous changes 2009-03-02 01:55:15 -08:00
Kconfig igbvf: add new driver to support 82576 virtual functions 2009-04-08 16:03:14 -07:00
korina.c net: Remove redundant NAPI functions 2009-01-21 14:33:50 -08:00
lance.c lance: convert to net_device_ops 2009-03-27 00:46:48 -07:00
lasi_82596.c
lib8390.c 8390/8390p: Fix compat netdev ops handling. 2008-12-15 15:14:59 -08:00
lib82596.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
LICENSE.SRC
lne390.c lne390: convert to net_device_ops 2008-11-25 18:24:38 -08:00
loopback.c netdev: add more functions to netdevice ops 2008-11-20 20:14:53 -08:00
lp486e.c netdev: convert lp486e to net_device_ops 2009-03-27 00:46:54 -07:00
mac89x0.c mac89x0: convert to net_device_ops 2009-04-13 15:16:29 -07:00
mac8390.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
macb.c macb: convert to net_device_ops 2009-04-13 15:16:27 -07:00
macb.h phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
mace.c netdevice: safe convert to netdev_priv() #part-1 2008-11-12 23:37:49 -08:00
mace.h
macmace.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
macsonic.c macsonic: convert to net_device_ops 2009-04-13 15:16:26 -07:00
macvlan.c macvlan: Deterministic ingress packet delivery 2009-03-13 13:16:13 -07:00
Makefile igbvf: add new driver to support 82576 virtual functions 2009-04-08 16:03:14 -07:00
meth.c MIPS: Stop using <asm-generic/int-l64.h>. 2009-03-30 14:49:41 +02:00
meth.h
mii.c
mipsnet.c platform driver: fix incorrect use of 'platform_bus_type' with 'struct device_driver' 2009-03-24 16:38:25 -07:00
mv643xx_eth.c mv643xx_eth: don't reset the rx coal timer on interface up 2009-04-08 15:42:46 -07:00
mvme147.c netdevice: safe convert to netdev_priv() #part-2 2008-11-12 23:38:14 -08:00
myri_sbus.c myri_sbus: use request_firmware 2009-04-04 16:38:42 -07:00
myri_sbus.h myri_sbus: Convert to pure OF driver. 2008-08-29 02:13:32 -07:00
natsemi.c natsemi: fix non-constant printk warnings 2009-02-26 22:21:58 -08:00
ne2.c ne2: silence static never defined warnings 2008-11-28 15:55:00 -08:00
ne2k-pci.c ne2k-pci: fix non-constant printk warnings 2009-02-26 22:21:55 -08:00
ne3210.c ne3210.c fix compilation warning for phys_addr_t 2009-02-11 21:01:33 +01:00
ne-h8300.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
ne.c drivers/net: fix sparse warning: use ANSI-style function declaration 2008-12-25 23:52:57 -08:00
netconsole.c netpoll: store local and remote ip in net-endian 2009-03-28 23:55:58 -07:00
netx-eth.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-12-05 22:54:40 -08:00
ni52.c netdev: convert ni52 to net_device_ops 2009-03-27 00:46:53 -07:00
ni52.h
ni65.c netdev: convert ni65 to net_device_ops 2009-03-27 00:46:53 -07:00
ni65.h
ni5010.c ni5010: convert to net_device_ops 2009-03-28 23:37:27 -07:00
ni5010.h
niu.c niu: Fix unused variable warning. 2009-04-08 15:52:16 -07:00
niu.h niu: Add TCAM classification configuration 2009-02-20 00:58:45 -08:00
ns83820.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
pasemi_mac_ethtool.c netdevice: safe convert to netdev_priv() #part-2 2008-11-12 23:38:14 -08:00
pasemi_mac.c net: Remove redundant NAPI functions 2009-01-21 14:33:50 -08:00
pasemi_mac.h
pci-skeleton.c netdevice: Kill netdev->priv 2008-12-08 01:14:16 -08:00
pcnet32.c net: Remove redundant NAPI functions 2009-01-21 14:33:50 -08:00
plip.c plip: update to net_device_ops 2009-01-07 17:26:48 -08:00
ppp_async.c ppp: ppp_mp_explode() redesign 2009-03-13 16:09:12 -07:00
ppp_deflate.c
ppp_generic.c ppp: ppp_mp_explode() redesign 2009-03-13 16:09:12 -07:00
ppp_mppe.c [netdrvr] remove unnecessary #include 2008-08-14 04:26:38 -04:00
ppp_mppe.h
ppp_synctty.c ppp: ppp_mp_explode() redesign 2009-03-13 16:09:12 -07:00
pppoe.c net: convert usage of packet_type to read_mostly 2009-03-10 05:22:43 -07:00
pppol2tp.c drivers/net/ppp*.c: fix sparse warnings: fix signedness 2009-02-17 17:21:12 -08:00
pppox.c net: pppol2tp - introduce net-namespace functionality 2009-01-21 15:55:15 -08:00
ps3_gelic_net.c net: replace uses of __constant_{endian} 2009-02-01 00:45:17 -08:00
ps3_gelic_net.h ps3: gelic: updown_lock semaphore to mutex 2008-06-03 15:00:14 -04:00
ps3_gelic_wireless.c net/ps3: Fix wireless AP connect error handling 2009-04-16 10:39:06 -04:00
ps3_gelic_wireless.h don't use net/ieee80211.h 2008-11-10 15:11:56 -05:00
qla3xxx.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
qla3xxx.h qla3xxx: cleanup: Remove some unused structure definitions and structure elements. 2008-08-07 02:11:14 -04:00
r6040.c r6040: set MODULE_VERSION 2009-04-08 15:50:43 -07:00
r8169.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
rionet.c drivers/net/rionet.c: remove some pointless conditionals before kfree_skb() 2009-02-26 23:07:31 -08:00
rrunner.c netdev: remove pathetic compile-command lines 2008-12-03 22:19:52 -08:00
rrunner.h
s2io-regs.h S2io: Added napi support when MSIX is enabled. 2008-05-22 06:26:21 -04:00
s2io.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
s2io.h s2io: Fix enabling VLAN tag stripping at driver initialization 2008-09-24 18:49:04 -04:00
sb1000.c sb1000: update to net_device_ops 2009-01-07 17:56:54 -08:00
sb1250-mac.c trivial: Fix misspelling of firmware 2009-03-30 15:21:59 +02:00
sc92031.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
seeq8005.c netdev: seeq8005 convert to net_device_ops 2009-03-27 00:46:46 -07:00
seeq8005.h
sgiseeq.c netdevice: safe convert to netdev_priv() #part-3 2008-11-12 23:38:36 -08:00
sgiseeq.h
sh_eth.c sh_eth: convert to net_device_ops 2009-04-13 15:16:25 -07:00
sh_eth.h sh_eth: Fix mistake of the address of SH7763 2009-03-18 23:31:50 -07:00
sis190.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sis900.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sis900.h
skge.c skge: fix occasional BUG during MTU change 2009-04-14 15:16:55 -07:00
skge.h
sky2.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sky2.h sky2: fix PM related regressions 2008-08-07 01:55:50 -04:00
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 net: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:22 -07:00
smc91x.h Separate out the proc- and unit-specific header directories from the general 2009-04-10 14:33:48 +01:00
smc911x.c net: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:22 -07:00
smc911x.h Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel 2009-03-13 21:44:51 +00:00
smc9194.c netdev: smc9194 convert to net_device_ops 2009-03-27 00:46:47 -07:00
smc9194.h
smc-mca.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
smc-ultra32.c netdev: smc-ultra32 convert to net_device_ops 2009-03-27 00:46:47 -07:00
smc-ultra.c netdev: smc-ultra fix netpoll 2009-03-27 00:46:48 -07:00
smsc911x.c smsc911x: correct debugging message on mii read timeout 2009-04-08 15:42:15 -07:00
smsc911x.h smsc911x: define status word positions as constants 2009-03-19 23:59:27 -07:00
smsc9420.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
smsc9420.h smsc9420: handle magic field of ethtool_eeprom 2009-02-20 00:38:51 -08:00
sni_82596.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
sonic.c drivers/net: Kill now superfluous ->last_rx stores. 2008-11-03 21:11:17 -08:00
sonic.h netdevice: safe convert to netdev_priv() #part-3 2008-11-12 23:38:36 -08:00
Space.c
spider_net_ethtool.c netdevice: safe convert to netdev_priv() #part-3 2008-11-12 23:38:36 -08:00
spider_net.c spider_net: Add missing .ndo_validate_addr 2009-03-23 14:42:09 -07:00
spider_net.h
starfire.c starfire: fix non-constant printk warnings 2009-02-26 22:22:00 -08:00
stnic.c stnic: convert to net_device_ops 2008-11-25 18:25:49 -08:00
sun3_82586.c sun3_82586: convert to net_device_ops 2009-04-13 15:16:24 -07:00
sun3_82586.h
sun3lance.c sun3: print when lance_open() fails 2009-02-12 16:40:20 -08:00
sunbmac.c myri_sbus/sunbmac/sunlance/sunqe: Add missing net_device_ops entries. 2009-03-23 14:29:24 -07:00
sunbmac.h sunbmac: Convert to pure OF driver. 2008-08-29 02:13:33 -07:00
sundance.c sundance: fix non-constant printk warnings 2009-02-26 22:22:00 -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 dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sungem.h
sunhme.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2009-03-12 09:27:53 -07:00
sunhme.h sunhme: Convert to pure OF driver. 2008-08-29 02:14:29 -07:00
sunlance.c myri_sbus/sunbmac/sunlance/sunqe: Add missing net_device_ops entries. 2009-03-23 14:29:24 -07:00
sunqe.c myri_sbus/sunbmac/sunlance/sunqe: Add missing net_device_ops entries. 2009-03-23 14:29:24 -07:00
sunqe.h sunqe: Convert to pure OF driver. 2008-08-29 02:14:43 -07:00
sunvnet.c sunvnet: Convert to net_device_ops. 2009-03-20 00:51:22 -07:00
sunvnet.h
tc35815.c tc35815: convert to net_device_ops 2009-04-13 15:16:23 -07:00
tehuti.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
tehuti.h dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
tg3.c tg3: fix big endian MAC address collection failure 2009-04-13 14:31:51 -07:00
tg3.h tg3: Add version reporting for hardware selfboot 2009-02-26 23:16:40 -08:00
tlan.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
tlan.h tlan: wrap source lines 2008-05-30 22:18:02 -04:00
tsi108_eth.c tsi108_eth: convert to net_device_ops 2009-04-13 15:16:21 -07:00
tsi108_eth.h
tun.c tun: Fix crash with non-GSO users 2009-04-14 02:09:43 -07:00
typhoon.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
typhoon.h typhoon: replace users of __constant_{endian} 2009-01-21 14:34:08 -08:00
ucc_geth_ethtool.c ucc_geth: Remove unused header 2009-04-02 01:13:48 -07:00
ucc_geth.c ucc_geth: Pass proper device to DMA routines, otherwise oops happens 2009-04-02 01:26:07 -07:00
ucc_geth.h ucc_geth: Pass proper device to DMA routines, otherwise oops happens 2009-04-02 01:26:07 -07:00
veth.c veth: Allow setting the L3 MTU 2009-03-03 23:36:04 -08:00
via-rhine.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
via-velocity.c via-velocity : fix compilation warning. 2009-04-11 01:52:38 -07:00
via-velocity.h net: replace uses of __constant_{endian} 2009-02-01 00:45:17 -08:00
virtio_net.c virtio_net: Set the mac config only when VIRITO_NET_F_MAC 2009-04-04 16:40:19 -07:00
wd.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00
xen-netfront.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-03-28 13:30:43 -07:00
xtsonic.c xtsonic: convert to net_device_ops 2009-04-13 15:16:21 -07:00
yellowfin.c yellowfin: fix non-constant printk warnings 2009-02-26 22:21:57 -08:00
znet.c znet: convert to net_device_ops 2009-01-21 14:02:31 -08:00
zorro8390.c netdev: add missing set_mac_address hook 2009-01-11 00:06:36 -08:00