linux/drivers/scsi/cxlflash
Uma Krishnan babf985d1e scsi: cxlflash: Remove the device cleanly in the system shutdown path
Commit 704c4b0ddc ("cxlflash: Shutdown notify support for CXL Flash
cards") was recently introduced to notify the AFU when a system is going
down. Due to the position of the cxlflash driver in the device stack,
cxlflash devices are _always_ removed during a reboot/shutdown. This can
lead to a crash if the cxlflash shutdown hook is invoked _after_ the
shutdown hook for the owning virtual PHB. Furthermore, the current
implementation of shutdown/remove hooks for cxlflash are not tolerant to
being invoked when the device is not enabled. This can also lead to a
crash in situations where the remove hook is invoked after the device
has been removed via the vPHBs shutdown hook. An example of this
scenario would be an EEH reset failure while a reboot/shutdown is in
progress.

To solve both problems, the shutdown hook for cxlflash is updated to
simply remove the device. This path already includes the AFU
notification and thus this solution will continue to perform the
original intent. At the same time, the remove hook is updated to protect
against being called when the device is not enabled.

Fixes: 704c4b0ddc ("cxlflash: Shutdown notify support for CXL Flash
cards")
Signed-off-by: Uma Krishnan <ukrishn@linux.vnet.ibm.com>
Acked-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2016-09-09 07:34:58 -04:00
..
common.h powerpc updates for 4.6 2016-03-19 15:38:41 -07:00
Kconfig
lunmgt.c cxlflash: Fix to avoid corrupting port selection mask 2015-10-30 17:23:55 +09:00
main.c scsi: cxlflash: Remove the device cleanly in the system shutdown path 2016-09-09 07:34:58 -04:00
main.h powerpc updates for 4.8 # 1 2016-07-30 21:01:36 -07:00
Makefile cxlflash: Virtual LUN support 2015-08-26 18:05:39 -07:00
sislite.h cxlflash: Shutdown notify support for CXL Flash cards 2016-07-12 23:16:31 -04:00
superpipe.c scsi: cxlflash: Remove adapter file descriptor cache 2016-08-23 22:23:52 -04:00
superpipe.h scsi: cxlflash: Remove adapter file descriptor cache 2016-08-23 22:23:52 -04:00
vlun.c scsi: cxlflash: Transition to application close model 2016-08-23 22:23:41 -04:00
vlun.h cxlflash: Virtual LUN support 2015-08-26 18:05:39 -07:00