aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/emulex/benet
diff options
context:
space:
mode:
authorPadmanabh Ratnakar <padmanabh.ratnakar@emulex.com>2012-04-24 21:47:15 -0400
committerDavid S. Miller <davem@davemloft.net>2012-04-26 05:03:31 -0400
commitc165541efc4d1024d7db22ecdf64359b1f6107fc (patch)
tree452445d747b5ef81d59f388e48036e5913b2091a /drivers/net/ethernet/emulex/benet
parent652bf64622f32c938dd4a8738ba12d51dc9fbdd4 (diff)
be2net: Fix FW download for BE
Skip flashing a FW component if that component is not present in a particular FW UFI image. Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com> Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/emulex/benet')
-rw-r--r--drivers/net/ethernet/emulex/benet/be_cmds.c2
-rw-r--r--drivers/net/ethernet/emulex/benet/be_hw.h74
-rw-r--r--drivers/net/ethernet/emulex/benet/be_main.c168
3 files changed, 166 insertions, 78 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.c b/drivers/net/ethernet/emulex/benet/be_cmds.c
index 2673081aaf2f..43167e863955 100644
--- a/drivers/net/ethernet/emulex/benet/be_cmds.c
+++ b/drivers/net/ethernet/emulex/benet/be_cmds.c
@@ -1979,7 +1979,7 @@ int be_cmd_get_flash_crc(struct be_adapter *adapter, u8 *flashed_crc,
1979 be_wrb_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_COMMON, 1979 be_wrb_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_COMMON,
1980 OPCODE_COMMON_READ_FLASHROM, sizeof(*req)+4, wrb, NULL); 1980 OPCODE_COMMON_READ_FLASHROM, sizeof(*req)+4, wrb, NULL);
1981 1981
1982 req->params.op_type = cpu_to_le32(IMG_TYPE_REDBOOT); 1982 req->params.op_type = cpu_to_le32(OPTYPE_REDBOOT);
1983 req->params.op_code = cpu_to_le32(FLASHROM_OPER_REPORT); 1983 req->params.op_code = cpu_to_le32(FLASHROM_OPER_REPORT);
1984 req->params.offset = cpu_to_le32(offset); 1984 req->params.offset = cpu_to_le32(offset);
1985 req->params.data_buf_size = cpu_to_le32(0x4); 1985 req->params.data_buf_size = cpu_to_le32(0x4);
diff --git a/drivers/net/ethernet/emulex/benet/be_hw.h b/drivers/net/ethernet/emulex/benet/be_hw.h
index f2c89e3ccabd..0949aa609164 100644
--- a/drivers/net/ethernet/emulex/benet/be_hw.h
+++ b/drivers/net/ethernet/emulex/benet/be_hw.h
@@ -162,22 +162,23 @@
162#define QUERY_FAT 1 162#define QUERY_FAT 1
163 163
164/* Flashrom related descriptors */ 164/* Flashrom related descriptors */
165#define MAX_FLASH_COMP 32
165#define IMAGE_TYPE_FIRMWARE 160 166#define IMAGE_TYPE_FIRMWARE 160
166#define IMAGE_TYPE_BOOTCODE 224 167#define IMAGE_TYPE_BOOTCODE 224
167#define IMAGE_TYPE_OPTIONROM 32 168#define IMAGE_TYPE_OPTIONROM 32
168 169
169#define NUM_FLASHDIR_ENTRIES 32 170#define NUM_FLASHDIR_ENTRIES 32
170 171
171#define IMG_TYPE_ISCSI_ACTIVE 0 172#define OPTYPE_ISCSI_ACTIVE 0
172#define IMG_TYPE_REDBOOT 1 173#define OPTYPE_REDBOOT 1
173#define IMG_TYPE_BIOS 2 174#define OPTYPE_BIOS 2
174#define IMG_TYPE_PXE_BIOS 3 175#define OPTYPE_PXE_BIOS 3
175#define IMG_TYPE_FCOE_BIOS 8 176#define OPTYPE_FCOE_BIOS 8
176#define IMG_TYPE_ISCSI_BACKUP 9 177#define OPTYPE_ISCSI_BACKUP 9
177#define IMG_TYPE_FCOE_FW_ACTIVE 10 178#define OPTYPE_FCOE_FW_ACTIVE 10
178#define IMG_TYPE_FCOE_FW_BACKUP 11 179#define OPTYPE_FCOE_FW_BACKUP 11
179#define IMG_TYPE_NCSI_FW 13 180#define OPTYPE_NCSI_FW 13
180#define IMG_TYPE_PHY_FW 99 181#define OPTYPE_PHY_FW 99
181#define TN_8022 13 182#define TN_8022 13
182 183
183#define ILLEGAL_IOCTL_REQ 2 184#define ILLEGAL_IOCTL_REQ 2
@@ -223,6 +224,24 @@
223#define FLASH_REDBOOT_START_g3 (262144) 224#define FLASH_REDBOOT_START_g3 (262144)
224#define FLASH_PHY_FW_START_g3 1310720 225#define FLASH_PHY_FW_START_g3 1310720
225 226
227#define IMAGE_NCSI 16
228#define IMAGE_OPTION_ROM_PXE 32
229#define IMAGE_OPTION_ROM_FCoE 33
230#define IMAGE_OPTION_ROM_ISCSI 34
231#define IMAGE_FLASHISM_JUMPVECTOR 48
232#define IMAGE_FLASH_ISM 49
233#define IMAGE_JUMP_VECTOR 50
234#define IMAGE_FIRMWARE_iSCSI 160
235#define IMAGE_FIRMWARE_COMP_iSCSI 161
236#define IMAGE_FIRMWARE_FCoE 162
237#define IMAGE_FIRMWARE_COMP_FCoE 163
238#define IMAGE_FIRMWARE_BACKUP_iSCSI 176
239#define IMAGE_FIRMWARE_BACKUP_COMP_iSCSI 177
240#define IMAGE_FIRMWARE_BACKUP_FCoE 178
241#define IMAGE_FIRMWARE_BACKUP_COMP_FCoE 179
242#define IMAGE_FIRMWARE_PHY 192
243#define IMAGE_BOOT_CODE 224
244
226/************* Rx Packet Type Encoding **************/ 245/************* Rx Packet Type Encoding **************/
227#define BE_UNICAST_PACKET 0 246#define BE_UNICAST_PACKET 0
228#define BE_MULTICAST_PACKET 1 247#define BE_MULTICAST_PACKET 1
@@ -445,6 +464,7 @@ struct flash_comp {
445 unsigned long offset; 464 unsigned long offset;
446 int optype; 465 int optype;
447 int size; 466 int size;
467 int img_type;
448}; 468};
449 469
450struct image_hdr { 470struct image_hdr {
@@ -481,17 +501,19 @@ struct flash_section_hdr {
481 u32 format_rev; 501 u32 format_rev;
482 u32 cksum; 502 u32 cksum;
483 u32 antidote; 503 u32 antidote;
484 u32 build_no; 504 u32 num_images;
485 u8 id_string[64]; 505 u8 id_string[128];
486 u32 active_entry_mask; 506 u32 rsvd[4];
487 u32 valid_entry_mask; 507} __packed;
488 u32 org_content_mask; 508
489 u32 rsvd0; 509struct flash_section_hdr_g2 {
490 u32 rsvd1; 510 u32 format_rev;
491 u32 rsvd2; 511 u32 cksum;
492 u32 rsvd3; 512 u32 antidote;
493 u32 rsvd4; 513 u32 build_num;
494}; 514 u8 id_string[128];
515 u32 rsvd[8];
516} __packed;
495 517
496struct flash_section_entry { 518struct flash_section_entry {
497 u32 type; 519 u32 type;
@@ -503,10 +525,16 @@ struct flash_section_entry {
503 u32 rsvd0; 525 u32 rsvd0;
504 u32 rsvd1; 526 u32 rsvd1;
505 u8 ver_data[32]; 527 u8 ver_data[32];
506}; 528} __packed;
507 529
508struct flash_section_info { 530struct flash_section_info {
509 u8 cookie[32]; 531 u8 cookie[32];
510 struct flash_section_hdr fsec_hdr; 532 struct flash_section_hdr fsec_hdr;
511 struct flash_section_entry fsec_entry[32]; 533 struct flash_section_entry fsec_entry[32];
512}; 534} __packed;
535
536struct flash_section_info_g2 {
537 u8 cookie[32];
538 struct flash_section_hdr_g2 fsec_hdr;
539 struct flash_section_entry fsec_entry[32];
540} __packed;
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
index 8bc9e125e023..c9f757c10fdc 100644
--- a/drivers/net/ethernet/emulex/benet/be_main.c
+++ b/drivers/net/ethernet/emulex/benet/be_main.c
@@ -2759,6 +2759,8 @@ static void be_netpoll(struct net_device *netdev)
2759#endif 2759#endif
2760 2760
2761#define FW_FILE_HDR_SIGN "ServerEngines Corp. " 2761#define FW_FILE_HDR_SIGN "ServerEngines Corp. "
2762char flash_cookie[2][16] = {"*** SE FLAS", "H DIRECTORY *** "};
2763
2762static bool be_flash_redboot(struct be_adapter *adapter, 2764static bool be_flash_redboot(struct be_adapter *adapter,
2763 const u8 *p, u32 img_start, int image_size, 2765 const u8 *p, u32 img_start, int image_size,
2764 int hdr_size) 2766 int hdr_size)
@@ -2792,58 +2794,101 @@ static bool phy_flashing_required(struct be_adapter *adapter)
2792 adapter->phy.interface_type == PHY_TYPE_BASET_10GB); 2794 adapter->phy.interface_type == PHY_TYPE_BASET_10GB);
2793} 2795}
2794 2796
2797static bool is_comp_in_ufi(struct be_adapter *adapter,
2798 struct flash_section_info *fsec, int type)
2799{
2800 int i = 0, img_type = 0;
2801 struct flash_section_info_g2 *fsec_g2 = NULL;
2802
2803 if (adapter->generation != BE_GEN3)
2804 fsec_g2 = (struct flash_section_info_g2 *)fsec;
2805
2806 for (i = 0; i < MAX_FLASH_COMP; i++) {
2807 if (fsec_g2)
2808 img_type = le32_to_cpu(fsec_g2->fsec_entry[i].type);
2809 else
2810 img_type = le32_to_cpu(fsec->fsec_entry[i].type);
2811
2812 if (img_type == type)
2813 return true;
2814 }
2815 return false;
2816
2817}
2818
2819struct flash_section_info *get_fsec_info(struct be_adapter *adapter,
2820 int header_size,
2821 const struct firmware *fw)
2822{
2823 struct flash_section_info *fsec = NULL;
2824 const u8 *p = fw->data;
2825
2826 p += header_size;
2827 while (p < (fw->data + fw->size)) {
2828 fsec = (struct flash_section_info *)p;
2829 if (!memcmp(flash_cookie, fsec->cookie, sizeof(flash_cookie)))
2830 return fsec;
2831 p += 32;
2832 }
2833 return NULL;
2834}
2835
2795static int be_flash_data(struct be_adapter *adapter, 2836static int be_flash_data(struct be_adapter *adapter,
2796 const struct firmware *fw, 2837 const struct firmware *fw,
2797 struct be_dma_mem *flash_cmd, int num_of_images) 2838 struct be_dma_mem *flash_cmd,
2839 int num_of_images)
2798 2840
2799{ 2841{
2800 int status = 0, i, filehdr_size = 0; 2842 int status = 0, i, filehdr_size = 0;
2843 int img_hdrs_size = (num_of_images * sizeof(struct image_hdr));
2801 u32 total_bytes = 0, flash_op; 2844 u32 total_bytes = 0, flash_op;
2802 int num_bytes; 2845 int num_bytes;
2803 const u8 *p = fw->data; 2846 const u8 *p = fw->data;
2804 struct be_cmd_write_flashrom *req = flash_cmd->va; 2847 struct be_cmd_write_flashrom *req = flash_cmd->va;
2805 const struct flash_comp *pflashcomp; 2848 const struct flash_comp *pflashcomp;
2806 int num_comp; 2849 int num_comp, hdr_size;
2807 2850 struct flash_section_info *fsec = NULL;
2808 static const struct flash_comp gen3_flash_types[10] = { 2851
2809 { FLASH_iSCSI_PRIMARY_IMAGE_START_g3, IMG_TYPE_ISCSI_ACTIVE, 2852 struct flash_comp gen3_flash_types[] = {
2810 FLASH_IMAGE_MAX_SIZE_g3}, 2853 { FLASH_iSCSI_PRIMARY_IMAGE_START_g3, OPTYPE_ISCSI_ACTIVE,
2811 { FLASH_REDBOOT_START_g3, IMG_TYPE_REDBOOT, 2854 FLASH_IMAGE_MAX_SIZE_g3, IMAGE_FIRMWARE_iSCSI},
2812 FLASH_REDBOOT_IMAGE_MAX_SIZE_g3}, 2855 { FLASH_REDBOOT_START_g3, OPTYPE_REDBOOT,
2813 { FLASH_iSCSI_BIOS_START_g3, IMG_TYPE_BIOS, 2856 FLASH_REDBOOT_IMAGE_MAX_SIZE_g3, IMAGE_BOOT_CODE},
2814 FLASH_BIOS_IMAGE_MAX_SIZE_g3}, 2857 { FLASH_iSCSI_BIOS_START_g3, OPTYPE_BIOS,
2815 { FLASH_PXE_BIOS_START_g3, IMG_TYPE_PXE_BIOS, 2858 FLASH_BIOS_IMAGE_MAX_SIZE_g3, IMAGE_OPTION_ROM_ISCSI},
2816 FLASH_BIOS_IMAGE_MAX_SIZE_g3}, 2859 { FLASH_PXE_BIOS_START_g3, OPTYPE_PXE_BIOS,
2817 { FLASH_FCoE_BIOS_START_g3, IMG_TYPE_FCOE_BIOS, 2860 FLASH_BIOS_IMAGE_MAX_SIZE_g3, IMAGE_OPTION_ROM_PXE},
2818 FLASH_BIOS_IMAGE_MAX_SIZE_g3}, 2861 { FLASH_FCoE_BIOS_START_g3, OPTYPE_FCOE_BIOS,
2819 { FLASH_iSCSI_BACKUP_IMAGE_START_g3, IMG_TYPE_ISCSI_BACKUP, 2862 FLASH_BIOS_IMAGE_MAX_SIZE_g3, IMAGE_OPTION_ROM_FCoE},
2820 FLASH_IMAGE_MAX_SIZE_g3}, 2863 { FLASH_iSCSI_BACKUP_IMAGE_START_g3, OPTYPE_ISCSI_BACKUP,
2821 { FLASH_FCoE_PRIMARY_IMAGE_START_g3, IMG_TYPE_FCOE_FW_ACTIVE, 2864 FLASH_IMAGE_MAX_SIZE_g3, IMAGE_FIRMWARE_BACKUP_iSCSI},
2822 FLASH_IMAGE_MAX_SIZE_g3}, 2865 { FLASH_FCoE_PRIMARY_IMAGE_START_g3, OPTYPE_FCOE_FW_ACTIVE,
2823 { FLASH_FCoE_BACKUP_IMAGE_START_g3, IMG_TYPE_FCOE_FW_BACKUP, 2866 FLASH_IMAGE_MAX_SIZE_g3, IMAGE_FIRMWARE_FCoE},
2824 FLASH_IMAGE_MAX_SIZE_g3}, 2867 { FLASH_FCoE_BACKUP_IMAGE_START_g3, OPTYPE_FCOE_FW_BACKUP,
2825 { FLASH_NCSI_START_g3, IMG_TYPE_NCSI_FW, 2868 FLASH_IMAGE_MAX_SIZE_g3, IMAGE_FIRMWARE_BACKUP_FCoE},
2826 FLASH_NCSI_IMAGE_MAX_SIZE_g3}, 2869 { FLASH_NCSI_START_g3, OPTYPE_NCSI_FW,
2827 { FLASH_PHY_FW_START_g3, IMG_TYPE_PHY_FW, 2870 FLASH_NCSI_IMAGE_MAX_SIZE_g3, IMAGE_NCSI},
2828 FLASH_PHY_FW_IMAGE_MAX_SIZE_g3} 2871 { FLASH_PHY_FW_START_g3, OPTYPE_PHY_FW,
2872 FLASH_PHY_FW_IMAGE_MAX_SIZE_g3, IMAGE_FIRMWARE_PHY}
2829 }; 2873 };
2830 static const struct flash_comp gen2_flash_types[8] = { 2874
2831 { FLASH_iSCSI_PRIMARY_IMAGE_START_g2, IMG_TYPE_ISCSI_ACTIVE, 2875 struct flash_comp gen2_flash_types[] = {
2832 FLASH_IMAGE_MAX_SIZE_g2}, 2876 { FLASH_iSCSI_PRIMARY_IMAGE_START_g2, OPTYPE_ISCSI_ACTIVE,
2833 { FLASH_REDBOOT_START_g2, IMG_TYPE_REDBOOT, 2877 FLASH_IMAGE_MAX_SIZE_g2, IMAGE_FIRMWARE_iSCSI},
2834 FLASH_REDBOOT_IMAGE_MAX_SIZE_g2}, 2878 { FLASH_REDBOOT_START_g2, OPTYPE_REDBOOT,
2835 { FLASH_iSCSI_BIOS_START_g2, IMG_TYPE_BIOS, 2879 FLASH_REDBOOT_IMAGE_MAX_SIZE_g2, IMAGE_BOOT_CODE},
2836 FLASH_BIOS_IMAGE_MAX_SIZE_g2}, 2880 { FLASH_iSCSI_BIOS_START_g2, OPTYPE_BIOS,
2837 { FLASH_PXE_BIOS_START_g2, IMG_TYPE_PXE_BIOS, 2881 FLASH_BIOS_IMAGE_MAX_SIZE_g2, IMAGE_OPTION_ROM_ISCSI},
2838 FLASH_BIOS_IMAGE_MAX_SIZE_g2}, 2882 { FLASH_PXE_BIOS_START_g2, OPTYPE_PXE_BIOS,
2839 { FLASH_FCoE_BIOS_START_g2, IMG_TYPE_FCOE_BIOS, 2883 FLASH_BIOS_IMAGE_MAX_SIZE_g2, IMAGE_OPTION_ROM_PXE},
2840 FLASH_BIOS_IMAGE_MAX_SIZE_g2}, 2884 { FLASH_FCoE_BIOS_START_g2, OPTYPE_FCOE_BIOS,
2841 { FLASH_iSCSI_BACKUP_IMAGE_START_g2, IMG_TYPE_ISCSI_BACKUP, 2885 FLASH_BIOS_IMAGE_MAX_SIZE_g2, IMAGE_OPTION_ROM_FCoE},
2842 FLASH_IMAGE_MAX_SIZE_g2}, 2886 { FLASH_iSCSI_BACKUP_IMAGE_START_g2, OPTYPE_ISCSI_BACKUP,
2843 { FLASH_FCoE_PRIMARY_IMAGE_START_g2, IMG_TYPE_FCOE_FW_ACTIVE, 2887 FLASH_IMAGE_MAX_SIZE_g2, IMAGE_FIRMWARE_BACKUP_iSCSI},
2844 FLASH_IMAGE_MAX_SIZE_g2}, 2888 { FLASH_FCoE_PRIMARY_IMAGE_START_g2, OPTYPE_FCOE_FW_ACTIVE,
2845 { FLASH_FCoE_BACKUP_IMAGE_START_g2, IMG_TYPE_FCOE_FW_BACKUP, 2889 FLASH_IMAGE_MAX_SIZE_g2, IMAGE_FIRMWARE_FCoE},
2846 FLASH_IMAGE_MAX_SIZE_g2} 2890 { FLASH_FCoE_BACKUP_IMAGE_START_g2, OPTYPE_FCOE_FW_BACKUP,
2891 FLASH_IMAGE_MAX_SIZE_g2, IMAGE_FIRMWARE_BACKUP_FCoE}
2847 }; 2892 };
2848 2893
2849 if (adapter->generation == BE_GEN3) { 2894 if (adapter->generation == BE_GEN3) {
@@ -2855,22 +2900,37 @@ static int be_flash_data(struct be_adapter *adapter,
2855 filehdr_size = sizeof(struct flash_file_hdr_g2); 2900 filehdr_size = sizeof(struct flash_file_hdr_g2);
2856 num_comp = ARRAY_SIZE(gen2_flash_types); 2901 num_comp = ARRAY_SIZE(gen2_flash_types);
2857 } 2902 }
2903 /* Get flash section info*/
2904 fsec = get_fsec_info(adapter, filehdr_size + img_hdrs_size, fw);
2905 if (!fsec) {
2906 dev_err(&adapter->pdev->dev,
2907 "Invalid Cookie. UFI corrupted ?\n");
2908 return -1;
2909 }
2858 for (i = 0; i < num_comp; i++) { 2910 for (i = 0; i < num_comp; i++) {
2859 if ((pflashcomp[i].optype == IMG_TYPE_NCSI_FW) && 2911 if (!is_comp_in_ufi(adapter, fsec, pflashcomp[i].img_type))
2860 memcmp(adapter->fw_ver, "3.102.148.0", 11) < 0)
2861 continue; 2912 continue;
2862 if (pflashcomp[i].optype == IMG_TYPE_PHY_FW) { 2913
2914 if ((pflashcomp[i].optype == OPTYPE_NCSI_FW) &&
2915 memcmp(adapter->fw_ver, "3.102.148.0", 11) < 0)
2916 continue;
2917
2918 if (pflashcomp[i].optype == OPTYPE_PHY_FW) {
2863 if (!phy_flashing_required(adapter)) 2919 if (!phy_flashing_required(adapter))
2864 continue; 2920 continue;
2865 } 2921 }
2866 if ((pflashcomp[i].optype == IMG_TYPE_REDBOOT) && 2922
2867 (!be_flash_redboot(adapter, fw->data, 2923 hdr_size = filehdr_size +
2868 pflashcomp[i].offset, pflashcomp[i].size, filehdr_size + 2924 (num_of_images * sizeof(struct image_hdr));
2869 (num_of_images * sizeof(struct image_hdr))))) 2925
2926 if ((pflashcomp[i].optype == OPTYPE_REDBOOT) &&
2927 (!be_flash_redboot(adapter, fw->data, pflashcomp[i].offset,
2928 pflashcomp[i].size, hdr_size)))
2870 continue; 2929 continue;
2930
2931 /* Flash the component */
2871 p = fw->data; 2932 p = fw->data;
2872 p += filehdr_size + pflashcomp[i].offset 2933 p += filehdr_size + pflashcomp[i].offset + img_hdrs_size;
2873 + (num_of_images * sizeof(struct image_hdr));
2874 if (p + pflashcomp[i].size > fw->data + fw->size) 2934 if (p + pflashcomp[i].size > fw->data + fw->size)
2875 return -1; 2935 return -1;
2876 total_bytes = pflashcomp[i].size; 2936 total_bytes = pflashcomp[i].size;
@@ -2881,12 +2941,12 @@ static int be_flash_data(struct be_adapter *adapter,
2881 num_bytes = total_bytes; 2941 num_bytes = total_bytes;
2882 total_bytes -= num_bytes; 2942 total_bytes -= num_bytes;
2883 if (!total_bytes) { 2943 if (!total_bytes) {
2884 if (pflashcomp[i].optype == IMG_TYPE_PHY_FW) 2944 if (pflashcomp[i].optype == OPTYPE_PHY_FW)
2885 flash_op = FLASHROM_OPER_PHY_FLASH; 2945 flash_op = FLASHROM_OPER_PHY_FLASH;
2886 else 2946 else
2887 flash_op = FLASHROM_OPER_FLASH; 2947 flash_op = FLASHROM_OPER_FLASH;
2888 } else { 2948 } else {
2889 if (pflashcomp[i].optype == IMG_TYPE_PHY_FW) 2949 if (pflashcomp[i].optype == OPTYPE_PHY_FW)
2890 flash_op = FLASHROM_OPER_PHY_SAVE; 2950 flash_op = FLASHROM_OPER_PHY_SAVE;
2891 else 2951 else
2892 flash_op = FLASHROM_OPER_SAVE; 2952 flash_op = FLASHROM_OPER_SAVE;
@@ -2898,7 +2958,7 @@ static int be_flash_data(struct be_adapter *adapter,
2898 if (status) { 2958 if (status) {
2899 if ((status == ILLEGAL_IOCTL_REQ) && 2959 if ((status == ILLEGAL_IOCTL_REQ) &&
2900 (pflashcomp[i].optype == 2960 (pflashcomp[i].optype ==
2901 IMG_TYPE_PHY_FW)) 2961 OPTYPE_PHY_FW))
2902 break; 2962 break;
2903 dev_err(&adapter->pdev->dev, 2963 dev_err(&adapter->pdev->dev,
2904 "cmd to write to flash rom failed.\n"); 2964 "cmd to write to flash rom failed.\n");