lkml.org 
[lkml]   [2019]   [May]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH V9 4/4] USB: serial: f81232: implement break control
    From
    Date
    Hi Johan,

    Johan Hovold 於 2019/5/3 下午 02:59 寫道:
    >> @@ -519,6 +530,7 @@ static int f81232_port_disable(struct usb_serial_port *port)
    >> static void f81232_set_termios(struct tty_struct *tty,
    >> struct usb_serial_port *port, struct ktermios *old_termios)
    >> {
    >> + struct f81232_private *priv = usb_get_serial_port_data(port);
    >> u8 new_lcr = 0;
    >> int status = 0;
    >> speed_t baudrate;
    >> @@ -572,11 +584,16 @@ static void f81232_set_termios(struct tty_struct *tty,
    >> break;
    >> }
    >>
    >> + mutex_lock(&priv->lock);
    >> +
    >> + new_lcr |= (priv->shadow_lcr & UART_LCR_SBC);
    >> status = f81232_set_register(port, LINE_CONTROL_REGISTER, new_lcr);
    >> if (status) {
    >> dev_err(&port->dev, "%s failed to set LCR: %d\n",
    >> __func__, status);
    >> }
    >> +
    >> + mutex_unlock(&priv->lock);
    >
    > You forgot to update shadow_lcr here so the line settings would be
    > corrupted (e.g set to 5 bit words) whenever a break is signalled.
    >
    > Did you not test this version of the patch?
    >
    > I added the missing update, but please test the code that's in my
    > usb-next branch in a minute and confirm everything works as expected.
    >

    Thanks for mention and patch the lost parts. I had only tested the
    break signal and forgot to test full LCR. I'll add it to my test items
    and it tested well on new usb-next branch after your fix.

    BTW, Should I disable break control when port close ?

    Thanks.

    --
    With Best Regards,
    Peter Hong

    \
     
     \ /
      Last update: 2019-05-06 04:53    [W:4.780 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site