From 140e92abe2bc9a0cd3ccfd11744ff4eb65319bb3 Mon Sep 17 00:00:00 2001 From: Jiri Slaby Date: Fri, 8 Dec 2006 02:39:24 -0800 Subject: [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 Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/char/istallion.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'drivers/char/istallion.c') diff --git a/drivers/char/istallion.c b/drivers/char/istallion.c index c8183ec0941..1050c426dcd 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; -- cgit