Re: 2.1.119 FourPort serial interrupt probing broken

Theodore Y. Ts'o (tytso@mit.edu)
Tue, 8 Sep 1998 15:40:49 -0400


Date: Sat, 5 Sep 1998 11:33:44 +0200
From: Harald Koenig <koenig@tat.physik.uni-tuebingen.de>

and I don't like having to hard wire IRQs in startup scripts if possible
(the IRQ for this card changed quite some times in the last years because
of conflicts with other hardware, depending on configuration),
that reminds me too much for stupid CONFIG.SYS :-(

The problem is that IRQ probing on ISA bus cards is a real kludge,
because it's not something for which the ISA or ISA cards are really
designed to handle.

So getting something which works really is a "catch as catch can" type
situation. Etienne Lorrain, who originally redid the IRQ probing
routine, removed a lot of what he thought was unneeded crap from the
IRQ probing routines. And if you simply look at the paper specs, and
how a reasonable person might expect the ISA and ISA bus cards and
UART-clone chips to work, they would indeed by unnecessary.

I put back some of the "unneeded" instructures over his objections so
that it would work on more hardware cards, but AST Fourports are no
longer on my development machine (they are on my 386 box which isn't
particularly swift at doing compiles).

In some cases, however, adding some of these "unneeded" instructions
have also caused some people's systems to lock up or fail during the
autodetection process. So as we try to make the driver work for some
systems, we may end up making it fail for other people's systems.

This is one of the reasons why I'm not particularly thrilled about
promising any more functionality in the automatic IRQ detection, and why
I strongly encourage people to hard-code the IRQ's in the setup file. I
know that its inconvenient, but that's the nature of the ISA hardware
that we have to work with.

- Ted

P.S. There's a similar issue with the 16750 autodetection code and some
badly-done no-name UART built into an internal modem. I got one
complaint from someone who has one of these cheap internal modems which
was correctly detected in the Linux 2.0 kernel, but in the Linux 2.1
kernel, it is falsely detected as a 16750. Unfortunately, there's not
much I can do about things like this except to tell people to have the
boot scripts run the setserial command to hardcode the UART. I at least
have a specification sheet for the 16750; I don't have a spec sheet for
this no-name modem. Trying to correctly autodetect all of the
incompatible, cheap'n'cheasy hardware out there is a pretty much
impossible task.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/faq.html