From: Julia Lawall <Julia.Lawall@xxxxxxx> There seems to be no interaction between *port and the requested region, so the clearing of *vport should take place if the request_region fails. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> --- Not tested. sc6000_setup_board seems rather complicated, so my reasoning could be completely wrong. sound/isa/sc6000.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sound/isa/sc6000.c b/sound/isa/sc6000.c index d97d0f3..57679cb 100644 --- a/sound/isa/sc6000.c +++ b/sound/isa/sc6000.c @@ -594,7 +594,7 @@ static int __devinit snd_sc6000_probe(struct device *devptr, unsigned int dev) snd_printk(KERN_ERR PFX "I/O port cannot be iomaped.\n"); err = -EBUSY; - goto err_unmap1; + goto err_unmap0; } /* to make it marked as used */ @@ -678,9 +678,10 @@ static int __devinit snd_sc6000_probe(struct device *devptr, unsigned int dev) return 0; err_unmap2: - sc6000_setup_board(*vport, 0); release_region(mss_port[dev], 4); err_unmap1: + sc6000_setup_board(*vport, 0); +err_unmap0: release_region(port[dev], 0x10); err_exit: snd_card_free(card); -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html