From patchwork Fri Nov 22 14:57:18 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonas Jensen X-Patchwork-Id: 3222701 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 375DBC0C5E for ; Fri, 22 Nov 2013 14:58:15 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 2C00E20795 for ; Fri, 22 Nov 2013 14:58:14 +0000 (UTC) Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6C7DA20793 for ; Fri, 22 Nov 2013 14:58:09 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1VjsBI-0001BT-C7; Fri, 22 Nov 2013 14:58:04 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1VjsBF-0000IP-Sj; Fri, 22 Nov 2013 14:58:01 +0000 Received: from mail-lb0-x233.google.com ([2a00:1450:4010:c04::233]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1VjsBC-0000HN-HP for linux-arm-kernel@lists.infradead.org; Fri, 22 Nov 2013 14:57:59 +0000 Received: by mail-lb0-f179.google.com with SMTP id l4so1042842lbv.10 for ; Fri, 22 Nov 2013 06:57:36 -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=ek4aV0304ogv1f3QaQmEZ2Yn9qj8tZNVl9HV+3riYfw=; b=xb8aVheQl+2M6kRBi5LraDJf2NgMmlN/mPnw4KlPdPwqNKITxUgyBzppQn1ErGgCD1 hMnzxVs0jtQNjIn4Zj3nDEUxoiqgq/Mudru2GHm2if/CW2MHzfWnrqjwGjURLSLZhfXg bCr8dCyXhyxEcjXZ/kOoSLJqkJ9ELgNOpiOJI2x3VOFgTqCo2t+45Qk7r4RWWVbzmuZv //4GwIoANulO9lzG8Nicx+0nhw7HL1uy/sF7VIlYiF2YlhgTZLP+i33m2fWCFh82OiKQ 26UJWWwupduaOlp8xFDK5l+sgZqE9DJrHZ0Ve7D+Tbn233epVaTBKjs73CRQTotNkCob H+HQ== X-Received: by 10.112.172.137 with SMTP id bc9mr9499991lbc.21.1385132255970; Fri, 22 Nov 2013 06:57:35 -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 e10sm38129328laa.6.2013.11.22.06.57.34 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Fri, 22 Nov 2013 06:57:35 -0800 (PST) From: Jonas Jensen To: netdev@vger.kernel.org Subject: [PATCH 1/5] net: MOXA ART: clear TX descriptor length bits between sends Date: Fri, 22 Nov 2013 15:57:18 +0100 Message-Id: <1385132242-3204-1-git-send-email-jonas.jensen@gmail.com> X-Mailer: git-send-email 1.8.2.1 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20131122_095758_739699_19DAFC93 X-CRM114-Status: UNSURE ( 9.16 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -2.0 (--) Cc: Jonas Jensen , davem@davemloft.net, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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. Signed-off-by: Jonas Jensen --- Notes: Applies to next-20131122 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 cbd0133..3c14afd 100644 --- a/drivers/net/ethernet/moxa/moxart_ether.c +++ b/drivers/net/ethernet/moxa/moxart_ether.c @@ -349,7 +349,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);