summaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorJiri Slaby <jirislaby@gmail.com>2006-12-08 02:39:24 -0800
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-08 08:29:00 -0800
commit140e92abe2bc9a0cd3ccfd11744ff4eb65319bb3 (patch)
tree685951f0b313ac7ff6f5180bb69de1bb2754aade /drivers/char
parent8f8f5a5808ffc322c9c59e44fc3c0306d4f92ea4 (diff)
downloadlinux-140e92abe2bc9a0cd3ccfd11744ff4eb65319bb3.tar.bz2
[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>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/istallion.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/char/istallion.c b/drivers/char/istallion.c
index c8183ec09412..1050c426dcd0 100644
--- a/drivers/char/istallion.c
+++ b/drivers/char/istallion.c
@@ -3968,6 +3968,10 @@ static int __devinit stli_pciprobe(struct pci_dev *pdev,
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 @@ static int stli_initbrds(void)
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 @@ static int stli_initbrds(void)
}
}
+ 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;