[2735] in linux-net channel archive

home help back first fref pref prev next nref lref last post

Re: Network module autoprobing in 1.3

daemon@ATHENA.MIT.EDU (Avery Pennarun)
Tue Apr 30 07:24:06 1996

Date: 	Mon, 29 Apr 1996 13:48:30 -0400 (EDT)
From: Avery Pennarun <apenwarr@foxnet.net>
To: Paul Gortmaker <gpg109@rsphy6.anu.edu.au>
cc: linux-net@vger.rutgers.edu
In-Reply-To: <9604280953.AA01073@rsphy6.anu.edu.au>

On Sun, 28 Apr 1996, Paul Gortmaker wrote:

> > Hi all.  Since I fixed the IRQ-autoprobe-lockup bug in early 1.3
> > kernels, it seems like the ARCnet driver is pretty much the only driver
> > to actually take advantage of this.
> > 
> > Yes, it means network drivers autoprobing as modules works quite well
> > indeed, and so the extra checks that disable probing for modules are no
> > longer necessary.  Is the kernel just waiting for someone to sweep
> > through and remove all those checks, or are we too deep in code freeze
> > now to attempt it?
> 
> Be careful as to exactly what you are refering to here when you say
> things like "the extra checks that disable probing for modules are no
> longer necessary".  Autoprobing for an IRQ event is one thing, and 
> autoprobing for the actual hardware is a completely different story.

Well, actually, I was just talking about the IRQ probing, foolishly thinking
that was the only major issue :)  Thanks for clarifying.

> The latter usually involves walking on broken glass, and trying to 
> avoid boot-time hangs, wheras the former is a relatively safe task.
> It is not 100% clear from the above as to whether you are talking about 
> just removing the IRQ check from some drivers, or the i/o check as well.
> 
> I would *strongly* object to removing the requirement of an i/o base
> for insmoding something like the ne2k driver. The same goes for any
> other driver that doesn't (or can't) do its i/o probing in a very
> very unobtrusive way. However, if you are talking about only removing 
> the requirement of a passed in IRQ value, then that is okay, as I never 
> required an IRQ value for insmoding any 8390 drivers to begin with.  :-)

I always believed that drivers should let me do whatever it is I want,
within reason.  Now, when autoprobing IRQ's in Linux 1.2 locked up the
machine 100% of the time, it was a good idea not to allow probing as a
module.  However, if an ne2k driver probing "might lock the computer" I
would like to have the option of trying it anyway.

A reasonably intelligent probe shouldn't walk all over addresses which are
already allocated anyway, and so the ne2k driver should have the same
chance, perhaps less, of killing my computer as a module than if it were
compiled in, no?

If nothing else, we could make the default off but make it optional. 
Something like:
	insmod ne2000 krazy=1

If I just don't know where my ne2000 is, it would be nice to be able to at
least try.  (And generally when I'm doing things like this I know to be at
the console and in a very safe situation).

> As an aside, the drivers will be changed to use the architecture
> specific auto-irq routines, like probe_irq_on() and friends which are
> hidden in ./arch/XXX/kernel/irq.c -- but this will happen in the v2.1 
> series, and not now. This will push ./drivers/net/auto_irq.c into
> obsolescence. So it might be wise to leave those drivers that want an
> IRQ value as they are until that gets in and tested.

That's what my ARCnet driver does already.  The change is rather simple, but
I understand the reasoning for keeping it until 2.1.

Fair enough.

Have fun!

Avery


home help back first fref pref prev next nref lref last post