[PATCH] Char: istallion, fix enabling
Enable ISA cards before pci_register_driver and then, enable each PCI card in
probe function.
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
diff --git a/drivers/char/istallion.c b/drivers/char/istallion.c
index c8183ec..1050c42 100644
--- a/drivers/char/istallion.c
+++ b/drivers/char/istallion.c
@@ -3968,6 +3968,10 @@
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;
@@ -4054,13 +4058,6 @@
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
@@ -4099,6 +4096,13 @@
}
}
+ 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;