|
@@ -772,15 +772,22 @@ netxen_check_options(struct netxen_adapter *adapter)
|
|
|
if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
|
|
|
adapter->msix_supported = !!use_msi_x;
|
|
|
adapter->rss_supported = !!use_msi_x;
|
|
|
- } else if (adapter->fw_version >= NETXEN_VERSION_CODE(3, 4, 336)) {
|
|
|
- switch (adapter->ahw.board_type) {
|
|
|
- case NETXEN_BRDTYPE_P2_SB31_10G:
|
|
|
- case NETXEN_BRDTYPE_P2_SB31_10G_CX4:
|
|
|
- adapter->msix_supported = !!use_msi_x;
|
|
|
- adapter->rss_supported = !!use_msi_x;
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
+ } else {
|
|
|
+ u32 flashed_ver = 0;
|
|
|
+ netxen_rom_fast_read(adapter,
|
|
|
+ NX_FW_VERSION_OFFSET, (int *)&flashed_ver);
|
|
|
+ flashed_ver = NETXEN_DECODE_VERSION(flashed_ver);
|
|
|
+
|
|
|
+ if (flashed_ver >= NETXEN_VERSION_CODE(3, 4, 336)) {
|
|
|
+ switch (adapter->ahw.board_type) {
|
|
|
+ case NETXEN_BRDTYPE_P2_SB31_10G:
|
|
|
+ case NETXEN_BRDTYPE_P2_SB31_10G_CX4:
|
|
|
+ adapter->msix_supported = !!use_msi_x;
|
|
|
+ adapter->rss_supported = !!use_msi_x;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|