aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/qlogic/qlcnic/qlcnic.h4
-rw-r--r--drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c8
2 files changed, 10 insertions, 2 deletions
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h b/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
index 53c6e5dcf26..4118502ef29 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
@@ -73,6 +73,7 @@
73 (sizeof(struct cmd_desc_type0) * tx_ring->num_desc) 73 (sizeof(struct cmd_desc_type0) * tx_ring->num_desc)
74 74
75#define QLCNIC_P3P_A0 0x50 75#define QLCNIC_P3P_A0 0x50
76#define QLCNIC_P3P_C0 0x58
76 77
77#define QLCNIC_IS_REVISION_P3P(REVISION) (REVISION >= QLCNIC_P3P_A0) 78#define QLCNIC_IS_REVISION_P3P(REVISION) (REVISION >= QLCNIC_P3P_A0)
78 79
@@ -291,7 +292,8 @@ struct uni_data_desc{
291 292
292/* Flash Defines and Structures */ 293/* Flash Defines and Structures */
293#define QLCNIC_FLT_LOCATION 0x3F1000 294#define QLCNIC_FLT_LOCATION 0x3F1000
294#define QLCNIC_FW_IMAGE_REGION 0x74 295#define QLCNIC_B0_FW_IMAGE_REGION 0x74
296#define QLCNIC_C0_FW_IMAGE_REGION 0x97
295#define QLCNIC_BOOTLD_REGION 0X72 297#define QLCNIC_BOOTLD_REGION 0X72
296struct qlcnic_flt_header { 298struct qlcnic_flt_header {
297 u16 version; 299 u16 version;
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
index b02859c7a23..7f4b8e69079 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
@@ -686,7 +686,13 @@ qlcnic_check_flash_fw_ver(struct qlcnic_adapter *adapter)
686 u32 ver = -1, min_ver; 686 u32 ver = -1, min_ver;
687 int ret; 687 int ret;
688 688
689 ret = qlcnic_get_flt_entry(adapter, QLCNIC_FW_IMAGE_REGION, &fw_entry); 689 if (adapter->ahw->revision_id == QLCNIC_P3P_C0)
690 ret = qlcnic_get_flt_entry(adapter, QLCNIC_C0_FW_IMAGE_REGION,
691 &fw_entry);
692 else
693 ret = qlcnic_get_flt_entry(adapter, QLCNIC_B0_FW_IMAGE_REGION,
694 &fw_entry);
695
690 if (!ret) 696 if (!ret)
691 /* 0-4:-signature, 4-8:-fw version */ 697 /* 0-4:-signature, 4-8:-fw version */
692 qlcnic_rom_fast_read(adapter, fw_entry.start_addr + 4, 698 qlcnic_rom_fast_read(adapter, fw_entry.start_addr + 4,