[SCSI] lpfc 8.3.32: Correct provisioning change failure on local function
Fixed system held-up when performing resource provsion through same PCI function Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:

committed by
James Bottomley

parent
bbeb79b90e
commit
618a5230b8
@@ -8984,7 +8984,7 @@ lpfc_sli_hba_down(struct lpfc_hba *phba)
|
||||
int i;
|
||||
|
||||
/* Shutdown the mailbox command sub-system */
|
||||
lpfc_sli_mbox_sys_shutdown(phba);
|
||||
lpfc_sli_mbox_sys_shutdown(phba, LPFC_MBX_WAIT);
|
||||
|
||||
lpfc_hba_down_prep(phba);
|
||||
|
||||
@@ -9996,11 +9996,17 @@ lpfc_sli_issue_mbox_wait(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmboxq,
|
||||
* sub-system flush routine to gracefully bring down mailbox sub-system.
|
||||
**/
|
||||
void
|
||||
lpfc_sli_mbox_sys_shutdown(struct lpfc_hba *phba)
|
||||
lpfc_sli_mbox_sys_shutdown(struct lpfc_hba *phba, int mbx_action)
|
||||
{
|
||||
struct lpfc_sli *psli = &phba->sli;
|
||||
unsigned long timeout;
|
||||
|
||||
if (mbx_action == LPFC_MBX_NO_WAIT) {
|
||||
/* delay 100ms for port state */
|
||||
msleep(100);
|
||||
lpfc_sli_mbox_sys_flush(phba);
|
||||
return;
|
||||
}
|
||||
timeout = msecs_to_jiffies(LPFC_MBOX_TMO * 1000) + jiffies;
|
||||
|
||||
spin_lock_irq(&phba->hbalock);
|
||||
|
Reference in New Issue
Block a user