summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Vasquez <andrew.vasquez@qlogic.com>2009-01-22 09:45:29 -0800
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-01-25 07:56:16 -0600
commit85d0acbb2e64cee4d3253ea9ce4650658e05d945 (patch)
tree5535bf80af465210b434cdae7d05535627a56bef
parent6e9f21f3d3d4933087d1e13b04667b6eb663b487 (diff)
downloadlinux-85d0acbb2e64cee4d3253ea9ce4650658e05d945.tar.gz
linux-85d0acbb2e64cee4d3253ea9ce4650658e05d945.tar.bz2
linux-85d0acbb2e64cee4d3253ea9ce4650658e05d945.zip
[SCSI] qla2xxx: Simplify sector-mask calculation in preparation for larger flash parts.
Also removes unneeded 'findex' local variable within routine. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
-rw-r--r--drivers/scsi/qla2xxx/qla_sup.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/scsi/qla2xxx/qla_sup.c b/drivers/scsi/qla2xxx/qla_sup.c
index 303f8ee11f25..afec7f90f58a 100644
--- a/drivers/scsi/qla2xxx/qla_sup.c
+++ b/drivers/scsi/qla2xxx/qla_sup.c
@@ -982,7 +982,7 @@ qla24xx_write_flash_data(scsi_qla_host_t *vha, uint32_t *dwptr, uint32_t faddr,
int ret;
uint32_t liter, miter;
uint32_t sec_mask, rest_addr;
- uint32_t fdata, findex;
+ uint32_t fdata;
dma_addr_t optrom_dma;
void *optrom = NULL;
uint32_t *s, *d;
@@ -1003,17 +1003,15 @@ qla24xx_write_flash_data(scsi_qla_host_t *vha, uint32_t *dwptr, uint32_t faddr,
}
rest_addr = (ha->fdt_block_size >> 2) - 1;
- sec_mask = (ha->optrom_size >> 2) - (ha->fdt_block_size >> 2);
+ sec_mask = ~rest_addr;
qla24xx_unprotect_flash(ha);
for (liter = 0; liter < dwords; liter++, faddr++, dwptr++) {
-
- findex = faddr;
- fdata = (findex & sec_mask) << 2;
+ fdata = (faddr & sec_mask) << 2;
/* Are we at the beginning of a sector? */
- if ((findex & rest_addr) == 0) {
+ if ((faddr & rest_addr) == 0) {
/* Do sector unprotect. */
if (ha->fdt_unprotect_sec_cmd)
qla24xx_write_flash_dword(ha,