[3c509] Re: [Fwd: Problem: EISA 3com card detection]

Andrew Morton andrewm@uow.edu.au
Mon, 12 Mar 2001 00:33:34 +0000


Andrzej Krzysztofowicz wrote:
> 
> ...
> 
> As I see the patch is equivalent to mine (from my point of view).

Yes, it is.
 
> > --- linux-2.4.2-ac18/drivers/net/3c509.c      Sun Mar 11 15:12:38 2001
> > +++ linux-ac/drivers/net/3c509.c      Sun Mar 11 23:13:17 2001
> [...]
> > @@ -223,6 +225,12 @@
> >                       if (inw(ioaddr + 0xC80) != 0x6d50)
> >                               continue;
> >
> > +                     /* Avoid conflict with 3c590, 3c592, 3c597, etc */
> > +                     device_id = (inb(ioaddr + 0xC82)<<8) + inb(ioaddr + 0xC83);
> > +                     if ((device_id & 0xFF00) == 0x5900) {
> > +                             continue;
> > +                     }
> > +
> 
> But some remarks concerning the driver:
> - 3Com did not released any other EISA adapter than 3c579 based on this chip
>   (and supported by this driver). So where is the problem with your/my patch ?
>   -- if in "unknown" reported by 3c579 device_id - I am promissed to receive
>      a 3c579 EISA adapter next week, so will be able to perform tests.
>   -- if in "not modifying stable kernel sources" - then no comments.

Well, my problem is that I don't know what all the 3c509 device ID's
are.  The data sheet doesn't tell us.

So I thought that the minimum impact, least-risk approach was to simply
skip over the EISA devices which we *know* to cause problems - namely
0x59xx.

> - Alan suggested me in a private mail that we need an EISA API in the
>   kernel, like the MCA API. What is your opinion ?
>   IMO using any EISA API here would require well known device_id.

Probably.  But there is very little interest in or motivation to work
on [E]ISA nowadays.

> - Do you maintain the 3c509 kernel driver ?

Well...  I have one, so I am keeping an eye out for problems
with the driver.  There are vey few.

>  As I see it lacks some __init /
>   __initdata. (A patch follows; PCMCIA 3c589 uses a separate driver - so no
>   hotplug/__devinit here)

That makes sense - thanks.  I'll include that in the device_id patch.