alistair23-linux/drivers/misc
Ian Munsie eb01d4c238 cxl: Fix PSL error due to duplicate segment table entries
In certain circumstances the PSL (Power Service Layer, which provides
translation services for CXL hardware) can send an interrupt for a
segment miss that the kernel has already handled. This can happen if
multiple translations for the same segment are queued in the PSL before
the kernel has restarted the first translation.

The CXL driver does not expect this situation and does not check if a
segment had already been handled. This could cause a duplicate segment
table entry which in turn caused a PSL error taking down the card.

This patch fixes the issue by checking for existing entries in the
segment table that match the segment we are trying to insert, so as to
avoid inserting duplicate entries.

Signed-off-by: Ian Munsie <imunsie@au1.ibm.com>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-28 19:52:52 +11:00
..
altera-stapl altera-stapl: replace strnicmp with strncasecmp 2014-10-14 02:18:25 +02:00
c2port
carma Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2014-10-18 18:11:04 -07:00
cb710
cxl cxl: Fix PSL error due to duplicate segment table entries 2014-10-28 19:52:52 +11:00
echo
eeprom EEPROM: Introduce the use of devm_kzalloc 2014-09-23 23:04:17 -07:00
fuse soc/tegra: Add efuse driver for Tegra 2014-07-17 14:36:01 +02:00
genwqe GenWQE: Support blocking when DDCB queue is busy 2014-09-23 23:15:47 -07:00
ibmasm
lis3lv02d
mei Char/Misc driver patches for 3.18-rc1 2014-10-08 06:55:41 -04:00
mic virtio: unify config_changed handling 2014-10-15 10:24:54 +10:30
sgi-gru Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next 2014-06-03 15:48:23 -07:00
sgi-xp net: set name_assign_type in alloc_netdev() 2014-07-15 16:12:48 -07:00
ti-st misc: st_core: Protect unsigned value against becoming negative 2014-09-23 23:14:28 -07:00
vmw_vmci PCI changes for the v3.18 merge window: 2014-10-09 15:03:49 -04:00
ad525x_dpot-i2c.c
ad525x_dpot-spi.c
ad525x_dpot.c
ad525x_dpot.h
apds990x.c
apds9802als.c
arm-charlcd.c misc: arm-charlcd: add DT probe support 2014-05-03 19:26:25 -04:00
atmel-ssc.c ASoC: atmel-ssc: distinguish whether SSC supports fslen ext 2014-06-21 11:37:32 +01:00
atmel_tclib.c ARM: at91/tclib: mask interruptions at shutdown and probe 2014-09-08 10:54:03 +02:00
bh1770glc.c misc: bh1770glc: Use managed functions 2014-07-22 16:28:11 -07:00
bh1780gli.c misc: bh1780: Introduce the use of devm_kzalloc 2014-07-27 11:10:42 -07:00
bmp085-i2c.c
bmp085-spi.c
bmp085.c
bmp085.h
cs5535-mfgpt.c
ds1682.c misc: (ds1682) replace obsolete simple_strtoull() with kstrtoull() 2014-05-03 19:26:24 -04:00
dummy-irq.c Add MODULE_DESCRIPTION to dummy-irq.c and lkdtm.c in drivers/misc 2014-07-09 14:19:34 -07:00
enclosure.c
fsa9480.c
hmc6352.c
hpilo.c
hpilo.h
ics932s401.c
ioc4.c misc: ioc4: Use ktime_get_ns() 2014-07-23 15:01:43 -07:00
isl29003.c
isl29020.c
Kconfig cxl: Add base builtin support 2014-10-08 20:15:56 +11:00
kgdbts.c
lattice-ecp3-config.c misc: lattice-ecp3-config: Add missing MODULE_FIRMWARE() 2014-09-23 23:04:17 -07:00
lkdtm.c Add MODULE_DESCRIPTION to dummy-irq.c and lkdtm.c in drivers/misc 2014-07-09 14:19:34 -07:00
Makefile cxl: Add base builtin support 2014-10-08 20:15:56 +11:00
pch_phub.c
phantom.c
pti.c
spear13xx_pcie_gadget.c pcie-gadget-spear: use devm_ functions 2014-09-23 23:04:17 -07:00
sram.c
ti_dac7512.c
tifm_7xx1.c
tifm_core.c
tsl2550.c
vexpress-syscfg.c misc: vexpress: Fix sparse non static symbol warnings 2014-07-22 16:28:11 -07:00
vmw_balloon.c MAINTAINERS: add entry for VMware Balloon driver 2014-06-20 11:47:33 -07:00