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;
+                       }
                }
        }