[SCSI] bfa: fix missing unlock on error in bfad_iocmd_cfg_trunk()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Fri, 20 Dec 2013 02:51:23 +0000 (10:51 +0800)
committerJames Bottomley <JBottomley@Parallels.com>
Sat, 15 Mar 2014 17:19:00 +0000 (10:19 -0700)
Add the missing unlock before return from function bfad_iocmd_cfg_trunk()
in the error handling case.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Acked-by: Vijaya Mohan Guvva <vmohan@brocade.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/bfa/bfad_bsg.c

index 157f6044a9bb08f97c214466c2a58d09d2617212..8994fb857ee9e6693a1d01e4998cf1b4e544004e 100644 (file)
@@ -2304,8 +2304,10 @@ bfad_iocmd_cfg_trunk(struct bfad_s *bfad, void *cmd, unsigned int v_cmd)
 
        spin_lock_irqsave(&bfad->bfad_lock, flags);
 
-       if (bfa_fcport_is_dport(&bfad->bfa))
+       if (bfa_fcport_is_dport(&bfad->bfa)) {
+               spin_unlock_irqrestore(&bfad->bfad_lock, flags);
                return BFA_STATUS_DPORT_ERR;
+       }
 
        if ((fcport->cfg.topology == BFA_PORT_TOPOLOGY_LOOP) ||
                (fcport->topology == BFA_PORT_TOPOLOGY_LOOP))