/* First, lock the non-writable module parameters */
        HFI1_CAP_LOCK();
 
+       /* Validate dev ids */
+       if (!(ent->device == PCI_DEVICE_ID_INTEL0 ||
+             ent->device == PCI_DEVICE_ID_INTEL1)) {
+               hfi1_early_err(&pdev->dev,
+                              "Failing on unknown Intel deviceid 0x%x\n",
+                              ent->device);
+               ret = -ENODEV;
+               goto bail;
+       }
+
        /* Validate some global module parameters */
        ret = init_validate_rcvhdrcnt(&pdev->dev, rcvhdrcnt);
        if (ret)
        if (ret)
                goto bail;
 
-       if (!(ent->device == PCI_DEVICE_ID_INTEL0 ||
-             ent->device == PCI_DEVICE_ID_INTEL1)) {
-               hfi1_early_err(&pdev->dev,
-                              "Failing on unknown Intel deviceid 0x%x\n",
-                              ent->device);
-               ret = -ENODEV;
-               goto clean_bail;
-       }
-
        /*
         * Do device-specific initialization, function table setup, dd
         * allocation, etc.