diff options
author | Andrew Vasquez <andrew.vasquez@qlogic.com> | 2009-03-24 19:08:17 +0300 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2009-04-03 18:22:52 +0400 |
commit | 6749ce362d38b47bd4669ccc0cafcc0014bff6e9 (patch) | |
tree | 2122b1dc9de76c5f3e4e09970064023db5a9ccc7 | |
parent | 24a081386e4236e10e80af4c62d5f6e68feb2081 (diff) | |
download | linux-6749ce362d38b47bd4669ccc0cafcc0014bff6e9.tar.xz |
[SCSI] qla2xxx: Don't cache VPD data for newer ISPs.
As updates will occur using low-level option-rom manipulation
routines.
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_attr.c | 8 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_def.h | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c index 79bf7514a385..15573f6dc36b 100644 --- a/drivers/scsi/qla2xxx/qla_attr.c +++ b/drivers/scsi/qla2xxx/qla_attr.c @@ -96,7 +96,9 @@ qla2x00_sysfs_read_nvram(struct kobject *kobj, if (!capable(CAP_SYS_ADMIN)) return 0; - /* Read NVRAM data from cache. */ + if (IS_NOCACHE_VPD_TYPE(ha)) + ha->isp_ops->read_optrom(vha, ha->vpd, ha->flt_region_nvram << 2, + ha->nvram_size); return memory_read_from_buffer(buf, count, &off, ha->nvram, ha->nvram_size); } @@ -380,7 +382,9 @@ qla2x00_sysfs_read_vpd(struct kobject *kobj, if (!capable(CAP_SYS_ADMIN)) return 0; - /* Read NVRAM data from cache. */ + if (IS_NOCACHE_VPD_TYPE(ha)) + ha->isp_ops->read_optrom(vha, ha->vpd, ha->flt_region_vpd << 2, + ha->vpd_size); return memory_read_from_buffer(buf, count, &off, ha->vpd, ha->vpd_size); } diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index e3d4d48905ee..714ee67567e1 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h @@ -2343,6 +2343,7 @@ struct qla_hw_data { #define IS_NOPOLLING_TYPE(ha) ((IS_QLA25XX(ha) || IS_QLA81XX(ha)) && \ (ha)->flags.msix_enabled) #define IS_FAC_REQUIRED(ha) (IS_QLA81XX(ha)) +#define IS_NOCACHE_VPD_TYPE(ha) (IS_QLA81XX(ha)) #define IS_IIDMA_CAPABLE(ha) ((ha)->device_type & DT_IIDMA) #define IS_FWI2_CAPABLE(ha) ((ha)->device_type & DT_FWI2) |