Re: [PATCH 0/4] NE2000 driver updates

Jeff Muizelaar
2003-05-14T22:34:23Z

Riley Williams wrote:

>Hi Jeff.
>
> > Attached is the rough beginnings of a patch that does this.
> >
> > Basically it adds ISA bus support and uses it in ne.c.
> >
> > ISA Bus Support
> > --
> > The bus uses ioaddr as the bus_id because I don't think we have
> > anything else unique to use.
>
>If there's going to be any problems, it's with devices claiming the
>same IOaddr as each other - and certain addresses are far too common
>where that's concerned - especially 0x0300 through 0x031F which are
>almost universal in their use !!!!!!!
>
>
This is a problem that already exists, if two devices are at the same io
address there is not much we can do. Autoprobe will pick up one first
and the second is out of luck.
(or are you confusing bus_id with device_id?)

>
> > Drivers are responsible for adding devices to the bus, through
> > isa_device_register(). Once added, devices stay around forever,
> > even after driver unload. Right now I use the device id's stolen
> > from eisa, but I can't see any reason not to just make ids up as
> > necessary.
>
> > ne.c
> > ---
> > ne_probe (the function called by Space.c) autoprobes for ne2000
> > devices and then as it finds them it calls isa_register_device.
> > It always returns -ENODEV. (eventually if all the net drivers
> > get moved to this model, some of this stuff could be moved into
> > Space.c) Later on, during module init the driver registers itself
> > with ISA bus and then ne_isa_probe is called appropriately.
>
>According to what I've been told and have seen for myself in the
>past, having this autoprobe at address 0x0300 is VERY likely to lock
>the machine up solid because of the number of other devices using
>that range. However, autoprobing the other addresses that this card
>can be at is apparently far less dangerous.
>
Nothing is being changed as far as this concerned. If you compile ne.c
into your kernel you get autoprobe at 0x300.

-Jeff