[HW] fix FW checking in MTHCA and add it to MLX4. [mlnx: 4271]
[mirror/winof/.git] / hw / mthca / kernel / mthca_main.c
index 70a72e1..6b41f25 100644 (file)
@@ -82,10 +82,10 @@ static struct {
        int is_memfree;\r
        int is_pcie;\r
 } mthca_hca_table[] = {\r
-       { MTHCA_FW_VER(3, 3, 2), MTHCA_FW_VER(3, 4, 0), 0, 0 }, /* TAVOR */\r
-       { MTHCA_FW_VER(4, 7, 0), MTHCA_FW_VER(4, 7, 400), 0, 1 },       /* ARBEL_COMPAT */\r
-       { MTHCA_FW_VER(5, 1, 0), MTHCA_FW_VER(5, 1, 400), 1, 1 },       /* ARBEL_NATIVE */\r
-       { MTHCA_FW_VER(1, 0, 800), MTHCA_FW_VER(1, 1, 0), 1, 1 },       /* SINAI */\r
+       { MTHCA_FW_VER(3, 3, 2), MTHCA_FW_VER(3, 5, 0), 0, 0 }, /* TAVOR */\r
+       { MTHCA_FW_VER(4, 7, 0), MTHCA_FW_VER(4, 8, 200), 0, 1 },       /* ARBEL_COMPAT */\r
+       { MTHCA_FW_VER(5, 1, 0), MTHCA_FW_VER(5, 3, 0), 1, 1 }, /* ARBEL_NATIVE */\r
+       { MTHCA_FW_VER(1, 0, 800), MTHCA_FW_VER(1, 2, 0), 1, 1 },       /* SINAI */\r
        { MTHCA_FW_VER(0, 0, 0), MTHCA_FW_VER(0, 0, 0), 0, 0 }          /* LIVEFISH */\r
 };\r
 \r
@@ -916,10 +916,10 @@ static int        mthca_check_fw(struct mthca_dev *mdev, struct pci_device_id *p_id)
                HCA_PRINT_EV(TRACE_LEVEL_ERROR ,HCA_DBG_LOW ,("HCA FW version %d.%d.%d is not supported. Use %d.%d.%d or higher.\n",\r
                           (int) (mdev->fw_ver >> 32), (int) (mdev->fw_ver >> 16) & 0xffff,\r
                           (int) (mdev->fw_ver & 0xffff),\r
-                          (int) (mthca_hca_table[p_id->driver_data].min_supported_fw >> 32),\r
-                          (int) (mthca_hca_table[p_id->driver_data].min_supported_fw >> 16) & 0xffff,\r
-                          (int) (mthca_hca_table[p_id->driver_data].min_supported_fw & 0xffff)));\r
-               err = -EINVAL;\r
+                          (int) (mthca_hca_table[p_id->driver_data].max_unsupported_fw >> 32),\r
+                          (int) (mthca_hca_table[p_id->driver_data].max_unsupported_fw >> 16) & 0xffff,\r
+                          (int) (mthca_hca_table[p_id->driver_data].max_unsupported_fw & 0xffff)));\r
+               err = -ENODEV;\r
        }\r
        else \r
        if (mdev->fw_ver < mthca_hca_table[p_id->driver_data].min_supported_fw) {\r