* [PATCH] Also iounmap in error path in arch/ia64/kernel/cyclone.c @ 2007-11-03 23:13 Roel Kluin 2007-11-05 2:05 ` Simon Horman 2007-11-05 9:01 ` Roel Kluin 0 siblings, 2 replies; 3+ messages in thread From: Roel Kluin @ 2007-11-03 23:13 UTC (permalink / raw) To: linux-ia64 base is a local u64. use_cyclone a global int. -- Also iounmap in error path Signed-off-by: Roel Kluin <12o3l@tiscali.nl> --- diff --git a/arch/ia64/kernel/cyclone.c b/arch/ia64/kernel/cyclone.c index 790ef0d..d23acf0 100644 --- a/arch/ia64/kernel/cyclone.c +++ b/arch/ia64/kernel/cyclone.c @@ -59,13 +59,13 @@ int __init init_cyclone_clock(void) return -ENODEV; } base = readq(reg); + iounmap(reg); if(!base){ printk(KERN_ERR "Summit chipset: Could not find valid CBAR" " value.\n"); use_cyclone = 0; return -ENODEV; } - iounmap(reg); /* setup PMCC */ offset = (base + CYCLONE_PMCC_OFFSET); ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] Also iounmap in error path in arch/ia64/kernel/cyclone.c 2007-11-03 23:13 [PATCH] Also iounmap in error path in arch/ia64/kernel/cyclone.c Roel Kluin @ 2007-11-05 2:05 ` Simon Horman 2007-11-05 9:01 ` Roel Kluin 1 sibling, 0 replies; 3+ messages in thread From: Simon Horman @ 2007-11-05 2:05 UTC (permalink / raw) To: linux-ia64 On Sun, Nov 04, 2007 at 12:13:43AM +0100, Roel Kluin wrote: > base is a local u64. use_cyclone a global int. > -- > Also iounmap in error path This seems correct, but doesn't the same problem occur several other times further down the same function? > > Signed-off-by: Roel Kluin <12o3l@tiscali.nl> > --- > diff --git a/arch/ia64/kernel/cyclone.c b/arch/ia64/kernel/cyclone.c > index 790ef0d..d23acf0 100644 > --- a/arch/ia64/kernel/cyclone.c > +++ b/arch/ia64/kernel/cyclone.c > @@ -59,13 +59,13 @@ int __init init_cyclone_clock(void) > return -ENODEV; > } > base = readq(reg); > + iounmap(reg); > if(!base){ > printk(KERN_ERR "Summit chipset: Could not find valid CBAR" > " value.\n"); > use_cyclone = 0; > return -ENODEV; > } > - iounmap(reg); > > /* setup PMCC */ > offset = (base + CYCLONE_PMCC_OFFSET); > - > To unsubscribe from this list: send the line "unsubscribe linux-ia64" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Horms H: http://www.vergenet.net/~horms/ W: http://www.valinux.co.jp/en/ ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Also iounmap in error path in arch/ia64/kernel/cyclone.c 2007-11-03 23:13 [PATCH] Also iounmap in error path in arch/ia64/kernel/cyclone.c Roel Kluin 2007-11-05 2:05 ` Simon Horman @ 2007-11-05 9:01 ` Roel Kluin 1 sibling, 0 replies; 3+ messages in thread From: Roel Kluin @ 2007-11-05 9:01 UTC (permalink / raw) To: linux-ia64 Simon Horman wrote: > On Sun, Nov 04, 2007 at 12:13:43AM +0100, Roel Kluin wrote: >> base is a local u64. use_cyclone a global int. >> -- >> Also iounmap in error path > > This seems correct, but doesn't the same problem occur several other > times further down the same function? > Ok, since the function was ioremap_nocache instead of ioremap, I wasn't sure whether the unmap was required. Apparently I overlooked this was true for the first case as well. Thanks for reviewing. -- iounmap after ioremap when CBAR/PMCC/MPCS/MPMC is not found Signed-off-by: Roel Kluin <12o3l@tiscali.nl> --- diff --git a/arch/ia64/kernel/cyclone.c b/arch/ia64/kernel/cyclone.c index 790ef0d..64d3ab9 100644 --- a/arch/ia64/kernel/cyclone.c +++ b/arch/ia64/kernel/cyclone.c @@ -59,13 +59,13 @@ int __init init_cyclone_clock(void) return -ENODEV; } base = readq(reg); + iounmap(reg); if(!base){ printk(KERN_ERR "Summit chipset: Could not find valid CBAR" " value.\n"); use_cyclone = 0; return -ENODEV; } - iounmap(reg); /* setup PMCC */ offset = (base + CYCLONE_PMCC_OFFSET); @@ -74,6 +74,7 @@ int __init init_cyclone_clock(void) printk(KERN_ERR "Summit chipset: Could not find valid PMCC" " register.\n"); use_cyclone = 0; + iounmap(reg); return -ENODEV; } writel(0x00000001,reg); @@ -86,6 +87,7 @@ int __init init_cyclone_clock(void) printk(KERN_ERR "Summit chipset: Could not find valid MPCS" " register.\n"); use_cyclone = 0; + iounmap(reg); return -ENODEV; } writel(0x00000001,reg); @@ -98,6 +100,7 @@ int __init init_cyclone_clock(void) printk(KERN_ERR "Summit chipset: Could not find valid MPMC" " register.\n"); use_cyclone = 0; + iounmap(cyclone_timer); return -ENODEV; } ^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-11-05 9:01 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-11-03 23:13 [PATCH] Also iounmap in error path in arch/ia64/kernel/cyclone.c Roel Kluin 2007-11-05 2:05 ` Simon Horman 2007-11-05 9:01 ` Roel Kluin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox