Summary: | ep0 in EISA mode hangs if ep0-device (ISA) is enabled | ||
---|---|---|---|
Product: | Base System | Reporter: | mi <mi> |
Component: | i386 | Assignee: | Matthew N. Dodd <mdodd> |
Status: | Closed FIXED | ||
Severity: | Affects Only Me | ||
Priority: | Normal | ||
Version: | Unspecified | ||
Hardware: | Any | ||
OS: | Any |
Description
mi
1997-01-27 01:10:07 UTC
The documentation for the ep device driver shows that 3c509 cards are soft-configured and that probes to port 110 are used for the driver to communicate with the card. 3c579 EISA cards, by contrast, are configured by the eisa-config program for the system, not by the 3c5x9cfg.exe DOS configuration program. Thus port 110 on these cards is not supposed to be there (because your supposed to use eisa-config to config the card) When the ep driver normally loads it first checks for EISA 3c579 cards, then it checks for ISA 3c509 cards. This probe order is fine since the 3c579 card has no port 110, the EISA probe will not need to disturb the port. When the ISA probe is done then port 110 is twiddled with and the 3c579 card will not be bothered. In this instance your putting an ISA card into EISA mode. So when the driver probes it EISA-configs the card. Then later on when the ISA probe is run it attempts to twiddle port 110. If you were using an EISA card this would not be a problem because EISA 3c579's have no port 110. Since your using an ISA card in EISA-emulation, there is a port 110, and this is why the second probe trashes the driver. If the driver were modded with a crude "don't probe for ISA cards if an ep card is configured on EISA" then you would screw all the people running a mix of EISA 3c579 and ISA 3c509 cards in an EISA box. Needless to say there is no way the 3c509 can report an "IN EISA emulation mode" during an EISA probe because the 3c579 EISA card does not have an ISA-emulation mode and thus that message was never put into the EISA-probe. While there may be a more convoluted way of making the probing work in nice fashion for ISA-in-EISA cards like the 3c509 card in EISA mode, it's going to make probe logic needlessly complex. In any case the 3c509 was not originally a true Plug-n-Play ISA card, so that's not an option, the ep probe logic is basically doing the user a kindness by doing an autoprobe - non Plug-n-Play ISA cards really should be hard-coded in the kernel.conf file anyway. I'd recommend this be a documentation change on the ep manual page, and in the hardware.txt, and FAQ, rather than a driver code change. Ted Responsible Changed From-To: freebsd-bugs->mdodd Matthew, you're Mr ep. If you decide that we should change the docs instead of the driver, let me know and I'll do the graft. State Changed From-To: open->closed Fix committed. |