aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorJiri Slaby <jirislaby@gmail.com>2006-12-08 05:39:24 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-08 11:29:00 -0500
commit140e92abe2bc9a0cd3ccfd11744ff4eb65319bb3 (patch)
tree685951f0b313ac7ff6f5180bb69de1bb2754aade /drivers/char
parent8f8f5a5808ffc322c9c59e44fc3c0306d4f92ea4 (diff)
[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,
3968 brdp->state |= BST_PROBED; 3968 brdp->state |= BST_PROBED;
3969 pci_set_drvdata(pdev, brdp); 3969 pci_set_drvdata(pdev, brdp);
3970 3970
3971 EBRDENABLE(brdp);
3972 brdp->enable = NULL;
3973 brdp->disable = NULL;
3974
3971 return 0; 3975 return 0;
3972err_null: 3976err_null:
3973 stli_brds[brdp->brdnr] = NULL; 3977 stli_brds[brdp->brdnr] = NULL;
@@ -4054,13 +4058,6 @@ static int stli_initbrds(void)
4054 if (retval > 0) 4058 if (retval > 0)
4055 found += retval; 4059 found += retval;
4056 4060
4057 retval = pci_register_driver(&stli_pcidriver);
4058 if (retval && found == 0) {
4059 printk(KERN_ERR "Neither isa nor eisa cards found nor pci "
4060 "driver can be registered!\n");
4061 goto err;
4062 }
4063
4064/* 4061/*
4065 * All found boards are initialized. Now for a little optimization, if 4062 * All found boards are initialized. Now for a little optimization, if
4066 * no boards are sharing the "shared memory" regions then we can just 4063 * no boards are sharing the "shared memory" regions then we can just
@@ -4099,6 +4096,13 @@ static int stli_initbrds(void)
4099 } 4096 }
4100 } 4097 }
4101 4098
4099 retval = pci_register_driver(&stli_pcidriver);
4100 if (retval && found == 0) {
4101 printk(KERN_ERR "Neither isa nor eisa cards found nor pci "
4102 "driver can be registered!\n");
4103 goto err;
4104 }
4105
4102 return 0; 4106 return 0;
4103err: 4107err:
4104 return retval; 4108 return retval;