android_kernel_xiaomi_sm8350/drivers/net
Andrea Righi 27ac792ca0 PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures
On 32-bit architectures PAGE_ALIGN() truncates 64-bit values to the 32-bit
boundary. For example:

	u64 val = PAGE_ALIGN(size);

always returns a value < 4GB even if size is greater than 4GB.

The problem resides in PAGE_MASK definition (from include/asm-x86/page.h for
example):

#define PAGE_SHIFT      12
#define PAGE_SIZE       (_AC(1,UL) << PAGE_SHIFT)
#define PAGE_MASK       (~(PAGE_SIZE-1))
...
#define PAGE_ALIGN(addr)       (((addr)+PAGE_SIZE-1)&PAGE_MASK)

The "~" is performed on a 32-bit value, so everything in "and" with
PAGE_MASK greater than 4GB will be truncated to the 32-bit boundary.
Using the ALIGN() macro seems to be the right way, because it uses
typeof(addr) for the mask.

Also move the PAGE_ALIGN() definitions out of include/asm-*/page.h in
include/linux/mm.h.

See also lkml discussion: http://lkml.org/lkml/2008/6/11/237

[akpm@linux-foundation.org: fix drivers/media/video/uvc/uvc_queue.c]
[akpm@linux-foundation.org: fix v850]
[akpm@linux-foundation.org: fix powerpc]
[akpm@linux-foundation.org: fix arm]
[akpm@linux-foundation.org: fix mips]
[akpm@linux-foundation.org: fix drivers/media/video/pvrusb2/pvrusb2-dvb.c]
[akpm@linux-foundation.org: fix drivers/mtd/maps/uclinux.c]
[akpm@linux-foundation.org: fix powerpc]
Signed-off-by: Andrea Righi <righi.andrea@gmail.com>
Cc: <linux-arch@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-24 10:47:21 -07:00
..
appletalk
arcnet
arm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-22 19:09:51 -07:00
atl1e [netdrvr] atl1d: fix !CONFIG_PM build 2008-07-22 21:17:38 -04:00
atlx atl1: Do not wake queue before queue has been started. 2008-07-21 08:28:37 -07:00
bonding netdev: Handle ->addr_list_lock just like ->_xmit_lock for lockdep. 2008-07-22 14:16:42 -07:00
can
chelsio cxgb: delete non NAPI code from the driver. 2008-07-11 01:11:42 -04:00
cris
cxgb3 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
e1000 e1000: make ioport free 2008-07-22 19:39:14 -04:00
e1000e igb/ixgbe/e1000e: resolve tx multiqueue bug 2008-07-18 04:33:03 -07:00
ehea ehea: Access iph->tot_len with correct endianness 2008-07-04 08:15:28 -04:00
fs_enet Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-22 19:09:51 -07:00
hamradio netdev: Handle ->addr_list_lock just like ->_xmit_lock for lockdep. 2008-07-22 14:16:42 -07:00
ibm_newemac Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
igb net: igb_main.c fix sparse integer as NULL pointer warning 2008-07-22 17:54:12 -04:00
irda Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-20 17:43:29 -07:00
ixgb netdrv intel: always enable VLAN filtering except in promiscous mode 2008-07-16 20:16:14 -07:00
ixgbe ixgbe: remove device ID for unsupported device 2008-07-22 19:31:00 -04:00
ixp2000
mlx4 PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures 2008-07-24 10:47:21 -07:00
myri10ge myri10ge: use ioremap_wc 2008-07-22 16:09:13 -04:00
netxen netxen: Needs to include linux/vmalloc.h 2008-07-22 18:29:10 -07:00
pcmcia Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-28 01:19:40 -07:00
phy net/phy: Fix 88e1111 copper/fiber selection in RGMII mode 2008-07-22 17:59:12 -04:00
sfc sfc: Create one RX queue and interrupt per CPU package by default 2008-07-22 19:44:15 -04:00
skfp
tokenring Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
tulip de4x5: Remove developer debug feature about set/clear promisc 2008-07-22 16:09:09 -04:00
usb rndis_host: support WM6 devices as modems 2008-07-22 19:45:49 -04:00
wan device create: net: convert device_create to device_create_drvdata 2008-07-21 21:54:44 -07:00
wireless ipw2200: Call netif_*_queue() interfaces properly. 2008-07-22 18:32:47 -07:00
3c59x.c 3c59x: handle pci_name() being const 2008-07-21 21:55:03 -07:00
3c501.c
3c501.h
3c503.c 8390: Split 8390 support into a pausing and a non pausing driver core 2008-07-04 08:47:51 -04:00
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 [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
8139too.c 8139too: Fall back to PIO when MMIO fails. 2008-07-22 17:59:30 -04:00
8390.c
8390.h 8390: Split 8390 support into a pausing and a non pausing driver core 2008-07-04 08:47:51 -04:00
8390p.c 8390: Split 8390 support into a pausing and a non pausing driver core 2008-07-04 08:47:51 -04:00
82596.c
a2065.c
a2065.h
ac3200.c
acenic_firmware.h
acenic.c
acenic.h
amd8111e.c amd8111e: delete non NAPI code from the driver. 2008-07-07 22:40:58 -07:00
amd8111e.h
apne.c
ariadne.c ariadne: use netstats in net_device structure 2008-07-20 17:24:38 -07:00
ariadne.h
at1700.c
atarilance.c
atp.c
atp.h
au1000_eth.c netdev: bunch of drivers: avoid WARN at net/core/dev.c:1328 2008-07-22 15:41:24 -07:00
au1000_eth.h
ax88796.c
b44.c ssb, b43, b43legacy, b44: Rewrite SSB DMA API 2008-06-27 09:09:15 -04:00
b44.h
bfin_mac.c netdev: bunch of drivers: avoid WARN at net/core/dev.c:1328 2008-07-22 15:41:24 -07:00
bfin_mac.h
bmac.c
bmac.h
bnx2_fw2.h bnx2: Update TPAT firmware 2008-07-18 17:54:17 -07:00
bnx2_fw.h
bnx2.c bnx2: Update version to 1.7.9. 2008-07-18 17:58:57 -07:00
bnx2.h bnx2: Add TX multiqueue support. 2008-07-18 17:55:11 -07:00
bnx2x_fw_defs.h bnx2x: Add support for BCM57711 HW 2008-06-23 20:33:01 -07:00
bnx2x_hsi.h bnx2x: New statistics code 2008-06-23 20:33:36 -07:00
bnx2x_init_values.h bnx2x: New microcode part 3/3 2008-06-23 20:32:28 -07:00
bnx2x_init.h bnx2x: Add support for BCM57711 HW 2008-06-23 20:33:01 -07:00
bnx2x_link.c bnx2x: Add support for BCM57711 HW 2008-06-23 20:33:01 -07:00
bnx2x_link.h bnx2x: Adding bnx2x_link 2008-06-23 20:27:26 -07:00
bnx2x_main.c bnx2x: Update version 2008-06-23 20:36:51 -07:00
bnx2x_reg.h bnx2x: Add support for BCM57711 HW 2008-06-23 20:33:01 -07:00
bnx2x.h bnx2x: Add TPA, Broadcoms HW LRO 2008-06-23 20:34:36 -07:00
bsd_comp.c
cassini.c
cassini.h
cpmac.c netdev: bunch of drivers: avoid WARN at net/core/dev.c:1328 2008-07-22 15:41:24 -07:00
cs89x0.c
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c
defxx.c
defxx.h
depca.c
depca.h
dl2k.c [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
dl2k.h
dm9000.c DM9000: Remove magic numbers 2008-07-22 17:54:07 -04:00
dm9000.h DM9000: Add support for DM9000A and DM9000B chips 2008-06-24 22:57:16 -04:00
dummy.c
e100.c e100: Do pci_dma_sync after skb_alloc for proper operation on ixp4xx 2008-06-27 01:30:59 -04:00
e2100.c
eepro100.c
eepro.c
eexpress.c
eexpress.h
enc28j60_hw.h
enc28j60.c net/enc28j60: low power mode 2008-06-17 23:07:29 -04:00
epic100.c
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c [netdrvr] fealnx: clean up nasty mess of arch ifdefs 2008-06-28 10:23:37 -04:00
fec_mpc52xx_phy.c
fec_mpc52xx.c netdev: bunch of drivers: avoid WARN at net/core/dev.c:1328 2008-07-22 15:41:24 -07:00
fec_mpc52xx.h
fec.c
fec.h
forcedeth.c netdev: Add netdev->addr_list_lock protection. 2008-07-15 00:13:44 -07:00
gianfar_ethtool.c gianfar: Add magic packet and suspend/resume support. 2008-07-16 17:57:47 -05:00
gianfar_mii.c
gianfar_mii.h
gianfar_sysfs.c
gianfar.c Merge commit 'origin/master' 2008-07-22 17:12:37 +10:00
gianfar.h Merge commit 'origin/master' 2008-07-22 17:12:37 +10:00
hamachi.c
hp100.c
hp100.h
hp-plus.c net 8390p: fix interface usage 2008-07-22 17:50:44 -04:00
hp.c net 8390p: fix interface usage 2008-07-22 17:50:44 -04:00
hplance.c
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c
ibmveth.h
ifb.c pkt_sched: Kill netdev_queue lock. 2008-07-17 19:21:30 -07:00
ioc3-eth.c
ipg.c ipg: run-time configurable jumbo frame support 2008-07-04 08:46:54 -04:00
ipg.h ipg: run-time configurable jumbo frame support 2008-07-04 08:46:54 -04:00
isa-skeleton.c
iseries_veth.c
jazzsonic.c
Kconfig e1000: delete non NAPI code from the driver 2008-07-22 19:39:11 -04:00
korina.c
lance.c
lasi_82596.c
lib8390.c
lib82596.c
LICENSE.SRC
lne390.c
loopback.c netdev: netdev_priv() can now be sane again. 2008-07-17 19:21:09 -07:00
lp486e.c
mac89x0.c
mac8390.c
macb.c netdev: bunch of drivers: avoid WARN at net/core/dev.c:1328 2008-07-22 15:41:24 -07:00
macb.h
mace.c
mace.h
macmace.c
macsonic.c
macvlan.c netdev: Handle ->addr_list_lock just like ->_xmit_lock for lockdep. 2008-07-22 14:16:42 -07:00
Makefile atl1e: Atheros L1E Gigabit Ethernet driver 2008-07-22 19:31:04 -04:00
meth.c Fix typo in meth driver 2008-07-22 19:34:21 -04:00
meth.h
mii.c
mipsnet.c
mv643xx_eth.c mv643xx_eth: fix NETPOLL build 2008-07-22 19:56:37 -04:00
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c
ne2.c net 8390p: fix interface usage 2008-07-22 17:50:44 -04:00
ne2k-pci.c
ne3210.c
ne-h8300.c
ne.c net 8390p: fix interface usage 2008-07-22 17:50:44 -04:00
netconsole.c configfs: Allow ->make_item() and ->make_group() to return detailed errors. 2008-07-17 15:21:29 -07:00
netx-eth.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
niu.c niu: Add TX multiqueue support. 2008-07-17 19:21:17 -07:00
niu.h
ns83820.c
pasemi_mac_ethtool.c
pasemi_mac.c pasemi_mac: Access iph->tot_len with correct endianness 2008-07-04 08:15:31 -04:00
pasemi_mac.h
pci-skeleton.c [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
pcnet32.c
plip.c
ppp_async.c tty: Ldisc revamp 2008-07-20 17:12:34 -07:00
ppp_deflate.c
ppp_generic.c device create: net: convert device_create to device_create_drvdata 2008-07-21 21:54:44 -07:00
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c tty: Ldisc revamp 2008-07-20 17:12:34 -07:00
pppoe.c pppoe: warning fix 2008-06-20 21:58:02 -07:00
pppol2tp.c
pppox.c
ps3_gelic_net.c
ps3_gelic_net.h
ps3_gelic_wireless.c wext: Emit event stream entries correctly when compat. 2008-06-16 18:50:49 -07:00
ps3_gelic_wireless.h
qla3xxx.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-28 01:19:40 -07:00
qla3xxx.h
r6040.c r6040: rework init_one error handling 2008-07-22 20:00:01 -04:00
r8169.c r8169: avoid thrashing PCI conf space above RTL_GIGA_MAC_VER_06 2008-07-20 19:49:30 +02:00
rionet.c
rrunner.c
rrunner.h
s2io-regs.h
s2io.c net: Use queue aware tests throughout. 2008-07-17 19:21:07 -07:00
s2io.h S2io: Enable msi-x link interrupts. 2008-07-11 01:11:40 -04:00
sb1000.c
sb1250-mac.c
sc92031.c
seeq8005.c
seeq8005.h
sgiseeq.c
sgiseeq.h
sh_eth.c netdev: bunch of drivers: avoid WARN at net/core/dev.c:1328 2008-07-22 15:41:24 -07:00
sh_eth.h net: sh_eth: Fix compile error sh_eth 2008-06-28 10:23:33 -04:00
sis190.c
sis900.c
sis900.h
skge.c
skge.h
sky2.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-19 16:00:04 -07:00
sky2.h sky2: 88E8057 chip support 2008-06-17 23:59:39 -04:00
slhc.c
slip.c tty: Ldisc revamp 2008-07-20 17:12:34 -07:00
slip.h
smc91x.c [NET] smc91x: prepare SMC_USE_PXA_DMA to be specified in platform data 2008-07-12 21:52:41 +01:00
smc91x.h [ARM] pxa: make littleton to use the new smc91x platform data 2008-07-12 21:52:41 +01:00
smc911x.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-13 20:52:39 -07:00
smc911x.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-13 20:52:39 -07: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 starfire: delete non NAPI code from the driver. 2008-07-07 22:40:42 -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
sungem.h
sunhme.c sunhme: Remove stop/wake TX queue calls in set-multicast-list handler. 2008-07-21 08:34:49 -07:00
sunhme.h
sunlance.c
sunqe.c
sunqe.h
sunvnet.c
sunvnet.h
tc35815.c netdev: bunch of drivers: avoid WARN at net/core/dev.c:1328 2008-07-22 15:41:24 -07:00
tehuti_fw.h
tehuti.c netdrv: don't truncate VLAN TCI with VLAN stripping 2008-07-06 20:48:41 -07:00
tehuti.h netdrv: don't truncate VLAN TCI with VLAN stripping 2008-07-06 20:48:41 -07:00
tg3.c
tg3.h
tlan.c
tlan.h
tsi108_eth.c [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
tsi108_eth.h
tun.c net: tun.c fix cast 2008-07-22 17:54:17 -04:00
typhoon-firmware.h
typhoon.c [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
typhoon.h
ucc_geth_ethtool.c
ucc_geth_mii.c drivers/net: Use linux/of_{device,platform}.h instead of asm 2008-06-30 22:30:36 +10:00
ucc_geth_mii.h
ucc_geth.c ucc_geth: do not touch net queue in adjust_link phylib callback 2008-07-21 08:30:36 -07:00
ucc_geth.h
veth.c
via-rhine.c via-rhine: delete non NAPI code from the driver. 2008-07-11 01:11:43 -04:00
via-velocity.c via-velocity: add velocity_set_rxbufsize helper 2008-07-11 01:10:15 -04:00
via-velocity.h via-velocity: remove the bounce buffers 2008-07-11 01:10:13 -04:00
virtio_net.c virtio_net: Set VIRTIO_NET_F_GUEST_CSUM feature 2008-07-11 01:20:33 -04:00
wd.c
xen-netfront.c xen-netfront: fix xennet_release_tx_bufs() 2008-07-16 10:55:36 +02:00
yellowfin.c
znet.c
zorro8390.c