linux/drivers
Maciej W. Rozycki 8848761f94 defxx: Add missing DMA synchronisation calls
This adds DMA synchronisation calls needed in the receive path:

1. To retrieve the Receive Status word that is prepended by the PDQ DMA
   engine in the receive buffer, and provides information about the
   frame received, including its size and any errors.

2. To make data received available for copying in the small-frame case
   (size <= SKBUFF_RX_COPYBREAK) where the original DMA buffer will be
   returned to the receive descriptor ring and therefore its mapping
   retained.

   With DMA mapping error handling in place, added by the other patch,
   this may now also trigger where an attempt to map a newly allocated
   buffer for DMA has failed.  In that case data from the original buffer
   will be copied out and the buffer returned to the DMA descriptor ring.

These calls may do nothing when data is in the host DMA addressing range
of the FDDI interface, such as always on 32-bit systems, however their
absence makes frame reception stop functioning reliably on systems that
have memory beyond the low 4GB of the address space.

Reported-by: Robert Coerver <Robert.Coerver@ll.mit.edu>
Tested-by: Robert Coerver <Robert.Coerver@ll.mit.edu>
Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-07-08 15:30:27 -07:00
..
accessibility
acpi Merge branches 'acpi-general', 'acpi-processor', 'acpi-lpss' and 'acpi-battery' 2014-06-19 14:40:48 +02:00
amba
ata
atm
auxdisplay
base DMA, CMA: fix possible memory leak 2014-06-23 16:47:44 -07:00
bcma bcma: add driver for PCIe Gen 2 core 2014-07-07 16:32:16 -04:00
block rbd: handle parent_overlap on writes correctly 2014-06-23 12:55:37 +04:00
bluetooth
bus bus/arm-cci: add dependency on OF && CPU_V7 2014-06-17 17:09:35 +02:00
cdrom
char random: fix entropy accounting bug introduced in v3.15 2014-06-17 14:23:14 -10:00
clk This pull request contains the second half the of the clk changes for 2014-06-15 16:02:20 -10:00
clocksource clocksource: exynos_mct: Don't reset the counter during boot and resume 2014-06-17 00:23:29 +09:00
connector
cpufreq cpufreq: unlock when failing cpufreq_update_policy() 2014-06-18 21:52:20 +02:00
cpuidle cpuidle: mvebu: Fix the name of the states 2014-06-18 21:54:46 +02:00
crypto
dca
devfreq
dio
dma
edac
eisa
extcon
firewire
firmware
fmc
gpio
gpu sound fixes for 3.16-rc2 2014-06-19 18:49:37 -10:00
hid
hsi
hv
hwmon hwmon: (gpio-fan) Change name used in hwmon_device_register_with_groups 2014-06-25 15:16:09 -07:00
hwspinlock
i2c i2c: sun6-p2wi: fix call to snprintf 2014-06-17 14:28:04 +02:00
ide
idle
iio First set of IIO fixes for the 3.16 cycle. 2014-06-18 10:41:08 -07:00
infiniband rdma/cxgb4: Fixes cxgb4 probe failure in VM when PF is exposed through PCI Passthrough 2014-07-01 18:56:10 -07:00
input
iommu
ipack
irqchip
isdn isdn: hisax: Drop duplicate Kconfig entry 2014-06-16 21:31:37 -07:00
leds
lguest
macintosh powerpc/macintosh/smu.c: Fix closing brace followed by if 2014-06-24 12:43:15 +10:00
mailbox
mcb
md
media Merge branch 'topic/omap3isp' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2014-06-12 23:04:28 -07:00
memory
memstick drivers/memstick/host/rtsx_pci_ms.c: add cancel_work when remove driver 2014-06-23 16:47:44 -07:00
message
mfd
misc ARM: SoC fixes for 3.16 2014-06-25 12:19:01 -07:00
mmc
mtd
net defxx: Add missing DMA synchronisation calls 2014-07-08 15:30:27 -07:00
nfc
ntb
nubus
of Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-25 21:08:24 -07:00
oprofile
parisc
parport
pci
pcmcia
phy
pinctrl
platform
pnp
power
powercap
pps
ps3
ptp ptp: Allow reassigning calibration pin function 2014-07-01 18:52:54 -07:00
pwm
rapidio
regulator Merge remote-tracking branches 'regulator/fix/as3722', 'regulator/fix/ltc3589' and 'regulator/fix/palmas' into regulator-linus 2014-06-16 16:05:57 +01:00
remoteproc remoteproc: da8xx: don't select CMA on no-MMU 2014-06-17 17:09:36 +02:00
reset
rpmsg
rtc drivers/rtc/rtc-puv3.c: remove "&dev->" for typo issue MIME-Version: 1.0 2014-06-20 08:22:39 +08:00
s390 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2014-06-21 06:47:01 -10:00
sbus
scsi drivers: scsi: mvsas: fix compiling issue by adding 'MVS_' for "enum pci_interrupt_cause" 2014-06-20 08:22:39 +08:00
sfi
sh
sn
soc
spi
spmi
ssb
staging imx-drm: parallel-display: Fix DPMS default state. 2014-06-19 17:33:37 -07:00
target
tc
thermal
tty ARM: SoC fixes for 3.16 2014-06-25 12:19:01 -07:00
uio Revert "uio: fix vma io range check in mmap" 2014-06-17 16:07:08 -07:00
usb USB: usbtest: add a timeout for scatter-gather tests 2014-06-17 17:05:50 -07:00
uwb
vfio
vhost vhost-scsi: don't open-code kvfree 2014-06-23 09:22:48 +03:00
video Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux 2014-06-19 18:40:36 -10:00
virt
virtio
vlynq
vme
w1 w1: mxc_w1: Fix incorrect "presence" status 2014-06-19 17:51:46 -07:00
watchdog Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2014-06-21 06:47:01 -10:00
xen xen: regression and PVH fixes for 3.16-rc1 2014-06-19 07:53:27 -10:00
zorro
Kconfig
Makefile