1. 27 Apr, 2021 1 commit
  2. 22 Apr, 2021 1 commit
  3. 16 Apr, 2021 37 commits
  4. 13 Apr, 2021 1 commit
    • Brian King's avatar
      scsi: ibmvfc: Fix invalid state machine BUG_ON() · 15cfef86
      Brian King authored
      This fixes an issue hitting the BUG_ON() in ibmvfc_do_work(). When going
      through a host action of IBMVFC_HOST_ACTION_RESET, we change the action to
      IBMVFC_HOST_ACTION_TGT_DEL, then drop the host lock, and reset the CRQ,
      which changes the host state to IBMVFC_NO_CRQ. If, prior to setting the
      host state to IBMVFC_NO_CRQ, ibmvfc_init_host() is called, it can then end
      up changing the host action to IBMVFC_HOST_ACTION_INIT.  If we then change
      the host state to IBMVFC_NO_CRQ, we will then hit the BUG_ON().
      
      Make a couple of changes to avoid this. Leave the host action to be
      IBMVFC_HOST_ACTION_RESET or IBMVFC_HOST_ACTION_REENABLE until after we drop
      the host lock and reset or reenable the CRQ. Also harden the host state
      machine to ensure we cannot leave the reset / reenable state until we've
      finished processing the reset or reenable.
      
      Link: https://lore.kernel.org/r/20210413001009.902400-1-tyreld@linux.ibm.com
      Fixes: 73ee5d86 ("[SCSI] ibmvfc: Fix soft lockup on resume")
      Signed-off-by: default avatarBrian King <brking@linux.vnet.ibm.com>
      [tyreld: added fixes tag]
      Signed-off-by: default avatarTyrel Datwyler <tyreld@linux.ibm.com>
      [mkp: fix comment checkpatch warnings]
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      15cfef86