linux/drivers/misc
Daniel Axtens 0b3f9c757c cxl: Drop commands if the PCI channel is not in normal state
If the PCI channel has gone down, don't attempt to poke the hardware.

We need to guard every time cxl_whatever_(read|write) is called. This
is because a call to those functions will dereference an offset into an
mmio register, and the mmio mappings get invalidated in the EEH
teardown.

Check in the read/write functions in the header.
We give them the same semantics as usual PCI operations:
 - a write to a channel that is down is ignored.
 - a read from a channel that is down returns all fs.

Also, we try to access the MMIO space of a vPHB device as part of the
PCI disable path. Because that's a read that bypasses most of our usual
checks, we handle it explicitly.

As far as user visible warnings go:
 - Check link state in file ops, return -EIO if down.
 - Be reasonably quiet if there's an error in a teardown path,
   or when we already know the hardware is going down.
 - Throw a big WARN if someone tries to start a CXL operation
   while the card is down. This gives a useful stacktrace for
   debugging whatever is doing that.

Signed-off-by: Daniel Axtens <dja@axtens.net>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2015-08-14 21:32:03 +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: Drop commands if the PCI channel is not in normal state 2015-08-14 21:32:03 +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 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 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 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 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 Add MODULE_DESCRIPTION to dummy-irq.c and lkdtm.c in drivers/misc 2014-07-09 14:19:34 -07:00
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 MAINTAINERS: add entry for VMware Balloon driver 2014-06-20 11:47:33 -07:00