lkml.org 
[lkml]   [2004]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: 2.6.9-rc2-mm3
    On Fri, Sep 24, 2004 at 02:15:28PM -0500, Paul Fulghum wrote:
    > 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)

    Well, this is not the only place where the termios can be changed.
    Drivers can change it in their set_termios method, and are in fact
    required to do so for POSIX compliance.

    IOW, any feature which drivers are unable to alter needs to
    "unsettable". Eg, a port supporting only 8 bit data transmission
    must not report in termios that it is set to 7 bit data transmission.

    Unfortunately the way the tty layer currently goes about setting
    termios settings does not lend itself well to conforming to that.

    --
    Russell King
    Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
    maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
    2.6 Serial core
    -
    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    [W:2.328 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site