Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1601574
| Path | csiph.com!news.mixmin.net!aioe.org!news.servidellagleba.it!bofh.it!news.nic.it!robomod |
|---|---|
| From | Nicolas Ferre <nicolas.ferre@microchip.com> |
| Newsgroups | linux.kernel |
| Subject | Re: [RFC PATCH] tty/serial: atmel: fix TX path in atmel_console_write() |
| Date | Wed, 15 Mar 2017 18:10:03 +0100 |
| Message-ID | <tlkAX-2eY-25@gated-at.bofh.it> (permalink) |
| References | <tlhjI-8i6-15@gated-at.bofh.it> <tljlw-1aZ-13@gated-at.bofh.it> <tljYd-1Jv-15@gated-at.bofh.it> |
| X-Greylist | delayed 579 seconds by postgrey-1.27 at vger.kernel.org; Wed, 15 Mar 2017 13:05:33 EDT |
| X-Ironport-Av | E=Sophos;i="5.36,169,1486450800"; d="scan'208";a="237825" |
| Organization | microchip |
| User-Agent | Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset="utf-8" |
| Content-Transfer-Encoding | 8bit |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 64 |
| X-Original-Cc | <linux-arm-kernel@lists.infradead.org>, <linux-kernel@vger.kernel.org>, "stable # 4 . 4+" <stable@vger.kernel.org> |
| X-Original-Date | Wed, 15 Mar 2017 17:56:11 +0100 |
| X-Original-Message-ID | <d3abc5aa-b010-a6cc-4ab9-74078149a692@microchip.com> |
| X-Original-References | <CACQ1gAgW4aGJSxSAXDWL7td9eV12UV=Xv=PZR58BqqHxEeRH0g@mail.gmail.com> <20170315152948.10978-1-nicolas.ferre@microchip.com> <074d057e-4971-a325-e985-3f5046536225@gmail.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1601574 |
Show key headers only | View raw
Le 15/03/2017 à 17:19, Richard Genoud a écrit :
> On 15/03/2017 16:29, Nicolas Ferre wrote:
>> A side effect of 89d8232411a8 ("tty/serial: atmel_serial: BUG: stop DMA
>> from transmitting in stop_tx") is that the console can be called with
>> TX path disabled. Then the system would hang trying to push charecters
>> out in atmel_console_putchar().
>>
>> Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
>> Fixes: 89d8232411a8 ("tty/serial: atmel_serial: BUG: stop DMA from transmitting
>> in stop_tx")
>> Cc: stable <stable@vger.kernel.org> # 4.4+
>> ---
>> Hi Richard,
>>
>> I found this to fix the problem with system hang in my linux-4.4-at91 branch
>> (in the atmel_console_putchar() waiting loop actually). I'm open to more
>> insignt.
>> As we cannot figure out if this bit is set or not, I didn't preserve the
>> current status...
>>
>> Regards,
>
> So, I'm guessing that you may see some lines/characters printed twice on
> the screen, don't you ?
Well, actually, I don't think so because the repetitions that I see are
probably due to open/close/open/close/re-open/... of the serial console
itself.
Same with the line "random: udevd: uninitialized urandom read (16 bytes
read, 21 bits of entropy available)", they happen at different moment in
time => the printk log timestamping seem to indicate that they are
different.
Here is my log:
http://code.bulix.org/bok23n-123056
Regards,
>> drivers/tty/serial/atmel_serial.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c
>> index dcebb28ffbc4..7372dbdb7a4c 100644
>> --- a/drivers/tty/serial/atmel_serial.c
>> +++ b/drivers/tty/serial/atmel_serial.c
>> @@ -2483,6 +2483,9 @@ static void atmel_console_write(struct console *co, const char *s, u_int count)
>> pdc_tx = atmel_uart_readl(port, ATMEL_PDC_PTSR) & ATMEL_PDC_TXTEN;
>> atmel_uart_writel(port, ATMEL_PDC_PTCR, ATMEL_PDC_TXTDIS);
>>
>> + /* Make sure that tx path is actually able to send characters */
>> + atmel_uart_writel(port, ATMEL_US_CR, ATMEL_US_TXEN);
>> +
>> uart_console_write(port, s, count, atmel_console_putchar);
>>
>> /*
>>
>
> Richard.
>
--
Nicolas Ferre
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: [PATCH] tty/serial: atmel_serial: BUG: stop DMA from transmitting in stop_tx Nicolas Ferre <nicolas.ferre@atmel.com> - 2017-03-15 12:50 +0100
Re: [PATCH] tty/serial: atmel_serial: BUG: stop DMA from transmitting in stop_tx Richard Genoud <richard.genoud@gmail.com> - 2017-03-15 14:40 +0100
[RFC PATCH] tty/serial: atmel: fix TX path in atmel_console_write() Nicolas Ferre <nicolas.ferre@microchip.com> - 2017-03-15 16:50 +0100
Re: [RFC PATCH] tty/serial: atmel: fix TX path in atmel_console_write() Richard Genoud <richard.genoud@gmail.com> - 2017-03-15 17:30 +0100
Re: [RFC PATCH] tty/serial: atmel: fix TX path in atmel_console_write() Nicolas Ferre <nicolas.ferre@microchip.com> - 2017-03-15 18:10 +0100
Re: [RFC PATCH] tty/serial: atmel: fix TX path in atmel_console_write() Richard Genoud <richard.genoud@gmail.com> - 2017-03-17 16:20 +0100
Re: [RFC PATCH] tty/serial: atmel: fix TX path in atmel_console_write() Nicolas Ferre <nicolas.ferre@microchip.com> - 2017-03-17 18:30 +0100
Re: [RFC PATCH] tty/serial: atmel: fix TX path in atmel_console_write() Richard Genoud <richard.genoud@gmail.com> - 2017-03-20 11:40 +0100
csiph-web