Skip to content
Snippets Groups Projects
  • Johan Hovold's avatar
    729f7955
    Revert "USB: cdc-acm: fix rounding error in TIOCSSERIAL" · 729f7955
    Johan Hovold authored
    
    This reverts commit b401f8c4.
    
    The offending commit claimed that trying to set the values reported back
    by TIOCGSERIAL as a regular user could result in an -EPERM error when HZ
    is 250, but that was never the case.
    
    With HZ=250, the default 0.5 second value of close_delay is converted to
    125 jiffies when set and is converted back to 50 centiseconds by
    TIOCGSERIAL as expected (not 12 cs as was claimed, even if that was the
    case before an earlier fix).
    
    Comparing the internal current and new jiffies values is just fine to
    determine if the value is about to change so drop the bogus workaround
    (which was also backported to stable).
    
    For completeness: With different default values for these parameters or
    with a HZ value not divisible by two, the lack of rounding when setting
    the default values in tty_port_init() could result in an -EPERM being
    returned, but this is hardly something we need to worry about.
    
    Cc: Anthony Mallet <anthony.mallet@laas.fr>
    Cc: stable@vger.kernel.org
    Acked-by: default avatarOliver Neukum <oneukum@suse.com>
    Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
    Link: https://lore.kernel.org/r/20210408131602.27956-2-johan@kernel.org
    
    
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    729f7955
    History
    Revert "USB: cdc-acm: fix rounding error in TIOCSSERIAL"
    Johan Hovold authored
    
    This reverts commit b401f8c4.
    
    The offending commit claimed that trying to set the values reported back
    by TIOCGSERIAL as a regular user could result in an -EPERM error when HZ
    is 250, but that was never the case.
    
    With HZ=250, the default 0.5 second value of close_delay is converted to
    125 jiffies when set and is converted back to 50 centiseconds by
    TIOCGSERIAL as expected (not 12 cs as was claimed, even if that was the
    case before an earlier fix).
    
    Comparing the internal current and new jiffies values is just fine to
    determine if the value is about to change so drop the bogus workaround
    (which was also backported to stable).
    
    For completeness: With different default values for these parameters or
    with a HZ value not divisible by two, the lack of rounding when setting
    the default values in tty_port_init() could result in an -EPERM being
    returned, but this is hardly something we need to worry about.
    
    Cc: Anthony Mallet <anthony.mallet@laas.fr>
    Cc: stable@vger.kernel.org
    Acked-by: default avatarOliver Neukum <oneukum@suse.com>
    Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
    Link: https://lore.kernel.org/r/20210408131602.27956-2-johan@kernel.org
    
    
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>