android_kernel_xiaomi_sm8350/drivers/net
Herbert Xu b63365a2d6 net: Fix disjunct computation of netdev features
My change

    commit e2a6b85247
    net: Enable TSO if supported by at least one device

didn't do what was intended because the netdev_compute_features
function was designed for conjunctions.  So what happened was that
it would simply take the TSO status of the last constituent device.

This patch extends it to support both conjunctions and disjunctions
under the new name of netdev_increment_features.

It also adds a new function netdev_fix_features which does the
sanity checking that usually occurs upon registration.  This ensures
that the computation doesn't result in an illegal combination
since this checking is absent when the change is initiated via
ethtool.

The two users of netdev_compute_features have been converted.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-10-23 01:11:29 -07:00
..
appletalk net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
arcnet drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
arm
atl1e atl1e: remove the unneeded (struct atl1e_adapter *) 2008-09-24 20:49:05 -04:00
atlx atl1: update introductory comments 2008-10-08 16:09:24 -07:00
bonding net: Fix disjunct computation of netdev features 2008-10-23 01:11:29 -07:00
can
chelsio
cris
cxgb3 cxgb3: Fix kernel crash caused by uninitialized l2t_entry.arpq 2008-10-22 06:22:14 -04:00
e1000 e1000: allow VLAN devices to use TSO and CSUM offload 2008-10-11 12:25:59 -07:00
e1000e e1000e: don't generate bad checksums for tcp packets with 0 csum 2008-10-09 14:28:58 -07:00
ehea ehea: Fix memory hotplug support 2008-10-22 06:22:17 -04:00
enic net: fix driver build errors due to missing net/ip6_checksum.h include 2008-10-13 18:41:01 -07:00
fs_enet phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
hamradio drivers/net: use nr_irqs 2008-10-16 16:52:05 +02:00
ibm_newemac Merge commit 'origin' 2008-10-15 11:31:54 +11:00
igb igb: add IGB_DCA instead of selecting INTEL_IOATDMA 2008-10-22 06:54:07 -04:00
irda USB: remove info() macro from usb network drivers 2008-10-17 14:41:10 -07:00
ixgb ixgb: fix bug when freeing resources 2008-10-08 16:53:40 -07:00
ixgbe [netdrvr] myri10ge, ixgbe: remove broken select INTEL_IOATDMA 2008-10-16 05:09:31 -04:00
ixp2000
mlx4 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-01 06:12:56 -07:00
myri10ge myri10ge: disable NAPI on failure to setup the interface 2008-10-22 06:22:11 -04:00
netxen netxen: enable msi-x for quad-gig boards 2008-09-24 18:59:01 -04:00
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-17 08:58:52 -07:00
phy NET: convert the phy_device file to use bus_find_device_by_name 2008-10-16 09:24:52 -07:00
qlge qlge: Fix MSI/legacy single interrupt bug. 2008-10-22 07:00:49 -04:00
sfc sfc: Fix type of FALCON_SPI_MAX_LEN 2008-09-24 18:54:42 -04:00
skfp drivers/net/skfp/pmf.c: Use offsetof() macro 2008-09-24 18:48:56 -04:00
tokenring net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
tulip net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
usb misc: replace remaining __FUNCTION__ with __func__ 2008-10-20 16:17:42 -07:00
wan Merge branch 'genirq-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-20 13:23:01 -07:00
wireless p54: enable 2.4/5GHz spectrum by eeprom bits. 2008-10-22 18:11:04 -04:00
3c59x.c drivers/net: use nr_irqs 2008-10-16 16:52:05 +02:00
3c501.c net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
3c501.h
3c503.c
3c503.h
3c505.c drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
3c505.h
3c507.c
3c509.c Remove Andrew Morton's old email accounts 2008-10-16 11:21:32 -07:00
3c515.c net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
3c523.c
3c523.h
3c527.c
3c527.h
7990.c
7990.h
8139cp.c 8139x: reduce message severity on driver overlap 2008-10-22 07:00:28 -04:00
8139too.c 8139x: reduce message severity on driver overlap 2008-10-22 07:00:28 -04:00
8390.c
8390.h
8390p.c
82596.c
a2065.c
a2065.h
ac3200.c
acenic_firmware.h
acenic.c
acenic.h
amd8111e.c
amd8111e.h
apne.c
ariadne.c
ariadne.h
at1700.c
atarilance.c
atp.c
atp.h
au1000_eth.c net/au1000_eth.c MDIO namespace fixes 2008-10-12 21:02:19 -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: ax_probe() fix irq assignment 2008-10-22 06:22:08 -04:00
b44.c
b44.h
bfin_mac.c net/bfin_mac.c MDIO namespace fixes 2008-10-12 21:15:17 -07:00
bfin_mac.h phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
bmac.c
bmac.h
bnx2_fw2.h
bnx2_fw.h bnx2: Update 5706/5708 firmware. 2008-10-09 12:22:38 -07:00
bnx2.c bnx2: Update version to 1.8.1. 2008-10-09 12:27:06 -07:00
bnx2.h bnx2: Handle DMA mapping errors. 2008-10-09 12:26:41 -07:00
bnx2x_fw_defs.h
bnx2x_hsi.h
bnx2x_init_values.h
bnx2x_init.h
bnx2x_link.c
bnx2x_link.h
bnx2x_main.c bnx2x: EEH recovery fix 2008-09-09 05:07:25 -07:00
bnx2x_reg.h
bnx2x.h bnx2x: Accessing un-mapped page 2008-09-03 14:38:00 -07:00
bsd_comp.c
cassini.c cassini: use request_firmware 2008-09-22 19:27:10 -07:00
cassini.h cassini: use request_firmware 2008-09-22 19:27:10 -07:00
cpmac.c phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
cs89x0.c Remove Andrew Morton's old email accounts 2008-10-16 11:21:32 -07:00
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c
defxx.c
defxx.h
depca.c
depca.h
dl2k.c
dl2k.h
dm9000.c netdev: DM9000: remove BLACKFIN hacking in DM9000 netdev driver 2008-10-22 06:22:15 -04:00
dm9000.h
dummy.c
e100.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-01 06:12:56 -07:00
e2100.c
eepro100.c
eepro.c
eexpress.c net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
eexpress.h
enc28j60_hw.h
enc28j60.c drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
epic100.c
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c netdev: uniquify the tx_timeout name 2008-10-08 17:09:54 -07:00
fec_mpc52xx_phy.c phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
fec_mpc52xx.c [netdrvr] fec_mpc52xx: Implement polling, to make netconsole work. 2008-10-22 07:26:49 -04:00
fec_mpc52xx.h
fec.c
fec.h
forcedeth.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-01 06:12:56 -07:00
gianfar_ethtool.c
gianfar_mii.c phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
gianfar_mii.h
gianfar_sysfs.c
gianfar.c gianfar: fix handle errors returned by platform_get_irq*() 2008-10-22 06:22:07 -04:00
gianfar.h
hamachi.c
hp100.c
hp100.h
hp-plus.c hpplus: fix build regression 2008-09-16 19:35:05 -07:00
hp.c
hplance.c
hplance.h
hydra.c
ibmlana.c net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
ibmlana.h
ibmveth.c
ibmveth.h
ifb.c
ioc3-eth.c
ipg.c
ipg.h
isa-skeleton.c
iseries_veth.c
jazzsonic.c
jme.c net: fix driver build errors due to missing net/ip6_checksum.h include 2008-10-13 18:41:01 -07:00
jme.h jme: Advances version number 2008-10-08 19:51:33 -07:00
Kconfig smc911x: Allow Kconfig dependency on ARM 2008-10-22 07:00:36 -04:00
korina.c
lance.c
lasi_82596.c
lib8390.c lib8390: Fix locking in ei_poll (poll controller) 2008-10-08 16:56:48 -07:00
lib82596.c
LICENSE.SRC
lne390.c
loopback.c
lp486e.c
mac89x0.c
mac8390.c
macb.c phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
macb.h phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
mace.c
mace.h
macmace.c net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
macsonic.c
macvlan.c
Makefile qlge: New Qlogic 10Gb Ethernet Driver. 2008-09-18 11:56:28 -04:00
meth.c drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
meth.h
mii.c
mipsnet.c drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
mv643xx_eth.c mv643xx_eth: include linux/ip.h to fix build 2008-10-08 17:01:31 -07:00
mvme147.c
myri_code.h
myri_sbus.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
myri_sbus.h
natsemi.c netdev: uniquify the tx_timeout name 2008-10-08 17:09:54 -07:00
ne2.c
ne2k-pci.c
ne3210.c
ne-h8300.c
ne.c ne.c: fix rmmod, platform driver improvements 2008-09-24 20:49:00 -04:00
netconsole.c
netx-eth.c drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
niu.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-09-16 14:11:43 -07:00
niu.h
ns83820.c
pasemi_mac_ethtool.c
pasemi_mac.c
pasemi_mac.h
pci-skeleton.c drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
pcnet32.c
plip.c
ppp_async.c
ppp_deflate.c
ppp_generic.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2008-10-16 12:40:26 -07:00
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c
pppoe.c
pppol2tp.c net: Remove __skb_insert() calls outside of skbuff internals. 2008-09-21 21:28:51 -07:00
pppox.c remove CONFIG_KMOD from drivers 2008-10-17 02:38:35 +11:00
ps3_gelic_net.c
ps3_gelic_net.h
ps3_gelic_wireless.c
ps3_gelic_wireless.h
qla3xxx.c
qla3xxx.h
r6040.c r6040: fix wrong assignment in r6040_free_txbufs 2008-09-24 20:48:08 -04:00
r8169.c r8169: checks against wrong mac addresse init 2008-10-22 06:22:06 -04:00
rionet.c
rrunner.c
rrunner.h
s2io-regs.h
s2io.c drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
s2io.h s2io: Fix enabling VLAN tag stripping at driver initialization 2008-09-24 18:49:04 -04:00
sb1000.c
sb1250-mac.c phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
sc92031.c
seeq8005.c
seeq8005.h
sgiseeq.c
sgiseeq.h
sh_eth.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-20 11:17:52 +09:00
sh_eth.h
sis190.c sis190: add identifier for Atheros AR8021 PHY 2008-10-22 07:00:34 -04:00
sis900.c
sis900.h
skge.c skge: Fix skge_set_ring_param() losing error return 2008-10-08 16:02:40 -07:00
skge.h
sky2.c sky2: Fix WOL regression 2008-10-12 20:59:48 -07:00
sky2.h
slhc.c
slip.c
slip.h
smc91x.c Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
smc91x.h Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
smc911x.c smc911x: Make the driver safer on SMP 2008-10-22 07:00:41 -04:00
smc911x.h SMC911x: unbreak PXA builds 2008-10-22 06:22:13 -04:00
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
sni_82596.c
sonic.c
sonic.h
Space.c
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 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
sunbmac.h
sundance.c sundance: set carrier status on link change events 2008-09-24 18:59:01 -04:00
sungem_phy.c
sungem_phy.h
sungem.c
sungem.h
sunhme.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
sunhme.h
sunlance.c sparc: remove CONFIG_SUN4 2008-08-31 20:59:37 -07:00
sunqe.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
sunqe.h
sunvnet.c sparc64: Apply const or __initdata to vio_device_id[] 2008-09-01 01:48:52 -07:00
sunvnet.h
tc35815.c net/tc35815.c: fix compilation 2008-10-12 21:01:53 -07:00
tehuti_fw.h
tehuti.c
tehuti.h drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
tg3.c phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
tg3.h phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
tlan.c net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
tlan.h
tsi108_eth.c drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
tsi108_eth.h
tun.c
typhoon-firmware.h
typhoon.c
typhoon.h
ucc_geth_ethtool.c
ucc_geth_mii.c phylib: move to dynamic allocation of struct mii_bus 2008-10-08 16:29:57 -07:00
ucc_geth_mii.h
ucc_geth.c drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
ucc_geth.h
veth.c
via-rhine.c via-rhine: changed to use netdev_alloc_skb() from dev_alloc_skb 2008-09-03 10:24:04 -04:00
via-velocity.c net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
via-velocity.h drivers/net: replace __FUNCTION__ with __func__ 2008-09-24 18:59:00 -04:00
virtio_net.c
wd.c
xen-netfront.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-17 08:58:52 -07:00
yellowfin.c
znet.c
zorro8390.c