From patchwork Tue Apr 6 04:43:18 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 49485 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 1372BB7CF1 for ; Tue, 6 Apr 2010 14:43:38 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751219Ab0DFEng (ORCPT ); Tue, 6 Apr 2010 00:43:36 -0400 Received: from mail.renesas.com ([202.234.163.13]:35329 "EHLO mail08.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750999Ab0DFEne (ORCPT ); Tue, 6 Apr 2010 00:43:34 -0400 X-AuditID: ac140399-00000009000001f1-d6-4bbabbeb701b Received: from guardian04.idc.renesas.com ([172.20.8.206]) by mail08.idc.renesas.com (sendmail) with ESMTP id o364hNN6000038; Tue, 6 Apr 2010 13:43:23 +0900 (JST) Received: (from root@localhost) by guardian04.idc.renesas.com with id o364hOKU005963; Tue, 6 Apr 2010 13:43:24 +0900 (JST) Received: from mta08.idc.renesas.com (localhost [127.0.0.1]) by mta08.idc.renesas.com with ESMTP id o364hNuE018572; Tue, 6 Apr 2010 13:43:23 +0900 (JST) Received: from PG10870.renesas.com ([172.30.8.159]) by ims05.idc.renesas.com (Sendmail) with ESMTPA id <0L0F0064BUG6IX@ims05.idc.renesas.com>; Tue, 06 Apr 2010 13:43:18 +0900 (JST) Date: Tue, 06 Apr 2010 13:43:18 +0900 (JST) Date-warning: Date header was inserted by ims05.idc.renesas.com From: Kuninori Morimoto Subject: [PATCH 2/2] net/irda: sh_sir: Modify iounmap wrong execution In-reply-to: To: netdev@vger.kernel.org Cc: Samuel Ortiz , "David S. Miller" Message-id: MIME-version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-type: text/plain; charset=US-ASCII User-Agent: SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL/10.7 Emacs/22.3 (i386-msvc-nt5.1.2600) MULE/5.0 (SAKAKI) Meadow/3.02-dev (RINDOU) (2009-06-17 Rev.4261) References: X-Brightmail-Tracker: AAAAAA== Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On sh_sir_probe function, there was a possibility that iounmap is executed even though self->membase was NULL when error case. This patch modify it. Signed-off-by: Kuninori Morimoto --- drivers/net/irda/sh_sir.c | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/net/irda/sh_sir.c b/drivers/net/irda/sh_sir.c index a4677b8..bdfefa0 100644 --- a/drivers/net/irda/sh_sir.c +++ b/drivers/net/irda/sh_sir.c @@ -720,7 +720,6 @@ static int __devinit sh_sir_probe(struct platform_device *pdev) struct sh_sir_self *self; struct resource *res; char clk_name[8]; - void __iomem *base; unsigned int irq; int err = -ENOMEM; @@ -735,14 +734,14 @@ static int __devinit sh_sir_probe(struct platform_device *pdev) if (!ndev) goto exit; - base = ioremap_nocache(res->start, resource_size(res)); - if (!base) { + self = netdev_priv(ndev); + self->membase = ioremap_nocache(res->start, resource_size(res)); + if (!self->membase) { err = -ENXIO; dev_err(&pdev->dev, "Unable to ioremap.\n"); goto err_mem_1; } - self = netdev_priv(ndev); err = sh_sir_init_iobuf(self, IRDA_SKB_MAX_MTU, IRDA_SIR_MAX_FRAME); if (err) goto err_mem_2; @@ -759,7 +758,6 @@ static int __devinit sh_sir_probe(struct platform_device *pdev) ndev->netdev_ops = &sh_sir_ndo; ndev->irq = irq; - self->membase = base; self->ndev = ndev; self->qos.baud_rate.bits &= IR_9600; /* FIXME */ self->qos.min_turn_time.bits = 1; /* 10 ms or more */