]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: lpfc: Fix issue_lip if link is disabled
authorJames Smart <jsmart2021@gmail.com>
Tue, 30 Jan 2018 23:58:55 +0000 (15:58 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 May 2018 05:47:44 +0000 (07:47 +0200)
[ Upstream commit 2289e9598dde9705400559ca2606fb8c145c34f0 ]

The driver ignored checks on whether the link should be kept
administratively down after a link bounce. Correct the checks.

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/scsi/lpfc/lpfc_attr.c

index a53dc1c71fd2396e1c183ffc55acf1adc6ca610b..aa347c3ed33a7f63df739e2b6d7a29ac99307657 100644 (file)
@@ -629,7 +629,12 @@ lpfc_issue_lip(struct Scsi_Host *shost)
        LPFC_MBOXQ_t *pmboxq;
        int mbxstatus = MBXERR_ERROR;
 
+       /*
+        * If the link is offline, disabled or BLOCK_MGMT_IO
+        * it doesn't make any sense to allow issue_lip
+        */
        if ((vport->fc_flag & FC_OFFLINE_MODE) ||
+           (phba->hba_flag & LINK_DISABLED) ||
            (phba->sli.sli_flag & LPFC_BLOCK_MGMT_IO))
                return -EPERM;