Re: small problem with serial driver in .28/.29

Theodore Y. Ts'o (tytso@MIT.EDU)
Mon, 10 Mar 1997 20:09:45 -0500


From: "Pekka Pietik{inen" <pp@netppl.fi>
Date: Tue, 11 Mar 1997 01:30:01 +0200

After upgrading to .29, I noticed that my modem wasn't working,
every time I tried to access it I got a device is busy error.
(I have three serial ports, 1-3, the modem is on 3 with irq5).
Then I noticed the reason. In the new serial.c there's now code that
checks if the irq of the port is being used and if it is and
CONFIG_SERIAL_SHARE_IRQ is not defined, it returns EBUSY.
This might be a nice idea, but it also means that setserial
can't be used to move the port to another irq because the port is
busy because the kernel thinks it uses an irq that's already in use
by another port :)

I worked around this by moving setserial from the end of rc.local to
the start of my gpm start script.

I think the cleanest things for people to do is to actually do all of
their setserial commands *before* they start their gpm program. After
all, if you were going to change the irq of the port used by the mouse,
you'd have to run rc.serial before you started gpm.

I'll look into a simple patch to allow root to change the irq of a port
even if another program is using a conflict irq's port, but IMO people
should really fix their boot scripts....

- Ted