diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-29 20:22:03 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-29 20:22:03 -0400 |
commit | a6ce22a5f61ba838b43763bf1e5be399f9dee4d0 (patch) | |
tree | 2abed83e85724bd45c5b0b842b9ce36d1c4ca160 /drivers/scsi/qla2xxx/qla_init.c | |
parent | 4e950f6f0189f65f8bf069cf2272649ef418f5e4 (diff) | |
parent | 09120a8cd38dbdb0c9a59ff8456cf88b510e6baa (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (28 commits)
[SCSI] mpt fusion: Changes in mptctl.c for logging support
[SCSI] mpt fusion: Changes in mptfc.c mptlan.c mptsas.c and mptspi.c for logging support
[SCSI] mpt fusion: Changes in mptscsih.c for logging support
[SCSI] mpt fusion: Changes in mptbase.c for logging support
[SCSI] mpt fusion: logging support in Kconfig, Makefile, mptbase.h and addition of mptdebug.h
[SCSI] libsas: Fix potential NULL dereference in sas_smp_get_phy_events()
[SCSI] bsg: Fix build for CONFIG_BLOCK=n
[SCSI] aacraid: fix Sunrise Lake reset handling
[SCSI] aacraid: add SCSI SYNCHONIZE_CACHE range checking
[SCSI] add easyRAID to the no report luns blacklist
[SCSI] advansys: lindent and other large, uninteresting changes
[SCSI] aic79xx, aic7xxx: Fix incorrect width setting
[SCSI] qla2xxx: fix to honor ignored parameters in sysfs attributes
[SCSI] aacraid: draw line in sand, sundry cleanup and version update
[SCSI] iscsi_tcp: Turn off bounce buffers
[SCSI] libiscsi: fix cmd seqeunce number checking
[SCSI] iscsi_tcp, ib_iser Enable module refcounting for iscsi host template
[SCSI] libiscsi: make sure session is not blocked when removing host
[SCSI] libsas: Remove PCI dependencies
[SCSI] simscsi: convert to use the data buffer accessors
...
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_init.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_init.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 5ec798c2bf13..374abe19b547 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c | |||
@@ -1461,8 +1461,8 @@ qla2x00_nvram_config(scsi_qla_host_t *ha) | |||
1461 | uint16_t cnt; | 1461 | uint16_t cnt; |
1462 | uint8_t *dptr1, *dptr2; | 1462 | uint8_t *dptr1, *dptr2; |
1463 | init_cb_t *icb = ha->init_cb; | 1463 | init_cb_t *icb = ha->init_cb; |
1464 | nvram_t *nv = (nvram_t *)ha->request_ring; | 1464 | nvram_t *nv = ha->nvram; |
1465 | uint8_t *ptr = (uint8_t *)ha->request_ring; | 1465 | uint8_t *ptr = ha->nvram; |
1466 | struct device_reg_2xxx __iomem *reg = &ha->iobase->isp; | 1466 | struct device_reg_2xxx __iomem *reg = &ha->iobase->isp; |
1467 | 1467 | ||
1468 | rval = QLA_SUCCESS; | 1468 | rval = QLA_SUCCESS; |
@@ -1480,8 +1480,7 @@ qla2x00_nvram_config(scsi_qla_host_t *ha) | |||
1480 | chksum += *ptr++; | 1480 | chksum += *ptr++; |
1481 | 1481 | ||
1482 | DEBUG5(printk("scsi(%ld): Contents of NVRAM\n", ha->host_no)); | 1482 | DEBUG5(printk("scsi(%ld): Contents of NVRAM\n", ha->host_no)); |
1483 | DEBUG5(qla2x00_dump_buffer((uint8_t *)ha->request_ring, | 1483 | DEBUG5(qla2x00_dump_buffer((uint8_t *)nv, ha->nvram_size)); |
1484 | ha->nvram_size)); | ||
1485 | 1484 | ||
1486 | /* Bad NVRAM data, set defaults parameters. */ | 1485 | /* Bad NVRAM data, set defaults parameters. */ |
1487 | if (chksum || nv->id[0] != 'I' || nv->id[1] != 'S' || | 1486 | if (chksum || nv->id[0] != 'I' || nv->id[1] != 'S' || |
@@ -3500,7 +3499,7 @@ qla24xx_nvram_config(scsi_qla_host_t *ha) | |||
3500 | 3499 | ||
3501 | rval = QLA_SUCCESS; | 3500 | rval = QLA_SUCCESS; |
3502 | icb = (struct init_cb_24xx *)ha->init_cb; | 3501 | icb = (struct init_cb_24xx *)ha->init_cb; |
3503 | nv = (struct nvram_24xx *)ha->request_ring; | 3502 | nv = ha->nvram; |
3504 | 3503 | ||
3505 | /* Determine NVRAM starting address. */ | 3504 | /* Determine NVRAM starting address. */ |
3506 | ha->nvram_size = sizeof(struct nvram_24xx); | 3505 | ha->nvram_size = sizeof(struct nvram_24xx); |
@@ -3512,7 +3511,12 @@ qla24xx_nvram_config(scsi_qla_host_t *ha) | |||
3512 | ha->vpd_base = FA_NVRAM_VPD1_ADDR; | 3511 | ha->vpd_base = FA_NVRAM_VPD1_ADDR; |
3513 | } | 3512 | } |
3514 | 3513 | ||
3515 | /* Get NVRAM data and calculate checksum. */ | 3514 | /* Get VPD data into cache */ |
3515 | ha->vpd = ha->nvram + VPD_OFFSET; | ||
3516 | ha->isp_ops->read_nvram(ha, (uint8_t *)ha->vpd, | ||
3517 | ha->nvram_base - FA_NVRAM_FUNC0_ADDR, FA_NVRAM_VPD_SIZE * 4); | ||
3518 | |||
3519 | /* Get NVRAM data into cache and calculate checksum. */ | ||
3516 | dptr = (uint32_t *)nv; | 3520 | dptr = (uint32_t *)nv; |
3517 | ha->isp_ops->read_nvram(ha, (uint8_t *)dptr, ha->nvram_base, | 3521 | ha->isp_ops->read_nvram(ha, (uint8_t *)dptr, ha->nvram_base, |
3518 | ha->nvram_size); | 3522 | ha->nvram_size); |
@@ -3520,8 +3524,7 @@ qla24xx_nvram_config(scsi_qla_host_t *ha) | |||
3520 | chksum += le32_to_cpu(*dptr++); | 3524 | chksum += le32_to_cpu(*dptr++); |
3521 | 3525 | ||
3522 | DEBUG5(printk("scsi(%ld): Contents of NVRAM\n", ha->host_no)); | 3526 | DEBUG5(printk("scsi(%ld): Contents of NVRAM\n", ha->host_no)); |
3523 | DEBUG5(qla2x00_dump_buffer((uint8_t *)ha->request_ring, | 3527 | DEBUG5(qla2x00_dump_buffer((uint8_t *)nv, ha->nvram_size)); |
3524 | ha->nvram_size)); | ||
3525 | 3528 | ||
3526 | /* Bad NVRAM data, set defaults parameters. */ | 3529 | /* Bad NVRAM data, set defaults parameters. */ |
3527 | if (chksum || nv->id[0] != 'I' || nv->id[1] != 'S' || nv->id[2] != 'P' | 3530 | if (chksum || nv->id[0] != 'I' || nv->id[1] != 'S' || nv->id[2] != 'P' |