1. 19 Sep, 2016 3 commits
  2. 15 Sep, 2016 5 commits
  3. 14 Sep, 2016 30 commits
  4. 09 Sep, 2016 2 commits
    • 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
    • Uma Krishnan's avatar
      scsi: cxlflash: Scan host only after the port is ready for I/O · bbbfae96
      Uma Krishnan authored
      When a port link is established, the AFU sends a 'link up' interrupt.
      After the link is up, corresponding initialization steps are performed
      on the card. Following that, when the card is ready for I/O, the AFU
      sends 'login succeeded' interrupt. Today, cxlflash invokes
      scsi_scan_host() upon receipt of both interrupts.
      
      SCSI commands sent to the port prior to the 'login succeeded' interrupt
      will fail with 'port not available' error. This is not desirable.
      Moreover, when async_scan is active for the host, subsequent scan calls
      are terminated with error. Due to this, the scsi_scan_host() call
      performed after 'login succeeded' interrupt could portentially return
      error and the devices may not be scanned properly.
      
      To avoid this problem, scsi_scan_host() should be called only after the
      'login succeeded' interrupt.
      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>
      bbbfae96