[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <84cff579-79bd-9456-aa85-cb4510d916ed@gmail.com>
Date: Mon, 6 May 2019 10:52:27 +0800
From: "Ji-Ze Hong (Peter Hong)" <hpeter@...il.com>
To: Johan Hovold <johan@...nel.org>
Cc: peter_hong@...tek.com.tw, gregkh@...uxfoundation.org,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
"Ji-Ze Hong (Peter Hong)" <hpeter+linux_kernel@...il.com>
Subject: Re: [PATCH V9 4/4] USB: serial: f81232: implement break control
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
Powered by blists - more mailing lists