All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adam Belay <ambx1@neo.rr.com>
To: "M.H.VanLeeuwen" <vanl@megsinet.net>
Cc: torvalds@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] 2.6.0-test8 ISAPNP ne.c initialization
Date: Mon, 3 Nov 2003 23:43:11 +0000	[thread overview]
Message-ID: <20031103234311.GE16854@neo.rr.com> (raw)
In-Reply-To: <3F97596F.3E1A6F23@megsinet.net>

On Wed, Oct 22, 2003 at 11:30:39PM -0500, M.H.VanLeeuwen wrote:
> Hi,
> 
>  The level of isapnp_init was moved to after apci sometime ago.  Since it is now
>  after net_dev_init, ISA PNP NICs fail to initialized at boot.  This is particularily
>  problematic for NFS root filesystems like mine, or none modular systems.
>  I've been patching my kernel since at least 2.5.65 with the attached...
> 
>  This fix allows ISA PNP NIC cards to work during net_dev_init, and still
>  leaves isapnp_init after apci_init, though I don't know if it is the right
>  thing todo, it works for me...
> 
> Comments from Alan Cox a long while back:
> >We must initialise ACPI before ISAPnP because we need PCI and ACPI to
> >know what system resources we must not hit. How about moving the
> >net_dev_init to later?
>

-->snip

> -device_initcall(isapnp_init);
> +fs_initcall(isapnp_init);

I'm concerned that moving isapnp further down will spark some new problems.
Also this would be far later in the init cycle than most buses.

-->snip

> -subsys_initcall(net_dev_init);
> +fs_initcall(net_dev_init);

-->snip

How about something like this? (untested)

The patch removes the legacy probing function from dev.c and gives it its
own initcall later in the cycle.  Any testing would be appreciated.  I
also have some patches that update the probing code in some of these
drivers so that they don't have to use legacy techniques but they need
to be updated to test9.  This fix is probably the least intrusive.

--- a/drivers/net/Space.c	2003-10-25 18:42:56.000000000 +0000
+++ b/drivers/net/Space.c	2003-11-01 22:15:01.000000000 +0000
@@ -422,7 +422,7 @@
 extern int loopback_init(void);

 /*  Statically configured drivers -- order matters here. */
-void __init probe_old_netdevs(void)
+int __init net_olddevs_init(void)
 {
 	int num;

@@ -450,8 +450,12 @@
 #ifdef CONFIG_LTPC
 	ltpc_probe();
 #endif
+
+	return 0;
 }

+device_initcall(net_olddevs_init);
+
 /*
  * The @dev_base list is protected by @dev_base_lock and the rtln
  * semaphore.
--- a/include/linux/netdevice.h	2003-10-25 18:44:45.000000000 +0000
+++ b/include/linux/netdevice.h	2003-11-01 22:11:04.000000000 +0000
@@ -494,7 +494,6 @@
 extern struct net_device		*dev_base;		/* All devices */
 extern rwlock_t				dev_base_lock;		/* Device list lock */

-extern void		probe_old_netdevs(void);
 extern int			netdev_boot_setup_add(char *name, struct ifmap *map);
 extern int 			netdev_boot_setup_check(struct net_device *dev);
 extern struct net_device    *dev_getbyhwaddr(unsigned short type, char *hwaddr);
--- a/net/core/dev.c	2003-10-25 18:43:39.000000000 +0000
+++ b/net/core/dev.c	2003-11-02 16:10:51.000000000 +0000
@@ -3007,8 +3007,6 @@

 	dev_boot_phase = 0;

-	probe_old_netdevs();
-
 	open_softirq(NET_TX_SOFTIRQ, net_tx_action, NULL);
 	open_softirq(NET_RX_SOFTIRQ, net_rx_action, NULL);


  reply	other threads:[~2003-11-04  4:44 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Pine.LNX.4.10.10009211329001.1627-100000@penguin.transmeta.com>
2003-10-23  3:18 ` [BUG somewhere] 2.6.0-test8 irq.c, IRQ_INPROGRESS ? M.H.VanLeeuwen
2003-10-23  3:25   ` Linus Torvalds
2003-10-23  3:29     ` Linus Torvalds
2003-10-23 11:24     ` Marcelo Tosatti
2003-10-23 11:30     ` Mikael Pettersson
2003-10-23 14:31       ` Linus Torvalds
2003-10-23  4:30 ` [PATCH] 2.6.0-test8 ISAPNP ne.c initialization M.H.VanLeeuwen
2003-11-03 23:43   ` Adam Belay [this message]
2003-11-04  6:04     ` M.H.VanLeeuwen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20031103234311.GE16854@neo.rr.com \
    --to=ambx1@neo.rr.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@osdl.org \
    --cc=vanl@megsinet.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.