Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1160998AbWJFOkh (ORCPT ); Fri, 6 Oct 2006 10:40:37 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1161004AbWJFOkh (ORCPT ); Fri, 6 Oct 2006 10:40:37 -0400 Received: from mx2.suse.de ([195.135.220.15]:26772 "EHLO mx2.suse.de") by vger.kernel.org with ESMTP id S1160998AbWJFOkg (ORCPT ); Fri, 6 Oct 2006 10:40:36 -0400 Date: Fri, 06 Oct 2006 16:40:30 +0200 Message-ID: From: Takashi Iwai To: Amol Lad Cc: linux kernel , Andrew Morton Subject: Re: [PATCH 7/9] sound/pci/rme9652/hdspm.c: ioremap balanced with iounmap In-Reply-To: <1160113136.19143.135.camel@amol.verismonetworks.com> References: <1160113136.19143.135.camel@amol.verismonetworks.com> User-Agent: Wanderlust/2.12.0 (Your Wildest Dreams) SEMI/1.14.6 (Maruoka) FLIM/1.14.7 (=?ISO-8859-4?Q?Sanj=F2?=) APEL/10.6 MULE XEmacs/21.5 (beta25) (eggplant) (+CVS-20060326) (i386-suse-linux) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2079 Lines: 62 At Fri, 06 Oct 2006 11:08:56 +0530, Amol Lad wrote: > > Signed-off-by: Amol Lad This is wrong. iounmap is called in snd_hdspm_free(), which is called when an error is returned from any of probe part. Takashi > --- > hdspm.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletion(-) > --- > diff -uprN -X linux-2.6.19-rc1-orig/Documentation/dontdiff linux-2.6.19-rc1-orig/sound/pci/rme9652/hdspm.c linux-2.6.19-rc1/sound/pci/rme9652/hdspm.c > --- linux-2.6.19-rc1-orig/sound/pci/rme9652/hdspm.c 2006-09-21 10:15:53.000000000 +0530 > +++ linux-2.6.19-rc1/sound/pci/rme9652/hdspm.c 2006-10-05 16:55:32.000000000 +0530 > @@ -3500,6 +3500,7 @@ static int __devinit snd_hdspm_create(st > IRQF_DISABLED | IRQF_SHARED, "hdspm", > (void *) hdspm)) { > snd_printk(KERN_ERR "HDSPM: unable to use IRQ %d\n", pci->irq); > + iounmap(hdspm->iobase); > return -EBUSY; > } > > @@ -3516,6 +3517,7 @@ static int __devinit snd_hdspm_create(st > == NULL) { > snd_printk(KERN_ERR "HDSPM: unable to kmalloc Mixer memory of %d Bytes\n", > (int)sizeof(struct hdspm_mixer)); > + iounmap(hdspm->iobase); > return err; > } > > @@ -3524,8 +3526,10 @@ static int __devinit snd_hdspm_create(st > hdspm->qs_channels = MADI_QS_CHANNELS; > > snd_printdd("create alsa devices.\n"); > - if ((err = snd_hdspm_create_alsa_devices(card, hdspm)) < 0) > + if ((err = snd_hdspm_create_alsa_devices(card, hdspm)) < 0) { > + iounmap(hdspm->iobase); > return err; > + } > > snd_hdspm_initialize_midi_flush(hdspm); > > > > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/