sizeof(vha->hw->mr.uboot_version));
                memcpy(&vha->hw->mr.fru_serial_num, pinfo->fru_serial_num,
                    sizeof(vha->hw->mr.fru_serial_num));
-               vha->hw->mr.critical_temperature = pinfo->nominal_temp_value;
+               vha->hw->mr.critical_temperature =
+                   (pinfo->nominal_temp_value) ?
+                   pinfo->nominal_temp_value : QLAFX00_CRITEMP_THRSHLD;
                ha->mr.extended_io_enabled = (pinfo->enabled_capabilities &
                    QLAFX00_EXTENDED_IO_EN_MASK) != 0;
        } else if (fx_type == FXDISC_GET_PORT_INFO) {
 
 #define QLAFX00_RESET_INTERVAL         120     /* number of seconds */
 #define QLAFX00_MAX_RESET_INTERVAL     600     /* number of seconds */
 #define QLAFX00_CRITEMP_INTERVAL       60      /* number of seconds */
+
+#define QLAFX00_CRITEMP_THRSHLD                80      /* Celsius degrees */
+
 #endif