From: Jiri Slaby Date: Fri, 8 Dec 2006 10:39:24 +0000 (-0800) Subject: [PATCH] Char: istallion, fix enabling X-Git-Tag: v2.6.20-rc1~34^2~156 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=140e92abe2bc9a0cd3ccfd11744ff4eb65319bb3;p=linux-2.6-omap-h63xx.git [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 --- 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;