Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp654884ybl; Fri, 6 Dec 2019 04:11:29 -0800 (PST) X-Google-Smtp-Source: APXvYqzgK/A92OQOFcgy+XE4oz664thHZ1VMxdsJP92cprSiyY1xlEHDCJi5v5fcFJlrFQtbOvzJ X-Received: by 2002:a05:6808:56:: with SMTP id v22mr11490834oic.37.1575634289070; Fri, 06 Dec 2019 04:11:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575634289; cv=none; d=google.com; s=arc-20160816; b=DZH2QdoF5jKRRNtDOzjoRsGAh9e8lENGg6qD0QcL8sczgrCiq2oJatg8uic0InVf5Y 8F+Z0pKi8CrkMIHe9js111yRWBBSTBFtNBjVCuvvr8hP4XV+I6gFEv9EAaUeZhZeHwE5 qWmuXI+N7uKLPtIPpv8p5lEUoiE6Mma3L4fHZW6qdMIqfYqwLmqNEcYV1G6XKxYZh2E9 0EKS7jIp/tvpB0ne/7DPq/FosaObOYLc2gfD6tvarKDKJSJoCR1wqDfwqMphp1AFE4xp FhbuO93Ar83NPLNQyCugnsLYpycNuWviUnc0bSBIKixCROqem44nwNcAD1JDSqw24Y1y GLdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=zW/vwIj/clj315V402VwkQBZ7ArHdNCCHS7EL8WB4HA=; b=AXbZhQLbKCXnNYHGyCnNLoKG70lte1csm+eEermBk6EOD9yjpQkC/j+J6VJXFkCFRR FgmGopxEWHPeVHqoJOMtDuELsMLoDFzTKerKdJmWqH6N0l9682HaFe6zyBAuqmZLzbXU JBjXhRONmpgphNWD4xyWZFqVulTRUZzJQsPC9RBu5DdbqfkJSSnUvENeLggF43wuimbD 80umeQKJpeQXdgouvFEs4KhUYX9u8gaAbmor010PiIMyYr0OfZYC/gpID2+/tWA8FDgb fFBzQjuSR7kVCVPzFvustvjI5vHWyobSvRiN47V1sG8Y5REpcQabOQGhVq/azSNfz8sd Wnqw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v18si6803604oic.27.2019.12.06.04.11.15; Fri, 06 Dec 2019 04:11:29 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726242AbfLFMKo (ORCPT + 99 others); Fri, 6 Dec 2019 07:10:44 -0500 Received: from lgeamrelo12.lge.com ([156.147.23.52]:42553 "EHLO lgeamrelo11.lge.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726124AbfLFMKn (ORCPT ); Fri, 6 Dec 2019 07:10:43 -0500 X-Greylist: delayed 1798 seconds by postgrey-1.27 at vger.kernel.org; Fri, 06 Dec 2019 07:10:43 EST Received: from unknown (HELO lgemrelse6q.lge.com) (156.147.1.121) by 156.147.23.52 with ESMTP; 6 Dec 2019 20:40:41 +0900 X-Original-SENDERIP: 156.147.1.121 X-Original-MAILFROM: neidhard.kim@lge.com Received: from unknown (HELO localhost.localdomain) (10.178.32.48) by 156.147.1.121 with ESMTP; 6 Dec 2019 20:40:41 +0900 X-Original-SENDERIP: 10.178.32.48 X-Original-MAILFROM: neidhard.kim@lge.com From: Jongsung Kim To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, mcoquelin.stm32@gmail.com, davem@davemloft.net, joabreu@synopsys.com, alexandre.torgue@st.com, peppe.cavallaro@st.com, Jongsung Kim Subject: [PATCH] net: stmmac: reset Tx desc base address before restarting Tx Date: Fri, 6 Dec 2019 20:40:00 +0900 Message-Id: <20191206114000.27283-1-neidhard.kim@lge.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Refer to the databook of DesignWare Cores Ethernet MAC Universal: 6.2.1.5 Register 4 (Transmit Descriptor List Address Register If this register is not changed when the ST bit is set to 0, then the DMA takes the descriptor address where it was stopped earlier. The stmmac_tx_err() does zero indices to Tx descriptors, but does not reset HW current Tx descriptor address. To fix inconsistency, the base address of the Tx descriptors should be rewritten before restarting Tx. Signed-off-by: Jongsung Kim --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 644cb5d1fd4f..bbc65bd332a8 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -2009,6 +2009,8 @@ static void stmmac_tx_err(struct stmmac_priv *priv, u32 chan) tx_q->cur_tx = 0; tx_q->mss = 0; netdev_tx_reset_queue(netdev_get_tx_queue(priv->dev, chan)); + stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, + tx_q->dma_tx_phy, chan); stmmac_start_tx_dma(priv, chan); priv->dev->stats.tx_errors++; -- 2.20.1