• Uma Krishnan's avatar
    scsi: cxlflash: Remove the device cleanly in the system shutdown path · babf985d
    Uma Krishnan authored
    Commit 704c4b0d ("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: 704c4b0d ("cxlflash: Shutdown notify support for CXL Flash
    cards")
    Signed-off-by: default avatarUma Krishnan <ukrishn@linux.vnet.ibm.com>
    Acked-by: default avatarMatthew R. Ochs <mrochs@linux.vnet.ibm.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    babf985d
main.c 72.8 KB