From patchwork Mon Jan 20 11:13:13 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonas Jensen X-Patchwork-Id: 312502 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id CE6DB2C007E for ; Mon, 20 Jan 2014 22:16:42 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750822AbaATLNy (ORCPT ); Mon, 20 Jan 2014 06:13:54 -0500 Received: from mail-la0-f49.google.com ([209.85.215.49]:60696 "EHLO mail-la0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750721AbaATLNx (ORCPT ); Mon, 20 Jan 2014 06:13:53 -0500 Received: by mail-la0-f49.google.com with SMTP id y1so5353735lam.8 for ; Mon, 20 Jan 2014 03:13:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=qn/uJT9qWrZkzwJTg6ZVPAUXbtOK8Dyl2wLcvLyY460=; b=r1hlmyx3LRN0Bt1H/7U7j0FdC12FHdcv6+Csfw2366+szoSwhNTcf/Depsrs8aoHR5 jbnjj5xxyCcb43mzU2bOa91yvyQ5GSLa/UA0mdukpZEDXo4PmT3rF9cydHkUIwEMfRTR xmJZu++vuAUUzSeF61rdjDOyrexhVPaAbr+V2oWJb1obONzWc/YawTTQyBxBfbz+W9Kd laYbXm2HzdrbcvO5x3Q22uAyU6na+XfzVG594fZxfh5vP+YsHIyhUSLP5u1muXi2US1I 255JZzLniAjQKCsQQZLw/dOSIqr0KYYe+sBevR/O33ZbpAMbecWc58pZkJvF0JCRaWzX B/Eg== X-Received: by 10.112.199.225 with SMTP id jn1mr783798lbc.49.1390216431569; Mon, 20 Jan 2014 03:13:51 -0800 (PST) Received: from Ildjarn.ath.cx (static-213-115-41-10.sme.bredbandsbolaget.se. [213.115.41.10]) by mx.google.com with ESMTPSA id sv5sm551815lbb.9.2014.01.20.03.13.49 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Mon, 20 Jan 2014 03:13:50 -0800 (PST) From: Jonas Jensen To: netdev@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, davem@davemloft.net, f.fainelli@gmail.com, bhutchings@solarflare.com, Jonas Jensen Subject: [PATCH v3 1/7] net: moxa: clear TX descriptor length bits between sends Date: Mon, 20 Jan 2014 12:13:13 +0100 Message-Id: <1390216399-27028-1-git-send-email-jonas.jensen@gmail.com> X-Mailer: git-send-email 1.8.2.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Add TX_DESC1_BUF_SIZE_MASK to bits that are cleared, before the TX buffer length is set. Failing to do so can cause the controller to drop dead i.e. all TX interrupts stop, resulting in complete communication failure. Addresses https://bugzilla.kernel.org/show_bug.cgi?id=69031 Signed-off-by: Jonas Jensen --- Notes: Applies to next-20140120 drivers/net/ethernet/moxa/moxart_ether.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/moxa/moxart_ether.c b/drivers/net/ethernet/moxa/moxart_ether.c index 5020fd4..aa45607 100644 --- a/drivers/net/ethernet/moxa/moxart_ether.c +++ b/drivers/net/ethernet/moxa/moxart_ether.c @@ -348,7 +348,8 @@ static int moxart_mac_start_xmit(struct sk_buff *skb, struct net_device *ndev) txdes1 = readl(desc + TX_REG_OFFSET_DESC1); txdes1 |= TX_DESC1_LTS | TX_DESC1_FTS; - txdes1 &= ~(TX_DESC1_FIFO_COMPLETE | TX_DESC1_INTR_COMPLETE); + txdes1 &= ~(TX_DESC1_FIFO_COMPLETE | TX_DESC1_INTR_COMPLETE | + TX_DESC1_BUF_SIZE_MASK); txdes1 |= (len & TX_DESC1_BUF_SIZE_MASK); writel(txdes1, desc + TX_REG_OFFSET_DESC1); writel(TX_DESC0_DMA_OWN, desc + TX_REG_OFFSET_DESC0);