[alsa-devel] [PATCH] sound/isa/sc6000.c: add missing sc6000_setup_board

Julia Lawall Julia.Lawall at lip6.fr
Thu Apr 19 08:40:40 CEST 2012


From: Julia Lawall <Julia.Lawall at lip6.fr>

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 at lip6.fr>

---
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);



More information about the Alsa-devel mailing list