lkml.org 
[lkml]   [2004]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: 2.6.9-rc2-mm3
From
Date
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@microgate.com

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

\
 
 \ /
  Last update: 2005-03-22 14:06    [from the cache]
©2003-2011 Jasper Spaans