linux-stable/drivers
Lennert Buytenhek 65193a91fc mv643xx_eth: don't fiddle with maximum receive packet size setting
The maximum receive packet size field in the Port Serial Control
register controls at what size received packets are flagged
overlength in the receive descriptor, but it doesn't prevent
overlength packets from being DMAd to memory and signaled to the
host like other received packets.

mv643xx_eth does not support receiving jumbo frames in 10/100 mode,
but setting the packet threshold to larger than 1522 bytes in 10/100
mode won't cause breakage by itself.

If we really want to enforce maximum packet size on the receiving
end instead of on the sending end where it should be done, we can
always just add a length check to the software receive handler
instead of relying on the hardware to do the comparison for us.

What's more, changing the maximum packet size field requires
temporarily disabling the RX/TX paths.  So once the link comes
up in 10/100 Mb/s mode or 1000 Mb/s mode, we'd have to disable it
again just to set the right maximum packet size field (1522 in
10/100 Mb/s mode or 9700 in 1000 Mb/s mode), just so that we can
offload one comparison operation to hardware that we might as well
do in software, assuming that we'd want to do it at all.

Contrary to what the documentation suggests, there is no harm in
just setting a 9700 byte maximum packet size in 10/100 mode, so use
the maximum maximum packet size for all modes.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
2008-07-24 06:22:51 +02:00
..
accessibility
acpi driver core: fix a lot of printk usages of bus_id 2008-07-21 21:54:53 -07:00
amba
ata Merge commit 'origin/master' 2008-07-16 11:07:59 +10:00
atm Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
auxdisplay
base sysdev: Add utility functions for simple int/ulong variable sysdev attributes 2008-07-21 21:55:02 -07:00
block device create: block: convert device_create to device_create_drvdata 2008-07-21 21:54:41 -07:00
bluetooth Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-20 17:43:29 -07:00
cdrom
char Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2008-07-22 13:13:47 -07:00
clocksource Fix printk format warning in clocksource/acpi_pm.c 2008-07-15 11:01:39 -07:00
connector
cpufreq Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq 2008-07-21 15:10:37 -07:00
cpuidle sysdev: Pass the attribute to the low level sysdev show/store function 2008-07-21 21:55:02 -07:00
crypto crypto: ixp4xx - Select CRYPTO_AUTHENC 2008-07-13 20:12:11 +08:00
dca device create: dca: convert device_create to device_create_drvdata 2008-07-21 21:54:41 -07:00
dio dio: use dio_match_device() in dio_bus_match() 2008-07-20 17:24:40 -07:00
dma
edac powerpc/cell/edac: Log a syndrome code in case of correctable error 2008-07-22 10:39:36 +10:00
eisa driver core: remove DEVICE_NAME_SIZE define 2008-07-21 21:54:53 -07:00
firewire Merge branch 'sbp2-spindown' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2008-07-15 12:39:44 -07:00
firmware Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 2008-07-14 15:51:11 -07:00
gpio gpio: pcf857x: add lock and handle more chips 2008-07-22 09:59:41 -07:00
gpu drm/radeon: fixup issue with radeon and PAT support. 2008-07-15 15:48:05 +10:00
hid device create: hid: convert device_create to device_create_drvdata 2008-07-21 21:54:42 -07:00
hwmon device create: hwmon: convert device_create to device_create_drvdata 2008-07-21 21:54:42 -07:00
i2c Driver Core: add ability for class_for_each_device to start in middle of list 2008-07-21 21:54:47 -07:00
ide device create: ide: convert device_create to device_create_drvdata 2008-07-21 21:54:42 -07:00
ieee1394 Driver Core: add ability for class_find_device to start in middle of list 2008-07-21 21:54:47 -07:00
infiniband infiniband: make cm_device use a struct device and not a kobject. 2008-07-21 21:54:49 -07:00
input Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 into next 2008-07-21 00:55:14 -04:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2008-07-22 13:13:47 -07:00
leds
lguest Merge branch 'generic-ipi' into generic-ipi-for-linus 2008-07-15 21:55:59 +02:00
macintosh device create: macintosh: convert device_create to device_create_drvdata 2008-07-21 21:54:43 -07:00
mca driver core: remove DEVICE_NAME_SIZE define 2008-07-21 21:54:53 -07:00
md Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm 2008-07-21 10:30:10 -07:00
media device create: dvb: convert device_create to device_create_drvdata 2008-07-21 21:54:42 -07:00
memstick driver core: remove DEVICE_ID_SIZE define 2008-07-21 21:54:53 -07:00
message driver core: remove KOBJ_NAME_LEN define 2008-07-21 21:54:52 -07:00
mfd mfd: let asic3 use mem resource instead of bus_shift 2008-07-20 19:56:44 +02:00
misc HP iLO driver 2008-07-21 21:55:02 -07:00
mmc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc 2008-07-16 15:17:52 -07:00
mtd MTD: handle pci_name() being const 2008-07-21 21:55:03 -07:00
net mv643xx_eth: don't fiddle with maximum receive packet size setting 2008-07-24 06:22:51 +02:00
nubus
of OpenFirmware: Include <linux/of_i2c.h> from of_i2c.c. 2008-07-12 12:10:52 -06:00
oprofile
parisc
parport
pci driver core: remove KOBJ_NAME_LEN define 2008-07-21 21:54:52 -07:00
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-fixes-2.6 2008-07-17 10:55:07 -07:00
pnp PNPACPI: add support for HP vendor-specific CCSR descriptors 2008-07-16 23:27:07 +02:00
power Driver Core: add ability for class_for_each_device to start in middle of list 2008-07-21 21:54:47 -07:00
ps3
rapidio rapidio: fix device reference counting 2008-07-10 18:04:43 -07:00
rtc Driver Core: add ability for class_find_device to start in middle of list 2008-07-21 21:54:47 -07:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-22 19:09:51 -07:00
sbus sparc64: fix up bus_id changes in sparc core code 2008-07-21 21:55:03 -07:00
scsi driver core: remove KOBJ_NAME_LEN define 2008-07-21 21:54:52 -07:00
serial port_fixups: Fix ups for tty port changes 2008-07-22 13:03:29 -07:00
sh
sn
spi Driver Core: add ability for class_find_device to start in middle of list 2008-07-21 21:54:47 -07:00
ssb
tc
telephony
thermal
uio UIO: add generic UIO platform driver 2008-07-21 21:54:55 -07:00
usb Re-delete zombie 'drivers/usb/serial/airprime.c' file 2008-07-22 19:06:00 -07:00
video Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2008-07-22 13:16:01 -07:00
virtio
w1 w1/ds2482: Convert to a new-style driver 2008-07-16 19:30:07 +02:00
watchdog Merge commit 'origin/master' 2008-07-16 11:07:59 +10:00
xen sysdev: Pass the attribute to the low level sysdev show/store function 2008-07-21 21:55:02 -07:00
zorro zorro: use memory_read_from_buffer 2008-07-20 17:24:38 -07:00
Kconfig
Makefile gpu: re-order GPU subdirectory vs char for AGP vs DRM startup. 2008-07-21 08:42:49 +10:00