From 900a36e3277ac9109fe364a6a1420c71265f9377 Mon Sep 17 00:00:00 2001 From: Giridhar Malavali Date: Tue, 21 Dec 2010 16:00:26 -0800 Subject: [SCSI] qla2xxx: Fix to avoid recursive lock failure during BSG timeout. Signed-off-by: Giridhar Malavali Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley --- drivers/scsi/qla2xxx/qla_bsg.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'drivers/scsi/qla2xxx/qla_bsg.c') diff --git a/drivers/scsi/qla2xxx/qla_bsg.c b/drivers/scsi/qla2xxx/qla_bsg.c index 10942fc9808d..903b0586ded3 100644 --- a/drivers/scsi/qla2xxx/qla_bsg.c +++ b/drivers/scsi/qla2xxx/qla_bsg.c @@ -1512,6 +1512,7 @@ qla24xx_bsg_timeout(struct fc_bsg_job *bsg_job) if (((sp_bsg->type == SRB_CT_CMD) || (sp_bsg->type == SRB_ELS_CMD_HST)) && (sp_bsg->u.bsg_job == bsg_job)) { + spin_unlock_irqrestore(&ha->hardware_lock, flags); if (ha->isp_ops->abort_command(sp)) { DEBUG2(qla_printk(KERN_INFO, ha, "scsi(%ld): mbx " @@ -1527,6 +1528,7 @@ qla24xx_bsg_timeout(struct fc_bsg_job *bsg_job) bsg_job->req->errors = bsg_job->reply->result = 0; } + spin_lock_irqsave(&ha->hardware_lock, flags); goto done; } } -- cgit v1.2.3