Re: 2.6.9-rc2-mm3

From: Paul Fulghum
Date: Fri Sep 24 2004 - 14:19:56 EST


On Fri, 2004-09-24 at 13:52, Paul Fulghum wrote:
> I am seeing this deadlock also.
>
> tty_termios_lock is acquired in change_termios(), tty_ioctl.c
>
> change_termios() calls the driver set_termios callback
> which in turn calls tty_termios_baud_rate(), tty_io.c
> which tries to acquire the lock again.

The core purpose of tty_termios_baud_rate() is
'read only': returning a value from a table referenced
by an index in the termios structure.

It currently also performs a sanity check for
the index and adjusts the index if it is out of bounds.
I assume the lock is held to protect this
possible write access to the termios structure.

Would it not make sense to move the sanity check
to change_termios, which would then allow removal
of the locks from tty_termios_baud_rate()?
(which also removes the deadlock)

--
Paul Fulghum
paulkf@xxxxxxxxxxxxx

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