linux/drivers/misc
Andrew Donnellan 7c26b9cf53 cxl: Allow release of contexts which have been OPENED but not STARTED
If we open a context but do not start it (either because we do not attempt
to start it, or because it fails to start for some reason), we are left
with a context in state OPENED. Previously, cxl_release_context() only
allowed releasing contexts in state CLOSED, so attempting to release an
OPENED context would fail.

In particular, this bug causes available contexts to run out after some EEH
failures, where drivers attempt to release contexts that have failed to
start.

Allow releasing contexts in any state with a value lower than STARTED, i.e.
OPENED or CLOSED (we can't release a STARTED context as it's currently
using the hardware, and we assume that contexts in any new states which may
be added in future with a value higher than STARTED are also unsafe to
release).

Cc: stable@vger.kernel.org
Fixes: 6f7f0b3df6 ("cxl: Add AFU virtual PHB and kernel API")
Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Signed-off-by: Daniel Axtens <dja@axtens.net>
Acked-by: Ian Munsie <imunsie@au1.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2015-08-20 16:15:23 +10:00
..
altera-stapl drivers/misc/altera-stapl/altera.c: remove extraneous KERN_INFO prefix 2015-06-25 17:00:38 -07:00
c2port
cb710
cxl cxl: Allow release of contexts which have been OPENED but not STARTED 2015-08-20 16:15:23 +10:00
echo
eeprom Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
genwqe GenWQE: remove unnecessary version.h inclusion 2015-01-12 05:04:11 -08:00
ibmasm
lis3lv02d kernel/params: constify struct kernel_param_ops uses 2015-05-28 11:32:10 +09:30
mei mei: nfc: fix deadlock on shutdown/suspend path 2015-07-07 15:04:12 -07:00
mic misc: mic: Fix reported static checker warning 2015-06-12 17:01:43 -07:00
sgi-gru
sgi-xp x86/asm/entry: Change all 'user_mode_vm()' calls to 'user_mode()' 2015-03-23 11:14:17 +01:00
ti-st ti-st: handle null allocation return correctly. 2015-05-24 12:16:47 -07:00
vmw_vmci VMCI: Guard against overflow in queue pair allocation 2015-03-25 11:32:15 +01:00
ad525x_dpot-i2c.c
ad525x_dpot-spi.c ad525x_dpot-spi: Added Blank lines after declarations 2015-01-12 05:04:12 -08:00
ad525x_dpot.c ad525x_dpot:Remove break after return 2015-01-12 05:04:12 -08:00
ad525x_dpot.h
apds990x.c misc / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM 2014-12-05 02:56:02 +01:00
apds9802als.c
arm-charlcd.c misc: drop owner assignment from platform_drivers 2014-10-20 16:20:54 +02:00
atmel_tclib.c ARM: at91/tclib: mask interruptions at shutdown and probe 2014-09-08 10:54:03 +02:00
atmel-ssc.c Char/Misc driver patches for 3.19-rc1 2014-12-14 16:43:47 -08:00
bh1770glc.c misc / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM 2014-12-05 02:56:02 +01:00
bh1780gli.c misc: bh1780: Add module aliases 2015-03-16 21:10:28 +01:00
bmp085-i2c.c
bmp085-spi.c
bmp085.c
bmp085.h
cs5535-mfgpt.c misc: drop owner assignment from platform_drivers 2014-10-20 16:20:54 +02:00
ds1682.c
dummy-irq.c
enclosure.c enclosure: fix WARN_ON removing an adapter in multi-path devices 2015-03-31 08:53:36 +03:00
fsa9480.c
hmc6352.c
hpilo.c
hpilo.h
ics932s401.c
ioc4.c misc: ioc4: simplify wave period measurement in clock_calibrate 2015-01-12 05:04:11 -08:00
isl29003.c
isl29020.c
Kconfig misc: remove drivers for CARMA hardware 2015-05-24 12:11:55 -07:00
kgdbts.c clone: support passing tls argument via C rather than pt_regs magic 2015-06-25 17:00:38 -07:00
lattice-ecp3-config.c misc: lattice-ecp3-config: Add missing MODULE_FIRMWARE() 2014-09-23 23:04:17 -07:00
lkdtm.c
Makefile misc: remove drivers for CARMA hardware 2015-05-24 12:11:55 -07:00
pch_phub.c pch_phub: Build context save/restore only for PM 2014-11-07 10:28:36 -08:00
phantom.c
pti.c
spear13xx_pcie_gadget.c Pratyush Anand has moved 2015-06-25 17:00:38 -07:00
sram.c misc: sram: sort and clean up included headers 2015-06-12 17:03:57 -07:00
ti_dac7512.c
tifm_7xx1.c misc: tifm: match return type of wait_for_completion_timeout 2015-03-25 11:36:38 +01:00
tifm_core.c
tsl2550.c
vexpress-syscfg.c ARM: vexpress: Remove non-DT code 2014-11-28 16:08:16 +01:00
vmw_balloon.c