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

Takashi Iwai tiwai at suse.de
Thu Apr 19 13:48:24 CEST 2012


At Thu, 19 Apr 2012 08:40:40 +0200,
Julia Lawall wrote:
> 
> 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.

This setup is called first at sc6000_init_board(), which is called
much later than these error paths.  So, I don't think the need to call
sc6000_setup_board(*vport, 0) at err_unmap1.


thanks,

Takashi

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