[PATCH v4] cxl: Force context lock during EEH flow

Matthew R. Ochs mrochs at linux.vnet.ibm.com
Tue Apr 18 01:02:47 AEST 2017


> On Apr 5, 2017, at 6:35 AM, Vaibhav Jain <vaibhav at linux.vnet.ibm.com> wrote:
> 
> During an eeh event when the cxl card is fenced and card sysfs attr
> perst_reloads_same_image is set following warning message is seen in the
> kernel logs:
> 
> [   60.622727] Adapter context unlocked with 0 active contexts
> [   60.622762] ------------[ cut here ]------------
> [   60.622771] WARNING: CPU: 12 PID: 627 at
> ../drivers/misc/cxl/main.c:325 cxl_adapter_context_unlock+0x60/0x80 [cxl]
> 
> Even though this warning is harmless, it clutters the kernel log
> during an eeh event. This warning is triggered as the EEH callback
> cxl_pci_error_detected doesn't obtain a context-lock before forcibly
> detaching all active context and when context-lock is released during
> call to cxl_configure_adapter from cxl_pci_slot_reset, a warning in
> cxl_adapter_context_unlock is triggered.
> 
> To fix this warning, we acquire the adapter context-lock via
> cxl_adapter_context_lock() in the eeh callback
> cxl_pci_error_detected() once all the virtual AFU PHBs are notified
> and their contexts detached. The context-lock is released in
> cxl_pci_slot_reset() after the adapter is successfully reconfigured
> and before we call slot_reset callback on slice attached device-drivers.
> 
> Cc: stable at vger.kernel.org
> Fixes: 70b565bbdb91("cxl: Prevent adapter reset if an active context exists")
> Reported-by: Andrew Donnellan <andrew.donnellan at au1.ibm.com>
> Signed-off-by: Vaibhav Jain <vaibhav at linux.vnet.ibm.com>

Looks good. Uma should be following up later today after testing completes.

Reviewed-by: Matthew R. Ochs <mrochs at linux.vnet.ibm.com>



More information about the Linuxppc-dev mailing list