Fixed not able to perform PCI function reset when board was not in online mode


Signed-off-by: James Smart <james.sm...@emulex.com>

 ---

 lpfc_attr.c |   11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)


diff -upNr a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
--- a/drivers/scsi/lpfc/lpfc_attr.c     2013-07-15 07:15:26.536056032 -0400
+++ b/drivers/scsi/lpfc/lpfc_attr.c     2013-07-15 07:15:28.343056073 -0400
@@ -741,14 +741,15 @@ lpfc_selective_reset(struct lpfc_hba *ph
        int status = 0;
        int rc;
 
-       if ((!phba->cfg_enable_hba_reset) ||
-           (phba->pport->fc_flag & FC_OFFLINE_MODE))
+       if (!phba->cfg_enable_hba_reset)
                return -EACCES;
 
-       status = lpfc_do_offline(phba, LPFC_EVT_OFFLINE);
+       if (!(phba->pport->fc_flag & FC_OFFLINE_MODE)) {
+               status = lpfc_do_offline(phba, LPFC_EVT_OFFLINE);
 
-       if (status != 0)
-               return status;
+               if (status != 0)
+                       return status;
+       }
 
        init_completion(&online_compl);
        rc = lpfc_workq_post_event(phba, &status, &online_compl,




--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to