From patchwork Fri Apr 5 20:34:51 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Ott X-Patchwork-Id: 234274 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 2DC2C2C013B for ; Sat, 6 Apr 2013 07:37:17 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1162383Ab3DEUhI (ORCPT ); Fri, 5 Apr 2013 16:37:08 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:58770 "EHLO out1-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1162032Ab3DEUhB (ORCPT ); Fri, 5 Apr 2013 16:37:01 -0400 Received: from compute6.internal (compute6.nyi.mail.srv.osa [10.202.2.46]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 70F8F20870; Fri, 5 Apr 2013 16:37:01 -0400 (EDT) Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160]) by compute6.internal (MEProxy); Fri, 05 Apr 2013 16:37:01 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=signal11.us; h= from:to:cc:subject:date:message-id; s=mesmtp; bh=Fzt8HITZv9TlbIM vR8oBGq1ZA2g=; b=FKbYcGXtZjS+ITwkKjmIfX9bO1MWUnRQeyjQ5rBgtxPavQS 7sPV2FRuD56LJopGEV/7wWYriEvH6OyaLefmQavEH9w1EHNkquPfvFfqL+ZXyd9i LF+FET57qeHFvPhG7J5johHAh39XROVIqtuvL/YGQQVBJzj3dwDau/PKxhM0= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=from:to:cc:subject:date:message-id; s= smtpout; bh=Fzt8HITZv9TlbIMvR8oBGq1ZA2g=; b=CE0W6xli8+QiixSZDoLR Ir4UIqS807POUJ+m206E2DIy7U2C9762ufa/jSXTQnLql1lJoAjTaIdpBPukRTqs R/o+HTtBWkQXm+DZ18ZLnKT4lYENpGZsDk8CzuL1wkozxHJTRmMIPzwQ1P/clxtl zGGsaWhXAlqaSuP0CnHX1pA= X-Sasl-enc: tw3r6fVvIk0tKFMpVK19SM7c2Mm4Vh4LVDFl9WABJjAI 1365194221 Received: from ato.hsd1.fl.comcast.net. (unknown [68.62.254.211]) by mail.messagingengine.com (Postfix) with ESMTPA id C12A4C8000A; Fri, 5 Apr 2013 16:37:00 -0400 (EDT) From: Alan Ott To: Alexander Smirnov , Dmitry Eremin-Solenikov Cc: linux-zigbee-devel@lists.sourceforge.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Alan Ott Subject: [PATCH] mrf24j40: Enable link-layer acknowledgement and retry Date: Fri, 5 Apr 2013 16:34:51 -0400 Message-Id: <1365194091-2542-1-git-send-email-alan@signal11.us> X-Mailer: git-send-email 1.7.11.2 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On the MRF24J40, link-layer acknowledgment request and retry must be turned on explicitly for each packet. Turn this on in the hardware based on the FC_ACK_REQ bit being set in the packet. Also, now that failure to receive an ACK will cause the hardware to report failure of transmission, change the log level for this failure to debug level. Signed-off-by: Alan Ott --- drivers/net/ieee802154/mrf24j40.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/net/ieee802154/mrf24j40.c b/drivers/net/ieee802154/mrf24j40.c index 6481faf..556151d 100644 --- a/drivers/net/ieee802154/mrf24j40.c +++ b/drivers/net/ieee802154/mrf24j40.c @@ -25,6 +25,7 @@ #include #include #include +#include /* MRF24J40 Short Address Registers */ #define REG_RXMCR 0x00 /* Receive MAC control */ @@ -349,7 +350,9 @@ static int mrf24j40_tx(struct ieee802154_dev *dev, struct sk_buff *skb) if (ret) goto err; val |= 0x1; - val &= ~0x4; + /* Set TXNACKREQ if the ACK bit is set in the packet. */ + if (skb->data[0] & IEEE802154_FC_ACK_REQ) + val |= 0x4; write_short_reg(devrec, REG_TXNCON, val); INIT_COMPLETION(devrec->tx_complete); @@ -371,7 +374,7 @@ static int mrf24j40_tx(struct ieee802154_dev *dev, struct sk_buff *skb) if (ret) goto err; if (val & 0x1) { - dev_err(printdev(devrec), "Error Sending. Retry count exceeded\n"); + dev_dbg(printdev(devrec), "Error Sending. Retry count exceeded\n"); ret = -ECOMM; /* TODO: Better error code ? */ } else dev_dbg(printdev(devrec), "Packet Sent\n");