Re: The failure summary report of GEN2 for linux stable v4.8

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi. I confirm that the patch from Shimoda-san works ok on V4.9-rc2 with CONFIG_SERIAL_SH_SCI_DMA enabled.


On 2016年10月28日 17:14, Yoshihiro Shimoda wrote:
Hi Geert-san, Xuan-san,

From: linux-renesas-soc-owner@xxxxxxxxxxxxxxx [mailto:linux-renesas-soc-owner@xxxxxxxxxxxxxxx] On Behalf Of Geert
Uytterhoeven
Sent: Monday, October 24, 2016 6:21 PM

On Mon, Oct 24, 2016 at 11:13 AM, Xuan Truong Nguyen
<nx-truong@xxxxxxxxxxx> wrote:
This is with shmobile_defconfig?
yes. we also attach the configs file we used
(lager-scif-pio-v4.9-rc2.config)

Does it work better if you enable CONFIG_SERIAL_SH_SCI_DMA?
yes, it's better a little bit. the kernel does not hangs up, but the warning
message is output.
please refer lager-scif-dma.log.

we tested on v4.9-rc2. the issue is the same.

if you need any information, please let us know.
WARNING: CPU: 0 PID: 2249 at drivers/dma/sh/rcar-dmac.c:1257 rcar_dmac_tx_status+0x128/0x4
No descriptor for cookie!
[<c03419e8>] (rcar_dmac_tx_status) from [<c0371e04>] (rx_timer_fn+0x48/0x148)
[<c0371dbc>] (rx_timer_fn) from [<c016dedc>] (call_timer_fn+0x2c/0xa0)
That looks like a race condition between timeout handling and actual completion
of the DMA?
I found an issue in sh-sci.c and made a patch to resolve it.
But, I'm not sure this is correct way.
If this is correct way, we also have to fix dev_dbg() in some functions.

Best regards,
Yoshihiro Shimoda

Since I send this email using Outlook, the patch format may be not good.
---
From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
Date: Fri, 28 Oct 2016 16:52:36 +0900
Subject: [PATCH] serial: sh-sci: remove dev_warn() to avoid double spin lock
  held--

さん

おはいようございます。ベトナムのチュオンです。
いつもお世話になっております。

では、よろしくお願い致します。

チュオン
nx-truong


If we use serial console and CONFIG_SERIAL_SH_SCI_DMA=y, since
sci_dma_rx_push() is called with port->lock held and dev_warn() will
call serial_console_write() finally, this is possible to call
spin_lock{_irqsave}() twice.
To avoid this, this patch remove dev_warn() in sci_dma_rx_push().

Reported-by: Xuan Truong Nguyen <nx-truong@xxxxxxxxxxx>
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
---
  drivers/tty/serial/sh-sci.c | 5 +----
  1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
index 4b26252..380b5d7 100644
--- a/drivers/tty/serial/sh-sci.c
+++ b/drivers/tty/serial/sh-sci.c
@@ -1142,11 +1142,8 @@ static int sci_dma_rx_push(struct sci_port *s, void *buf, size_t count)
  	int copied;
copied = tty_insert_flip_string(tport, buf, count);
-	if (copied < count) {
-		dev_warn(port->dev, "Rx overrun: dropping %zu bytes\n",
-			 count - copied);
+	if (copied < count)
  		port->icount.buf_overrun++;
-	}
port->icount.rx += copied;



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux