diff options
author | Lalit Chandivade <lalit.chandivade@qlogic.com> | 2010-05-29 00:08:26 +0200 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-07-27 19:01:25 +0200 |
commit | 0547fb37ca1f8da18e65b7452f99e9784f026be2 (patch) | |
tree | e3eae134005f2d2eacade8d1d13d319d06d1e592 /drivers/scsi/qla2xxx | |
parent | [SCSI] qla2xxx: Handle outstanding mbx cmds on hung f/w scenarios. (diff) | |
download | linux-0547fb37ca1f8da18e65b7452f99e9784f026be2.tar.xz linux-0547fb37ca1f8da18e65b7452f99e9784f026be2.zip |
[SCSI] qla2xxx: Fix flash write failure on ISP82xx.
Driver was not unprotecting correctly, use correct bits
to unprotect the flash on ISP 82xx.
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/qla2xxx')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_nx.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/scsi/qla2xxx/qla_nx.c b/drivers/scsi/qla2xxx/qla_nx.c index 512ba8a4ac57..ee575b4efbee 100644 --- a/drivers/scsi/qla2xxx/qla_nx.c +++ b/drivers/scsi/qla2xxx/qla_nx.c @@ -19,6 +19,7 @@ #define QLA82XX_PCI_OCM0_2M (0xc0000) #define VALID_OCM_ADDR(addr) (((addr) & 0x3f800) != 0x3f800) #define GET_MEM_OFFS_2M(addr) (addr & MASK(18)) +#define BLOCK_PROTECT_BITS 0x0F /* CRB window related */ #define CRB_BLK(off) ((off >> 20) & 0x3f) @@ -3147,10 +3148,10 @@ qla82xx_unprotect_flash(struct qla_hw_data *ha) if (ret < 0) goto done_unprotect; - val &= ~(0x7 << 2); + val &= ~(BLOCK_PROTECT_BITS << 2); ret = qla82xx_write_status_reg(ha, val); if (ret < 0) { - val |= (0x7 << 2); + val |= (BLOCK_PROTECT_BITS << 2); qla82xx_write_status_reg(ha, val); } @@ -3178,7 +3179,7 @@ qla82xx_protect_flash(struct qla_hw_data *ha) if (ret < 0) goto done_protect; - val |= (0x7 << 2); + val |= (BLOCK_PROTECT_BITS << 2); /* LOCK all sectors */ ret = qla82xx_write_status_reg(ha, val); if (ret < 0) |