diff options
author | Jiri Slaby <jirislaby@gmail.com> | 2006-12-08 05:39:24 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-08 11:29:00 -0500 |
commit | 140e92abe2bc9a0cd3ccfd11744ff4eb65319bb3 (patch) | |
tree | 685951f0b313ac7ff6f5180bb69de1bb2754aade /drivers/char | |
parent | 8f8f5a5808ffc322c9c59e44fc3c0306d4f92ea4 (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.c | 18 |
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; |
3972 | err_null: | 3976 | err_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; |
4103 | err: | 4107 | err: |
4104 | return retval; | 4108 | return retval; |