cxl: Poll for outstanding IRQs when detaching a context
authorMichael Neuling <mikey@neuling.org>
Fri, 22 Apr 2016 04:57:49 +0000 (14:57 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 27 Apr 2016 02:04:48 +0000 (12:04 +1000)
commit2bc79ffcbb817873cc43d63118008ab75181b73d
tree2f11750e0420af56962e11ef0c7da69f03e24eb3
parentd6776bba44d9752f6cdf640046070e71ee4bba7b
cxl: Poll for outstanding IRQs when detaching a context

When detaching contexts, we may still have interrupts in the system
which are yet to be delivered to any CPU and be acked in the PSL.
This can result in a subsequent unrelated process getting an spurious
IRQ or an interrupt for a non-existent context.

This polls the PSL to ensure that the PSL is clear of IRQs for the
detached context, before removing the context from the idr.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Tested-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Acked-by: Ian Munsie <imunsie@au1.ibm.com>
Tested-by: Vaibhav Jain <vaibhav@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
drivers/misc/cxl/context.c
drivers/misc/cxl/cxl.h
drivers/misc/cxl/native.c