[KJ] [PATCH] oss/btaudio.c: Check ioremap return value and free
with iounmap
ville palo
ville.palo at vi64pa.net
Sun Sep 3 09:26:48 PDT 2006
Check return value of the ioremap() and balance ioremap()
with iounmap().
Signed-off-by: Ville Palo <ville.palo at vi64pa.net>
diff --git a/sound/oss/btaudio.c b/sound/oss/btaudio.c
index 324a81f..9b1837f 100644
--- a/sound/oss/btaudio.c
+++ b/sound/oss/btaudio.c
@@ -927,6 +927,10 @@ static int __devinit btaudio_probe(struc
bta->mem = pci_resource_start(pci_dev,0);
bta->mmio = ioremap(pci_resource_start(pci_dev,0),
pci_resource_len(pci_dev,0));
+ if (!bta->mmio) {
+ rc = -EIO;
+ goto fail1;
+ }
bta->source = 1;
bta->bits = 8;
@@ -1019,6 +1023,7 @@ static int __devinit btaudio_probe(struc
unregister_sound_dsp(bta->dsp_digital);
fail2:
free_irq(bta->irq,bta);
+ iounmap(bta->mmio);
fail1:
kfree(bta);
fail0:
@@ -1047,6 +1052,8 @@ static void __devexit btaudio_remove(str
}
/* free resources */
+ if (bta->mmio)
+ iounmap(bta->mmio);
free_buffer(bta);
free_irq(bta->irq,bta);
release_mem_region(pci_resource_start(pci_dev,0),
More information about the Kernel-janitors
mailing list