Skip to content

Commit

Permalink
netxen: fix firmware type check
Browse files Browse the repository at this point in the history
Unified firmware image may not contain MN type of firmware.
Driver should fall back to NOMN firmware type instead
of going to flash.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Dhananjay Phadke authored and David S. Miller committed Dec 9, 2009
1 parent f2251f6 commit 634d7df
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion drivers/net/netxen/netxen_nic_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -619,17 +619,20 @@ nx_set_product_offs(struct netxen_adapter *adapter)
uint32_t i;
__le32 entries;

int mn_present = (NX_IS_REVISION_P2(adapter->ahw.revision_id)) ?
1 : netxen_p3_has_mn(adapter);

ptab_descr = nx_get_table_desc(unirom, NX_UNI_DIR_SECT_PRODUCT_TBL);
if (ptab_descr == NULL)
return -1;

entries = cpu_to_le32(ptab_descr->num_entries);

nomn:
for (i = 0; i < entries; i++) {

__le32 flags, file_chiprev, offs;
u8 chiprev = adapter->ahw.revision_id;
int mn_present = netxen_p3_has_mn(adapter);
uint32_t flagbit;

offs = cpu_to_le32(ptab_descr->findex) +
Expand All @@ -647,6 +650,11 @@ nx_set_product_offs(struct netxen_adapter *adapter)
}
}

if (mn_present && NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
mn_present = 0;
goto nomn;
}

return -1;
}

Expand Down Expand Up @@ -1021,6 +1029,10 @@ netxen_p3_has_mn(struct netxen_adapter *adapter)
u32 capability, flashed_ver;
capability = 0;

/* NX2031 always had MN */
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
return 1;

netxen_rom_fast_read(adapter,
NX_FW_VERSION_OFFSET, (int *)&flashed_ver);
flashed_ver = NETXEN_DECODE_VERSION(flashed_ver);
Expand Down

0 comments on commit 634d7df

Please sign in to comment.