| To: | jt@xxxxxxxxxx |
|---|---|
| Subject: | Re: [BUG] 2.6.3 + hp100 -> Oops |
| From: | Stephen Hemminger <shemminger@xxxxxxxx> |
| Date: | Wed, 18 Feb 2004 12:40:34 -0800 |
| Cc: | jt@xxxxxxxxxxxxxxxxxx, Jeff Garzik <jgarzik@xxxxxxxxx>, netdev@xxxxxxxxxxx, Linux kernel mailing list <linux-kernel@xxxxxxxxxxxxxxx> |
| In-reply-to: | <20040218201559.GA31872@bougret.hpl.hp.com> |
| Organization: | Open Source Development Lab |
| References: | <20040218201559.GA31872@bougret.hpl.hp.com> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
This should fix the problem... The multi-bus probe logic error handling was
botched.
diff -Nru a/drivers/net/hp100.c b/drivers/net/hp100.c
--- a/drivers/net/hp100.c Wed Feb 18 12:39:41 2004
+++ b/drivers/net/hp100.c Wed Feb 18 12:39:41 2004
@@ -3043,14 +3043,27 @@
int err;
err = hp100_isa_init();
-
+ if (err && err != -ENODEV)
+ goto out;
#ifdef CONFIG_EISA
- err |= eisa_driver_register(&hp100_eisa_driver);
+ err = eisa_driver_register(&hp100_eisa_driver);
+ if (err && err != -ENODEV)
+ goto out2;
#endif
#ifdef CONFIG_PCI
- err |= pci_module_init(&hp100_pci_driver);
+ err = pci_module_init(&hp100_pci_driver);
+ if (err && err != -ENODEV)
+ goto out3;
#endif
+ out:
return err;
+ out3:
+#ifdef CONFIG_EISA
+ eisa_driver_unregister (&hp100_eisa_driver);
+ out2:
+#endif
+ hp100_isa_cleanup();
+ goto out;
}
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [BUG] 2.6.3 + hp100 -> Oops, Stephen Hemminger |
|---|---|
| Next by Date: | Re: [NET] 64 bit byte counter for 2.6.3, Markus Hästbacka |
| Previous by Thread: | Re: [BUG] 2.6.3 + hp100 -> Oops, Stephen Hemminger |
| Next by Thread: | Re: [BUG] 2.6.3 + hp100 -> Oops, Jean Tourrilhes |
| Indexes: | [Date] [Thread] [Top] [All Lists] |