From patchwork Mon Nov 25 15:27:03 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonas Jensen X-Patchwork-Id: 3232911 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 52A3DC045B for ; Mon, 25 Nov 2013 15:28:13 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id A7681201ED for ; Mon, 25 Nov 2013 15:28:08 +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 014EF20177 for ; Mon, 25 Nov 2013 15:28:04 +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 1Vky4q-0006Hl-C8; Mon, 25 Nov 2013 15:27:56 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1Vky4n-0002A2-SJ; Mon, 25 Nov 2013 15:27:53 +0000 Received: from mail-lb0-x231.google.com ([2a00:1450:4010:c04::231]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1Vky4k-00028D-9D for linux-arm-kernel@lists.infradead.org; Mon, 25 Nov 2013 15:27:50 +0000 Received: by mail-lb0-f177.google.com with SMTP id w7so3260849lbi.22 for ; Mon, 25 Nov 2013 07:27:26 -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=yE/fUkj+VbtuY0+/jpZfT2G7wopZRx/N2pFyCQhIDXU=; b=zXW9T+snbqJD38bkkzwRUo+i13+vlJ+ZmqarQaGeyvHMbqxasxN0da9uAXAENji0TN 1BJL/nvMJUYvb+p6X9rlGqcuJMhBtWVUf5TOzfr8Ch2ZOpKzUTTE6B3iMxQyGrY1fKOA q7V1uxUDs1BhcSNjQjB72SxVL5uyDXLc3leQRGGxC55yhEC4WCxVKDFnQPGj9biCcO5F byBPn5f6rk7wsTB0UH5lhO/h8A97sJXLiUz08bgCDav1ztAZFbZq5eFdQiELh5VmkhxP puMWCaXJfhmjrePkoocjgaepZkfdX4ykYRPuUlvKauXEFtt6xDDydnMGNW/kicMhm6rc mvzw== X-Received: by 10.112.141.166 with SMTP id rp6mr1634107lbb.39.1385393246707; Mon, 25 Nov 2013 07:27:26 -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 bo10sm6487292lbb.16.2013.11.25.07.27.24 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Mon, 25 Nov 2013 07:27:25 -0800 (PST) From: Jonas Jensen To: netdev@vger.kernel.org Subject: [PATCH v2 1/6] net: MOXA ART: clear TX descriptor length bits between sends Date: Mon, 25 Nov 2013 16:27:03 +0100 Message-Id: <1385393228-22416-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-20131125_102750_476969_53691CE5 X-CRM114-Status: UNSURE ( 9.86 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -2.0 (--) Cc: f.fainelli@gmail.com, linux-kernel@vger.kernel.org, Jonas Jensen , bhutchings@solarflare.com, davem@davemloft.net, linux-arm-kernel@lists.infradead.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.1 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=ham 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-20131125 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);