From patchwork Mon Nov 17 21:42:09 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Harvey Harrison X-Patchwork-Id: 9238 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.176.167]) by ozlabs.org (Postfix) with ESMTP id AFD37DDDED for ; Tue, 18 Nov 2008 08:42:17 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752320AbYKQVmN (ORCPT ); Mon, 17 Nov 2008 16:42:13 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752152AbYKQVmN (ORCPT ); Mon, 17 Nov 2008 16:42:13 -0500 Received: from wf-out-1314.google.com ([209.85.200.175]:39324 "EHLO wf-out-1314.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751279AbYKQVmM (ORCPT ); Mon, 17 Nov 2008 16:42:12 -0500 Received: by wf-out-1314.google.com with SMTP id 27so2809105wfd.4 for ; Mon, 17 Nov 2008 13:42:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:from:to:cc :content-type:date:message-id:mime-version:x-mailer :content-transfer-encoding; bh=u5JeKim9UmW5Nu0wCwiEUJINxuhQWwRHokFuCFGfas4=; b=jtMvbAjhrzE3at9e10qoC9BruOvnHHcP9HoZMefV3fv38+Ktg0SG99RWv/IYzh2Szp zrd9hobRvUwMmnoVnZJCxWh5PtQ7Zud1Li3STJ0atHpcFBbBQhILE1X6NlJjtl8Hk2HM 1w2WjFwhCgn4KCoNtUURF3oAu/0dTAZWW7RiQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:cc:content-type:date:message-id:mime-version :x-mailer:content-transfer-encoding; b=qV7XqaDe/kgCJEUrKodSIuIW7rjhFhDDQh/k4potBYsWU6ow8RlrwDmaWdSmNVlnRW 7msi8N/pWdEP5fkBtvYZpQpU7M5B6gaBMHRFr9oES2VU4sL6kouJ7qSaraxu2fEoJzVo 2bnnao1pZBk6db6Eh6dG8J3NDT5sjALiAFRN8= Received: by 10.142.222.21 with SMTP id u21mr2182443wfg.211.1226958131357; Mon, 17 Nov 2008 13:42:11 -0800 (PST) Received: from ?192.168.1.101? (216-19-190-48.dyn.novuscom.net [216.19.190.48]) by mx.google.com with ESMTPS id 28sm2347209wfd.14.2008.11.17.13.42.10 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 17 Nov 2008 13:42:11 -0800 (PST) Subject: [PATCH-2.6.28] net: ipg.c fix bracing on endian swapping From: Harvey Harrison To: David Miller Cc: linux-netdev , Jeff Garzik Date: Mon, 17 Nov 2008 13:42:09 -0800 Message-Id: <1226958129.6150.10.camel@brick> Mime-Version: 1.0 X-Mailer: Evolution 2.24.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org rxfd->frag_info is a __le64, IPG_RFI_FRAGLEN is a cpu-endian constant and wants to be outside of the le64_to_cpu. Fixed in multiple places. Also an occurrence where le64_to_cpu was used instead of cpu_to_le64 Signed-off-by: Harvey Harrison --- drivers/net/ipg.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/ipg.c b/drivers/net/ipg.c index 7373daf..0593698 100644 --- a/drivers/net/ipg.c +++ b/drivers/net/ipg.c @@ -1112,7 +1112,7 @@ static void ipg_nic_rx_free_skb(struct net_device *dev) struct ipg_rx *rxfd = sp->rxd + entry; pci_unmap_single(sp->pdev, - le64_to_cpu(rxfd->frag_info & ~IPG_RFI_FRAGLEN), + le64_to_cpu(rxfd->frag_info) & ~IPG_RFI_FRAGLEN, sp->rx_buf_sz, PCI_DMA_FROMDEVICE); dev_kfree_skb_irq(sp->rx_buff[entry]); sp->rx_buff[entry] = NULL; @@ -1179,7 +1179,7 @@ static int ipg_nic_rx_check_error(struct net_device *dev) */ if (sp->rx_buff[entry]) { pci_unmap_single(sp->pdev, - le64_to_cpu(rxfd->frag_info & ~IPG_RFI_FRAGLEN), + le64_to_cpu(rxfd->frag_info) & ~IPG_RFI_FRAGLEN, sp->rx_buf_sz, PCI_DMA_FROMDEVICE); dev_kfree_skb_irq(sp->rx_buff[entry]); @@ -1246,7 +1246,7 @@ static void ipg_nic_rx_with_start(struct net_device *dev, if (jumbo->found_start) dev_kfree_skb_irq(jumbo->skb); - pci_unmap_single(pdev, le64_to_cpu(rxfd->frag_info & ~IPG_RFI_FRAGLEN), + pci_unmap_single(pdev, le64_to_cpu(rxfd->frag_info) & ~IPG_RFI_FRAGLEN, sp->rx_buf_sz, PCI_DMA_FROMDEVICE); skb_put(skb, sp->rxfrag_size); @@ -1349,7 +1349,7 @@ static int ipg_nic_rx_jumbo(struct net_device *dev) unsigned int entry = curr % IPG_RFDLIST_LENGTH; struct ipg_rx *rxfd = sp->rxd + entry; - if (!(rxfd->rfs & le64_to_cpu(IPG_RFS_RFDDONE))) + if (!(rxfd->rfs & cpu_to_le64(IPG_RFS_RFDDONE))) break; switch (ipg_nic_rx_check_frame_type(dev)) {