Skip to content

Commit

Permalink
[SCSI] qla2xxx: firmware semaphore to mutex
Browse files Browse the repository at this point in the history
Signed-off-by: Daniel Walker <dwalker@mvista.com>
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
  • Loading branch information
Daniel Walker authored and James Bottomley committed May 15, 2008
1 parent 0e973a2 commit e1e82b6
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions drivers/scsi/qla2xxx/qla_os.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include <linux/vmalloc.h>
#include <linux/delay.h>
#include <linux/kthread.h>
#include <linux/mutex.h>

#include <scsi/scsi_tcq.h>
#include <scsi/scsicam.h>
Expand Down Expand Up @@ -2634,7 +2635,7 @@ qla2x00_timer(scsi_qla_host_t *ha)
#define FW_FILE_ISP24XX "ql2400_fw.bin"
#define FW_FILE_ISP25XX "ql2500_fw.bin"

static DECLARE_MUTEX(qla_fw_lock);
static DEFINE_MUTEX(qla_fw_lock);

static struct fw_blob qla_fw_blobs[FW_BLOBS] = {
{ .name = FW_FILE_ISP21XX, .segs = { 0x1000, 0 }, },
Expand Down Expand Up @@ -2665,7 +2666,7 @@ qla2x00_request_firmware(scsi_qla_host_t *ha)
blob = &qla_fw_blobs[FW_ISP25XX];
}

down(&qla_fw_lock);
mutex_lock(&qla_fw_lock);
if (blob->fw)
goto out;

Expand All @@ -2678,7 +2679,7 @@ qla2x00_request_firmware(scsi_qla_host_t *ha)
}

out:
up(&qla_fw_lock);
mutex_unlock(&qla_fw_lock);
return blob;
}

Expand All @@ -2687,11 +2688,11 @@ qla2x00_release_firmware(void)
{
int idx;

down(&qla_fw_lock);
mutex_lock(&qla_fw_lock);
for (idx = 0; idx < FW_BLOBS; idx++)
if (qla_fw_blobs[idx].fw)
release_firmware(qla_fw_blobs[idx].fw);
up(&qla_fw_lock);
mutex_unlock(&qla_fw_lock);
}

static pci_ers_result_t
Expand Down

0 comments on commit e1e82b6

Please sign in to comment.