[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.