brdp->state |= BST_PROBED;
        pci_set_drvdata(pdev, brdp);
 
+       EBRDENABLE(brdp);
+       brdp->enable = NULL;
+       brdp->disable = NULL;
+
        return 0;
 err_null:
        stli_brds[brdp->brdnr] = NULL;
        if (retval > 0)
                found += retval;
 
-       retval = pci_register_driver(&stli_pcidriver);
-       if (retval && found == 0) {
-               printk(KERN_ERR "Neither isa nor eisa cards found nor pci "
-                               "driver can be registered!\n");
-               goto err;
-       }
-
 /*
  *     All found boards are initialized. Now for a little optimization, if
  *     no boards are sharing the "shared memory" regions then we can just
                }
        }
 
+       retval = pci_register_driver(&stli_pcidriver);
+       if (retval && found == 0) {
+               printk(KERN_ERR "Neither isa nor eisa cards found nor pci "
+                               "driver can be registered!\n");
+               goto err;
+       }
+
        return 0;
 err:
        return retval;