diff options
author | Sawan Chandak <sawan.chandak@qlogic.com> | 2013-08-27 01:37:51 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2013-09-03 10:28:07 -0400 |
commit | 8c2cf7d4e387d003259488522523807f25576427 (patch) | |
tree | 00e13a0c8ed29489b612b8c142d32f5b3a15acfb /drivers/scsi/qla2xxx/qla_attr.c | |
parent | 353d9449b74a8c528ae490dfa9139043627ed5fd (diff) |
[SCSI] qla2xxx: Add a new interface to update versions.
On any Adapter when we flash through FC/FCoE without card reset option it still
shows the Running FW version in Flashed FW version. This new interface will be
used by API to instruct the driver to update its cache versions.
Signed-off-by: Sawan Chandak <sawan.chandak@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_attr.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_attr.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c index 85aad4a0b281..b1d32c4da44c 100644 --- a/drivers/scsi/qla2xxx/qla_attr.c +++ b/drivers/scsi/qla2xxx/qla_attr.c | |||
@@ -590,7 +590,7 @@ qla2x00_sysfs_write_reset(struct file *filp, struct kobject *kobj, | |||
590 | struct scsi_qla_host *base_vha = pci_get_drvdata(ha->pdev); | 590 | struct scsi_qla_host *base_vha = pci_get_drvdata(ha->pdev); |
591 | int type; | 591 | int type; |
592 | uint32_t idc_control; | 592 | uint32_t idc_control; |
593 | 593 | uint8_t *tmp_data = NULL; | |
594 | if (off != 0) | 594 | if (off != 0) |
595 | return -EINVAL; | 595 | return -EINVAL; |
596 | 596 | ||
@@ -687,7 +687,19 @@ qla2x00_sysfs_write_reset(struct file *filp, struct kobject *kobj, | |||
687 | __qla83xx_set_idc_control(vha, idc_control); | 687 | __qla83xx_set_idc_control(vha, idc_control); |
688 | qla83xx_idc_unlock(vha, 0); | 688 | qla83xx_idc_unlock(vha, 0); |
689 | break; | 689 | break; |
690 | 690 | case 0x20261: | |
691 | ql_dbg(ql_dbg_user, vha, 0x70e0, | ||
692 | "Updating cache versions without reset "); | ||
693 | |||
694 | tmp_data = vmalloc(256); | ||
695 | if (!tmp_data) { | ||
696 | ql_log(ql_log_warn, vha, 0x70e1, | ||
697 | "Unable to allocate memory for VPD information update.\n"); | ||
698 | return -ENOMEM; | ||
699 | } | ||
700 | ha->isp_ops->get_flash_version(vha, tmp_data); | ||
701 | vfree(tmp_data); | ||
702 | break; | ||
691 | } | 703 | } |
692 | return count; | 704 | return count; |
693 | } | 705 | } |