Re: Broken serial port

From: Laurent Vivier
Date: Tue Jun 17 2014 - 17:20:26 EST


Le 17/06/2014 21:28, Peter Hurley a Ãcrit :
> On 06/17/2014 02:48 PM, Laurent Vivier wrote:
>> Hi,
>>
>> I'm not subscribed to these mailing lists, so CC: me.
>>
>> I'm playing for some days with a kernel 3.15 on an old mac performa 575
>> and it seems that the serial port is broken. When I log on using the
>> console on the serial port it seems there is an screen refresh added
>> after each character I send.
>
> What uart driver is this happening on?
>
> This is a known bug being worked on for these uart drivers:
> sunsab
> sunzilog
> ip22zilog
> pmac_zilog

Seems to be pmac_zilog, from dmesg :

pmac_zilog: 0.6 (Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>)
scc.0: ttyS0 at MMIO 0x50f0c022 (irq = 4, base_baud = 230400) is a
Z85c30 ESCC -
Serial port
scc.1: ttyS1 at MMIO 0x50f0c020 (irq = 4, base_baud = 230400) is a
Z85c30 ESCC -
Serial port

If needed, I can test the fix.

Thank you.

Regards,
Laurent

> Regards,
> Peter Hurley
>
>> A little demo :
>>
>> http://asciinema.org/a/10211 [at 3:20]
>>
>> I bisect and I found this commit :
>>
>> commit 717f3bbab3c7628736ef738fdbf3d9a28578c26c
>> Author: Seth Bollinger <sethb@xxxxxxxx>
>> Date: Tue Mar 25 12:55:37 2014 -0500
>>
>> serial_core: Fix conditional start_tx on ring buffer not empty
>>
>> If the serial_core ring buffer empties just as the tty layer
>> receives
>> an XOFF, then start_tx will never be called when the tty layer
>> receives an XON as the serial_core ring buffer is empty. This will
>> possibly leave a few bytes trapped in the fifo for drivers that
>> disable the transmitter when flow controlled.
>>
>> Signed-off-by: Seth Bollinger <sethb@xxxxxxxx>
>> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>>
>>
>> If I revert it, all works fine :
>>
>> http://asciinema.org/a/10212
>>
>> Regards,
>> Laurent
>>
>


Attachment: signature.asc
Description: OpenPGP digital signature