Vignesh R
a1bfb6eb30
serial: 8250: 8250_omap: Fix race b/w dma completion and RX timeout
...
DMA RX completion handler for UART is called from a tasklet and hence
may be delayed depending on the system load. In meanwhile, there may be
RX timeout interrupt which can get serviced first before DMA RX
completion handler is executed for the completed transfer.
omap_8250_rx_dma_flush() which is called on RX timeout interrupt makes
sure that the DMA RX buffer is pushed and then the FIFO is drained and
also queues a new DMA request. But, when DMA RX completion handler
executes, it will erroneously flush the currently queued DMA transfer
which sometimes results in data corruption and double queueing of DMA RX
requests.
Fix this by checking whether RX completion is for the currently queued
transfer or not. And also hold port lock when in DMA completion to avoid
race wrt RX timeout handler preempting it.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-29 17:03:10 +02:00
..
accessibility
acpi
Merge branches 'acpi-button', 'acpica' and 'acpi-sysfs'
2017-06-03 00:03:29 +02:00
amba
android
ata
atm
auxdisplay
base
Merge branches 'pm-sleep' and 'powercap'
2017-05-22 20:32:05 +02:00
bcma
block
A small fix for rbd FALLOC_FL_ZERO_RANGE/PUNCH_HOLE handling breakage
2017-06-02 12:03:07 -07:00
bluetooth
bus
cdrom
char
Fix a race on architectures with prioritized interrupts (such as m68k)
2017-06-02 16:19:47 -07:00
clk
clocksource
Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2017-05-12 10:43:25 -07:00
connector
cpufreq
Merge branch 'pm-cpufreq'
2017-06-03 00:01:45 +02:00
cpuidle
crypto
dax
dax: fix false CONFIG_BLOCK dependency
2017-05-13 16:18:21 -07:00
dca
devfreq
dio
dma
dmaengine: pl330: fix warning in pl330_remove
2017-06-02 11:49:44 +05:30
dma-buf
edac
eisa
extcon
firewire
firmware
Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2017-06-02 08:51:53 -07:00
fmc
fpga
fsi
gpio
gpu
DP quirk for usb c dongles
2017-06-02 11:32:38 -07:00
hid
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
2017-06-02 09:23:56 -07:00
hsi
hv
hwmon
hwmon: (aspeed-pwm-tacho) make fan/pwm names start with index 1
2017-06-03 03:55:43 -07:00
hwspinlock
hwtracing
i2c
i2c: designware: Fix bogus sda_hold_time due to uninitialized vars
2017-05-22 19:22:19 -07:00
ide
idle
iio
infiniband
RDMA/SA: Fix kernel panic in CMA request handler flow
2017-06-01 17:20:14 -04:00
input
Input: axp20x-pek - switch to acpi_dev_present and check for ACPI0011 too
2017-06-02 17:53:20 -07:00
iommu
iommu/mediatek: Include linux/dma-mapping.h
2017-05-17 14:51:54 +02:00
ipack
irqchip
Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2017-05-21 11:45:26 -07:00
isdn
leds
leds: pca955x: Correct I2C Functionality
2017-05-22 21:12:44 +02:00
lguest
lightnvm
macintosh
mailbox
mcb
md
- a DM verity fix for a mode when no salt is used
2017-06-02 11:50:37 -07:00
media
mtk-vcodec: Use designated initializers
2017-05-28 10:23:02 -07:00
memory
memory: omap-gpmc: Fix debug output for access width
2017-05-16 08:12:47 -07:00
memstick
message
mfd
misc
sgi-xp: Use designated initializers
2017-05-28 10:22:42 -07:00
mmc
This pull request contains fixes to make the WiFi work again for the ARM64
2017-05-26 09:05:35 -07:00
mtd
mtd: nand: make nand_ooblayout_lp_hamming_ops static
2017-05-22 09:42:29 +02:00
net
net: ethernet: ax88796: don't call free_irq without request_irq first
2017-05-26 14:55:38 -04:00
nfc
ntb
nubus
nvdimm
Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
2017-05-12 15:43:10 -07:00
nvme
nvme: Quirk APST on Intel 600P/P3100 devices
2017-05-26 11:53:02 +03:00
nvmem
of
MMC host:
2017-05-24 08:21:56 -07:00
oprofile
parisc
parport
pci
PCI/PM: Add needs_resume flag to avoid suspend complete optimization
2017-05-23 14:18:17 -05:00
pcmcia
perf
drivers/perf: arm_pmu_acpi: avoid perf IRQ init when guest PMU is off
2017-05-30 12:40:03 +01:00
phy
pinctrl
pinctrl: sunxi: Fix SPDIF function name for A83T
2017-05-23 11:31:27 +02:00
platform
pnp
power
power supply and reset changes for the v4.12 series (part 2)
2017-05-12 12:02:21 -07:00
powercap
PowerCap: Fix an error code in powercap_register_zone()
2017-05-14 13:30:05 +02:00
pps
ps3
ptp
pwm
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
Merge branches 'pm-sleep' and 'powercap'
2017-05-22 20:32:05 +02:00
s390
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
2017-05-16 09:24:44 -07:00
sbus
scsi
SCSI fixes on 20170603
2017-06-04 11:15:43 -07:00
sfi
sh
sn
soc
ARM: SoC fixes (and a cross-arch dt-include fix)
2017-05-19 13:36:56 -07:00
spi
spmi
ssb
staging
staging: fsl-dpaa2/eth: add ETHERNET dependency
2017-05-16 14:23:31 +02:00
target
iscsi-target: Always wait for kthread_should_stop() before kthread exit
2017-05-31 15:12:57 -07:00
tc
tee
Linux 4.12-rc1
2017-05-18 23:54:47 -07:00
thermal
thermal: broadcom: ns-thermal: default on iProc SoCs
2017-05-23 20:09:34 -07:00
thunderbolt
tty
serial: 8250: 8250_omap: Fix race b/w dma completion and RX timeout
2017-06-29 17:03:10 +02:00
uio
uio: fix incorrect memory leak cleanup
2017-05-16 23:06:41 +02:00
usb
USB: serial: ftdi_sio: remove broken alt-speed handling
2017-06-13 11:49:58 +02:00
uwb
uwb: fix device quirk on big-endian hosts
2017-05-17 11:27:41 +02:00
vfio
vhost
video
fbdev changes for v4.12:
2017-05-11 11:12:26 -07:00
virt
virtio
vlynq
vme
w1
watchdog
watchdog: bcm281xx: Fix use of uninitialized spinlock.
2017-05-19 10:42:25 +02:00
xen
zorro
Kconfig
Makefile