lineage_android_kernel_sams.../drivers
Alexandre Bounine 13bbf8c9ea rapidio/tsi721: fix bug in MSI interrupt handling
commit 1ccc819da6fda9bee10ab8b72e9adbb5ad3e4959 upstream.

Fix bug in MSI interrupt handling which causes loss of event
notifications.

Typical indication of lost MSI interrupts are stalled message and
doorbell transfers between RapidIO endpoints.  To avoid loss of MSI
interrupts all interrupts from the device must be disabled on entering
the interrupt handler routine and re-enabled when exiting it.
Re-enabling device interrupts will trigger new MSI message(s) if Tsi721
registered new events since entering interrupt handler routine.

This patch is applicable to kernel versions starting from v3.2.

Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com>
Cc: Matt Porter <mporter@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: Qiang Huang <h.huangqiang@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-07 16:02:14 -07:00
..
accessibility
acpi ACPI / blacklist: Add dmi_enable_osi_linux quirk for Asus EEE PC 1015PX 2014-06-07 16:02:03 -07:00
amba
ata ata_piix: Add Device IDs for Intel Lynx Point-LP PCH 2014-06-07 16:02:14 -07:00
atm skb: Add inline helper for getting the skb end offset from head 2014-06-07 16:02:00 -07:00
auxdisplay
base drivercore: deferral race condition fix 2014-06-07 16:02:01 -07:00
bcma
block nbd: fsync and kill block device on shutdown 2014-06-07 16:02:10 -07:00
bluetooth
cdrom drivers/cdrom/cdrom.c: use kzalloc() for failing hardware 2013-07-13 11:03:40 -07:00
char ipmi: Reset the KCS timeout when starting error recovery 2014-06-07 16:02:00 -07:00
clk clk: remove notifier from list before freeing it 2013-06-27 11:27:30 -07:00
clocksource
connector proc connector: reject unprivileged listener bumps 2014-03-11 16:10:03 -07:00
cpufreq powernow-k6: reorder frequencies 2014-04-14 06:44:34 -07:00
cpuidle
crypto crypto: caam - add allocation failure handling in SPRINTFCAT macro 2014-06-07 16:02:03 -07:00
dca
devfreq
dio
dma dma: ste_dma40: don't dereference free:d descriptor 2014-03-11 16:10:02 -07:00
edac i82975x_edac: Fix dimm label initialization 2014-06-07 16:02:06 -07:00
eisa EISA/PCI: Fix bus res reference 2013-04-12 09:38:44 -07:00
firewire firewire: don't use PREPARE_DELAYED_WORK 2014-03-23 21:37:06 -07:00
firmware x86, efivars: firmware bug workarounds should be in platform code 2014-06-07 16:02:10 -07:00
gpio gpio: mxs: Allow for recursive enable_irq_wake() call 2014-05-13 14:11:31 +02:00
gpu drm/radeon: always program the MC on startup 2014-06-07 16:02:13 -07:00
hid HID: hidraw: correctly deallocate memory on device disconnect 2014-04-14 06:44:19 -07:00
hsi
hv drivers: hv: switch to use mb() instead of smp_mb() 2014-06-07 16:02:10 -07:00
hwmon hwmon: (emc1403) Support full range of known chip revision numbers 2014-06-07 16:02:01 -07:00
hwspinlock hwspinlock: fix __hwspin_lock_request error path 2013-04-12 09:38:46 -07:00
i2c i2c: tegra: check the clk_prepare_enable() return value 2014-06-07 16:02:14 -07:00
ide
idle intel_idle: Don't register CPU notifier if we are not running. 2014-06-07 16:02:07 -07:00
ieee802154
infiniband ib_srpt: Use correct ib_sg_dma primitives 2014-05-06 07:51:43 -07:00
input Input: synaptics - adjust threshold for treating position values as negative 2014-06-07 16:02:06 -07:00
iommu intel-iommu: fix off-by-one in pagetable freeing 2014-02-13 11:51:08 -08:00
isdn isdnloop: several buffer overflows 2014-04-26 17:13:18 -07:00
leds drivers/leds/leds-ot200.c: fix error caused by shifted mask 2013-06-07 12:49:13 -07:00
lguest
macintosh
mca
md dm thin: fix discard corruption 2014-06-07 16:02:05 -07:00
media media: media-device: fix infoleak in ioctl media_enum_entities() 2014-06-07 16:02:02 -07:00
memstick
message
mfd mfd: max8997: Fix possible NULL pointer dereference on i2c_new_dummy error 2014-05-06 07:51:41 -07:00
misc MISC: hpilo, remove pci_disable_device 2014-06-07 16:02:06 -07:00
mmc mmc: mxs-mmc: fix deadlock caused by recursion loop 2014-04-14 06:44:32 -07:00
mtd UBI: erase free PEB with bitflip in EC header 2014-06-07 16:02:06 -07:00
net ixgbe: fix registration order of driver and DCA nofitication 2014-06-07 16:02:14 -07:00
nfc
nubus
of of: Fix missing memory initialization on FDT unflattening 2013-09-26 17:15:51 -07:00
oprofile
parisc
parport parport: parport_pc: remove double PCI ID for NetMos 2014-02-06 11:05:47 -08:00
pci PCI: shpchp: Use per-slot workqueues to avoid deadlock 2014-06-07 16:02:07 -07:00
pcmcia pcmcia: at91_cf: fix gpio_get_value in at91_cf_get_status 2013-07-21 18:19:01 -07:00
pinctrl
platform msi-wmi: Fix memory leak 2014-06-07 16:02:14 -07:00
pnp
power power: max17040: Fix NULL pointer dereference when there is no platform_data 2014-02-22 10:32:46 -08:00
pps pps: Fix a use-after free bug when unregistering a source. 2014-04-14 06:44:17 -07:00
ps3
ptp
rapidio rapidio/tsi721: fix bug in MSI interrupt handling 2014-06-07 16:02:14 -07:00
regulator regulator: max8998: Ensure enough delay time for max8998_set_voltage_buck_time_sel 2014-06-07 16:02:07 -07:00
remoteproc
rpmsg
rtc drivers/rtc/rtc-pl031.c: restore ST variant functionality 2014-06-07 16:02:14 -07:00
s390 qeth: avoid buffer overflow in snmp ioctl 2013-12-04 10:50:30 -08:00
sbus
scsi SCSI: megaraid: missing bounds check in mimd_to_kioc() 2014-05-18 05:25:54 -07:00
sfi
sh
sn
spi spi: Fix crash with double message finalisation on error handling 2014-02-22 10:32:45 -08:00
ssb ssb: implement spurious tone avoidance 2013-04-25 21:19:55 -07:00
staging speakup: lower default software speech rate 2014-06-07 16:02:14 -07:00
target target/tcm_fc: Fix use-after-free of ft_tpg 2014-05-06 07:51:44 -07:00
tc
thermal thermal: return an error on failure to register thermal class 2013-04-12 09:38:47 -07:00
tty n_gsm: replace kfree_skb w/ appropriate dev_* versions 2014-06-07 16:02:09 -07:00
uio Fix a few incorrectly checked [io_]remap_pfn_range() calls 2013-11-29 10:50:32 -08:00
usb USB: Nokia 5300 should be treated as unusual dev 2014-06-07 16:02:02 -07:00
uwb
vhost vhost: validate vhost_get_vq_desc return value 2014-04-26 17:13:17 -07:00
video tgafb: fix mode setting with fbset 2014-05-18 05:25:57 -07:00
virt
virtio virtio_balloon: don't softlockup on huge balloon changes. 2014-05-13 14:11:30 +02:00
vlynq
w1 w1: fix w1_send_slave dropping a slave id 2014-05-06 07:51:41 -07:00
watchdog sc1200_wdt: Fix oops 2013-12-20 07:34:21 -08:00
xen xen/events: mask events when changing their VCPU binding 2014-03-11 16:10:07 -07:00
zorro
Kconfig
Makefile