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 c2port: convert class code to use bin_attrs in groups 2013-07-24 15:39:05 -07:00
carma Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2014-10-18 18:11:04 -07:00
cb710 mmc: cb710: drop free_irq for devm_request_irq allocated irq 2013-09-26 13:55:30 -07:00
cxl cxl: Fix PSL error due to duplicate segment table entries 2014-10-28 19:52:52 +11:00
echo staging: echo: move to drivers/misc/ 2014-02-28 14:08:42 -08:00
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 misc: ibmasm: remove unnecessary pci_set_drvdata() 2013-09-26 09:13:54 -07:00
lis3lv02d drivers/misc: delete non-required instances of include <linux/init.h> 2014-02-07 15:10:19 -08:00
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 drivers/misc: delete non-required instances of include <linux/init.h> 2014-02-07 15:10:19 -08:00
ad525x_dpot.h
apds990x.c
apds9802als.c drivers/misc: delete non-required instances of include <linux/init.h> 2014-02-07 15:10:19 -08:00
arm-charlcd.c misc: arm-charlcd: add DT probe support 2014-05-03 19:26:25 -04:00
atmel_tclib.c ARM: at91/tclib: mask interruptions at shutdown and probe 2014-09-08 10:54:03 +02:00
atmel-ssc.c ASoC: atmel-ssc: distinguish whether SSC supports fslen ext 2014-06-21 11:37:32 +01: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 misc: bmp085: Clean up and enable use of interrupt for completion. 2013-12-04 20:23:51 -08:00
bmp085-spi.c misc: bmp085: Clean up and enable use of interrupt for completion. 2013-12-04 20:23:51 -08:00
bmp085.c drivers/misc: delete non-required instances of include <linux/init.h> 2014-02-07 15:10:19 -08:00
bmp085.h misc: bmp085: Clean up and enable use of interrupt for completion. 2013-12-04 20:23:51 -08:00
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 [SCSI] enclosure: fix WARN_ON in dual path device removing 2013-12-02 11:13:14 -08:00
fsa9480.c treewide: fix comments and printk msgs 2014-01-07 15:06:07 +01:00
hmc6352.c drivers/misc: delete non-required instances of include <linux/init.h> 2014-02-07 15:10:19 -08:00
hpilo.c drivers/misc/hpilo: Correct panic when an AUX iLO is detected 2013-08-14 14:46:22 -07:00
hpilo.h
ics932s401.c hwmon: Change my email address. 2013-08-27 08:28:01 -07:00
ioc4.c misc: ioc4: Use ktime_get_ns() 2014-07-23 15:01:43 -07:00
isl29003.c drivers/misc: delete non-required instances of include <linux/init.h> 2014-02-07 15:10:19 -08:00
isl29020.c drivers/misc: delete non-required instances of include <linux/init.h> 2014-02-07 15:10:19 -08:00
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 pch_phub: Report error writing MAC back to user 2014-03-08 22:15:51 -08:00
phantom.c misc: phantom: remove deprecated IRQF_DISABLED 2013-10-16 12:36:10 -07:00
pti.c misc: pti: remove unnecessary pci_set_drvdata() 2013-09-26 09:13:54 -07:00
spear13xx_pcie_gadget.c pcie-gadget-spear: use devm_ functions 2014-09-23 23:04:17 -07:00
sram.c misc: sram: implement reserved sram areas 2014-02-28 15:31:11 -08:00
ti_dac7512.c drivers/misc: delete non-required instances of include <linux/init.h> 2014-02-07 15:10:19 -08:00
tifm_7xx1.c tifm: fix error return code in tifm_7xx1_probe() 2013-10-30 10:19:30 -07:00
tifm_core.c tifm: convert bus code to use dev_groups 2013-10-16 18:40:58 -07:00
tsl2550.c drivers/misc: delete non-required instances of include <linux/init.h> 2014-02-07 15:10:19 -08:00
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