linux-uconsole/drivers/misc
Frederic Barrat 6124ed1a71 cxl: Fix driver use count
commit 197267d035 upstream.

cxl keeps a driver use count, which is used with the hash memory model
on p8 to know when to upgrade local TLBIs to global and to trigger
callbacks to manage the MMU for PSL8.

If a process opens a context and closes without attaching or fails the
attachment, the driver use count is never decremented. As a
consequence, TLB invalidations remain global, even if there are no
active cxl contexts.

We should increment the driver use count when the process is attaching
to the cxl adapter, and not on open. It's not needed before the
adapter starts using the context and the use count is decremented on
the detach path, so it makes more sense.

It affects only the user api. The kernel api is already doing The
Right Thing.

Signed-off-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com>
Fixes: 7bb5d91a4d ("cxl: Rework context lifetimes")
Acked-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
[ajd: backport to stable v4.4 tree]
Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-10-05 09:41:47 +02:00
..
altera-stapl drivers/misc/altera-stapl/altera.c: remove extraneous KERN_INFO prefix 2015-06-25 17:00:38 -07:00
c2port drivers/misc/c2port/c2port-duramar2150.c: checking for NULL instead of IS_ERR() 2017-06-26 07:13:10 +02:00
cb710
cxl cxl: Fix driver use count 2017-10-05 09:41:47 +02:00
echo
eeprom - New Device Support 2015-11-06 10:23:50 -08:00
genwqe GenWQE: Fix bad page access during abort of resource allocation 2016-11-10 16:36:33 +01:00
ibmasm
lis3lv02d spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
mei mei: me: add lewisburg device ids 2017-08-30 10:19:22 +02:00
mic misc: mic/scif: fix wrap around tests 2016-05-04 14:48:51 -07:00
sgi-gru misc: sgi-gru: fix return of error 2015-10-04 12:55:59 +01:00
sgi-xp mm: rename alloc_pages_exact_node() to __alloc_pages_node() 2015-09-08 15:35:28 -07:00
ti-st ti-st: use worker instead of calling st_int_write in wake up 2015-09-20 22:52:13 -07:00
vmw_vmci misc/vmw_vmci: use kmemdup rather than duplicating its implementation 2015-09-20 19:27:58 -07:00
ad525x_dpot-i2c.c misc: ad525x_dpot: Remove unnecessary MODULE_ALIAS() 2015-09-20 19:33:29 -07:00
ad525x_dpot-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
ad525x_dpot.c drivers/misc/ad525x_dpot: AD5274 fix RDAC read back errors 2016-05-04 14:48:52 -07:00
ad525x_dpot.h
apds990x.c misc: Drop owner assignment from i2c_driver 2015-08-10 08:37:35 +02:00
apds9802als.c
arm-charlcd.c
atmel-ssc.c
atmel_tclib.c misc: atmel_tclib: get and use slow clock 2015-10-06 12:33:14 +02:00
bh1770glc.c misc: Drop owner assignment from i2c_driver 2015-08-10 08:37:35 +02:00
bh1780gli.c
bmp085-i2c.c misc: Drop owner assignment from i2c_driver 2015-08-10 08:37:35 +02:00
bmp085-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
bmp085.c
bmp085.h
cs5535-mfgpt.c
ds1682.c misc: ds1682: clean up ds1682_eeprom_read() and ds1682_eeprom_write() 2015-08-05 13:53:39 -07:00
dummy-irq.c
enclosure.c scsi: ses: do not add a device to an enclosure if enclosure_add_links() fails. 2017-07-27 15:06:04 -07:00
fsa9480.c
hmc6352.c
hpilo.c misc: hpilo: Change e-mail address from hp.com to hpe.com 2015-10-04 12:42:33 +01:00
hpilo.h
ics932s401.c
ioc4.c
isl29003.c misc: Drop owner assignment from i2c_driver 2015-08-10 08:37:35 +02:00
isl29020.c
Kconfig misc/bmp085: Enable building as a module 2016-05-04 14:48:51 -07:00
kgdbts.c drivers/misc: make kgdbts.c slightly more explicitly non-modular 2015-09-20 19:32:35 -07:00
lattice-ecp3-config.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
lkdtm.c lkdtm: fix ACCESS_USERSPACE test 2015-10-29 09:02:16 +09:00
Makefile ARM: qcom: Add coincell charger driver 2015-07-29 13:37:18 -07:00
pch_phub.c
phantom.c
pti.c
qcom-coincell.c ARM: qcom: Add coincell charger driver 2015-07-29 13:37:18 -07:00
spear13xx_pcie_gadget.c spear13xx_pcie_gadget: use per-attribute show and store methods 2015-10-13 22:17:40 -07:00
sram.c misc: sram: partition base address belongs to __iomem space 2015-10-18 19:00:36 -07:00
ti_dac7512.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
tifm_7xx1.c
tifm_core.c
tsl2550.c misc: Drop owner assignment from i2c_driver 2015-08-10 08:37:35 +02:00
vexpress-syscfg.c
vmw_balloon.c mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM 2015-11-06 17:50:42 -08:00