diff options
author | Julia Lawall <Julia.Lawall@lip6.fr> | 2015-04-05 14:06:33 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-04-05 18:04:27 +0200 |
commit | 646cb6dae4994eb332ddf7376520eed255c5a8b4 (patch) | |
tree | 8b16d697b749a8096a92db3367615a02b453bfab | |
parent | eab0fbfa41040f4f76b173cad17c0c8ed40cba33 (diff) | |
download | op-kernel-dev-646cb6dae4994eb332ddf7376520eed255c5a8b4.zip op-kernel-dev-646cb6dae4994eb332ddf7376520eed255c5a8b4.tar.gz |
ALSA: au1x00: fix error return code
Return a negative error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/mips/au1x00.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sound/mips/au1x00.c b/sound/mips/au1x00.c index fbcaa54..1e30e84 100644 --- a/sound/mips/au1x00.c +++ b/sound/mips/au1x00.c @@ -633,19 +633,25 @@ static int au1000_ac97_probe(struct platform_device *pdev) au1000->stream[PLAYBACK] = kmalloc(sizeof(struct audio_stream), GFP_KERNEL); - if (!au1000->stream[PLAYBACK]) + if (!au1000->stream[PLAYBACK]) { + err = -ENOMEM; goto out; + } au1000->stream[PLAYBACK]->dma = -1; au1000->stream[CAPTURE] = kmalloc(sizeof(struct audio_stream), GFP_KERNEL); - if (!au1000->stream[CAPTURE]) + if (!au1000->stream[CAPTURE]) { + err = -ENOMEM; goto out; + } au1000->stream[CAPTURE]->dma = -1; r = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!r) + if (!r) { + err = -ENODEV; goto out; + } err = -EBUSY; au1000->ac97_res_port = request_mem_region(r->start, resource_size(r), |