Re: serial.c patch in 2.3.19

Theodore Y. Ts'o (tytso@mit.edu)
Fri, 15 Oct 1999 15:00:23 -0400


Date: Fri, 15 Oct 1999 16:16:57 +0200
From: Thomas Sailer <sailer@ife.ee.ethz.ch>

> I don't see how this would be breaking systems. Basically, this patch
> causes the serial driver to not release the ioregion if the UART is
> unknown. But if the UART is unknown, the region wouldn't have been
> requested by the serial driver.

Consider this course of action:

setserial /dev/ttySx uart none
resource not released

Umm... I just tried it, using the latest serial driver, and it releases
the resource on my system. I'm on the road, so I'm not in a position to
check on 2.3.20, but the code hasn't changed between 2.3.20 and what I
have.

The way the code works is that if the port was requested when the port
was initialized before --- i.e., if the uart != none and the port != 0
--- then the resource is released. Then the new state is loaded, and
then if uart != none and port != 0, the resource is re-requested.

Look at the code, and tell me what's wrong with it. The change you
identified caused the driver to erroneously try to release a region it
didn't own before (which would usually fail), but changing it wouldn't
have caused the problem you think you're having --- which I can't
duplicate on my system.

I'll look into this some more when I get back to Boston, but I've desk
checked the code, and I've tried the most recent version of it, and I'm
simply not seeing the behaviour you're reporting. Sorry.

- Ted

-
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/