From patchwork Wed Sep 29 05:52:15 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Simek X-Patchwork-Id: 66047 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 723E2B711A for ; Wed, 29 Sep 2010 15:54:02 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752395Ab0I2Fxe (ORCPT ); Wed, 29 Sep 2010 01:53:34 -0400 Received: from mail-fx0-f46.google.com ([209.85.161.46]:56054 "EHLO mail-fx0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751408Ab0I2Fxd (ORCPT ); Wed, 29 Sep 2010 01:53:33 -0400 Received: by mail-fx0-f46.google.com with SMTP id 14so257615fxm.19 for ; Tue, 28 Sep 2010 22:53:32 -0700 (PDT) Received: by 10.223.126.8 with SMTP id a8mr1105752fas.17.1285739612295; Tue, 28 Sep 2010 22:53:32 -0700 (PDT) Received: from localhost (56.55.96.58.static.exetel.com.au [58.96.55.56]) by mx.google.com with ESMTPS id c20sm3576602fak.33.2010.09.28.22.53.22 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 28 Sep 2010 22:53:31 -0700 (PDT) From: Michal Simek To: linux-kernel@vger.kernel.org Cc: john.williams@petalogix.com, edgar.iglesias@gmail.com, duyl@xilinx.com, linnj@xilinx.com, grant.likely@secretlab.ca, microblaze-uclinux@itee.uq.edu.au, Michal Simek , "David S. Miller" , Eric Dumazet , netdev@vger.kernel.org, devicetree-discuss@lists.ozlabs.org Subject: [PATCH 4/7] net: emaclite: Add support for little-endian platforms Date: Wed, 29 Sep 2010 15:52:15 +1000 Message-Id: <1285739538-29058-5-git-send-email-monstr@monstr.eu> X-Mailer: git-send-email 1.5.5.1 In-Reply-To: <1285739538-29058-4-git-send-email-monstr@monstr.eu> References: <1285739538-29058-1-git-send-email-monstr@monstr.eu> <1285739538-29058-2-git-send-email-monstr@monstr.eu> <1285739538-29058-3-git-send-email-monstr@monstr.eu> <1285739538-29058-4-git-send-email-monstr@monstr.eu> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Upcomming Microblaze is little endian that's why is necessary to fix protocol and length loading. Signed-off-by: Michal Simek CC: "David S. Miller" CC: Grant Likely CC: Eric Dumazet CC: netdev@vger.kernel.org CC: linux-kernel@vger.kernel.org CC: devicetree-discuss@lists.ozlabs.org Acked-by: Grant Likely Acked-by: David S. Miller --- drivers/net/xilinx_emaclite.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c index 71122ee..533ebb1 100644 --- a/drivers/net/xilinx_emaclite.c +++ b/drivers/net/xilinx_emaclite.c @@ -430,8 +430,8 @@ static u16 xemaclite_recv_data(struct net_local *drvdata, u8 *data) } /* Get the protocol type of the ethernet frame that arrived */ - proto_type = ((in_be32(addr + XEL_HEADER_OFFSET + - XEL_RXBUFF_OFFSET) >> XEL_HEADER_SHIFT) & + proto_type = ((ntohl(in_be32(addr + XEL_HEADER_OFFSET + + XEL_RXBUFF_OFFSET)) >> XEL_HEADER_SHIFT) & XEL_RPLR_LENGTH_MASK); /* Check if received ethernet frame is a raw ethernet frame @@ -439,9 +439,9 @@ static u16 xemaclite_recv_data(struct net_local *drvdata, u8 *data) if (proto_type > (ETH_FRAME_LEN + ETH_FCS_LEN)) { if (proto_type == ETH_P_IP) { - length = ((in_be32(addr + + length = ((ntohl(in_be32(addr + XEL_HEADER_IP_LENGTH_OFFSET + - XEL_RXBUFF_OFFSET) >> + XEL_RXBUFF_OFFSET)) >> XEL_HEADER_SHIFT) & XEL_RPLR_LENGTH_MASK); length += ETH_HLEN + ETH_FCS_LEN;