From patchwork Mon Jun 28 21:19:33 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Carpenter X-Patchwork-Id: 57191 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 4A2BDB6EDF for ; Tue, 29 Jun 2010 07:21:46 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755297Ab0F1VVe (ORCPT ); Mon, 28 Jun 2010 17:21:34 -0400 Received: from mail-iw0-f174.google.com ([209.85.214.174]:49165 "EHLO mail-iw0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755293Ab0F1VVc (ORCPT ); Mon, 28 Jun 2010 17:21:32 -0400 Received: by iwn7 with SMTP id 7so405888iwn.19 for ; Mon, 28 Jun 2010 14:21:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:from:to:cc:subject :message-id:mime-version:content-type:content-disposition:user-agent; bh=riHrhKicLd59NAYlwuIj0x4RgPXG924ovbnomuH2bWY=; b=XjMkIhhX2hUqv8/orKdPlMo2aXkykeEyQsjdiZJYOS6F8WBU75cH/5Uk6q2XiBhkeo hlyZFvxdddRYxmg6aAYX7Z1QUMENdSKdAg8mMpkkid6kNng9szKT3d+FMoFdFS/SGX4C /TgFpSUN5luwKl38ahLa4GhN8IavNuLO/b83g= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:mime-version:content-type :content-disposition:user-agent; b=bQtJd9dv58jHIWbHN4pDlPIdiv3Iug4Dw0Y76F7Gb9BszFnzaRRZHl9+wW407vDP00 hgvY6e96Qp/ZD3IO6jVaS3grn11m+gs04kzwe5+IfgC0sIHCfTJOxj17DWZzqOANYmbj EZRu0nqekOCtdW582Ey+2o9G6uzvFwuuOI0IE= Received: by 10.231.140.69 with SMTP id h5mr6062089ibu.153.1277760091647; Mon, 28 Jun 2010 14:21:31 -0700 (PDT) Received: from bicker ([205.177.176.130]) by mx.google.com with ESMTPS id 35sm16743087ibs.4.2010.06.28.14.21.11 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 28 Jun 2010 14:21:30 -0700 (PDT) Date: Mon, 28 Jun 2010 23:19:33 +0200 From: Dan Carpenter To: Florian Fainelli Cc: "David S. Miller" , Jiri Pirko , Eric Dumazet , netdev@vger.kernel.org, kernel-janitors@vger.kernel.org Subject: [patch] cpmac: use resource_size() Message-ID: <20100628211933.GL19184@bicker> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The original code is off by one because we should start counting at zero. So the size of the resource is end - start + 1. I switched it to use resource_size() to do the calculation. Signed-off-by: Dan Carpenter --- I don't have a cross compile environment, so I can't even compile test this. Sorry. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/net/cpmac.c b/drivers/net/cpmac.c index 23786ee..38de1a4 100644 --- a/drivers/net/cpmac.c +++ b/drivers/net/cpmac.c @@ -964,7 +964,7 @@ static int cpmac_open(struct net_device *dev) struct sk_buff *skb; mem = platform_get_resource_byname(priv->pdev, IORESOURCE_MEM, "regs"); - if (!request_mem_region(mem->start, mem->end - mem->start, dev->name)) { + if (!request_mem_region(mem->start, resource_size(mem), dev->name)) { if (netif_msg_drv(priv)) printk(KERN_ERR "%s: failed to request registers\n", dev->name); @@ -972,7 +972,7 @@ static int cpmac_open(struct net_device *dev) goto fail_reserve; } - priv->regs = ioremap(mem->start, mem->end - mem->start); + priv->regs = ioremap(mem->start, resource_size(mem)); if (!priv->regs) { if (netif_msg_drv(priv)) printk(KERN_ERR "%s: failed to remap registers\n", @@ -1049,7 +1049,7 @@ fail_alloc: iounmap(priv->regs); fail_remap: - release_mem_region(mem->start, mem->end - mem->start); + release_mem_region(mem->start, resource_size(mem)); fail_reserve: return res; @@ -1077,7 +1077,7 @@ static int cpmac_stop(struct net_device *dev) free_irq(dev->irq, dev); iounmap(priv->regs); mem = platform_get_resource_byname(priv->pdev, IORESOURCE_MEM, "regs"); - release_mem_region(mem->start, mem->end - mem->start); + release_mem_region(mem->start, resource_size(mem)); priv->rx_head = &priv->desc_ring[CPMAC_QUEUES]; for (i = 0; i < priv->ring_size; i++) { if (priv->rx_head[i].skb) {