All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] sound/soc/davinci/davinci-mcasp.c: Return error code in failure
  2010-10-18 14:11   ` [PATCH 1/2] sound/soc/davinci/davinci-mcasp.c: Return error Liam Girdwood
  (?)
@ 2010-10-18 14:11 ` Julia Lawall
  -1 siblings, 0 replies; 9+ messages in thread
From: Julia Lawall @ 2010-10-18 14:11 UTC (permalink / raw)
  To: Liam Girdwood
  Cc: alsa-devel, Takashi Iwai, Mark Brown, kernel-janitors,
	linux-kernel

In this code, 0 is returned on failure, even though other
failures return -ENOMEM or other similar values.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@a@
identifier alloc;
identifier ret;
constant C;
expression x;
@@

x = alloc(...);
if (x == NULL) { <+... \(ret = -C; \| return -C; \) ...+> }

@@
identifier f, a.alloc;
expression ret;
expression x,e1,e2,e3;
@@

ret = 0
... when != ret = e1
*x = alloc(...)
... when != ret = e2
if (x == NULL) { ... when != ret = e3
  return ret;
}
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>

---
Another call to platform_get_resource in the same function returns -ENODEV
on error, so I have used that value.

 sound/soc/davinci/davinci-mcasp.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c
index c8e97dc..86918ee 100644
--- a/sound/soc/davinci/davinci-mcasp.c
+++ b/sound/soc/davinci/davinci-mcasp.c
@@ -898,6 +898,7 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
 	res = platform_get_resource(pdev, IORESOURCE_DMA, 0);
 	if (!res) {
 		dev_err(&pdev->dev, "no DMA resource\n");
+		ret = -ENODEV;
 		goto err_release_region;
 	}
 
@@ -912,6 +913,7 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
 	res = platform_get_resource(pdev, IORESOURCE_DMA, 1);
 	if (!res) {
 		dev_err(&pdev->dev, "no DMA resource\n");
+		ret = -ENODEV;
 		goto err_release_region;
 	}

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2010-10-19  0:13 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-18 14:11 [PATCH 1/2] sound/soc/davinci/davinci-mcasp.c: Return error code in failure Julia Lawall
2010-10-18 14:11 ` Julia Lawall
2010-10-18 14:11 ` Julia Lawall
2010-10-18 14:11 ` Liam Girdwood
2010-10-18 14:11   ` Liam Girdwood
2010-10-18 14:11   ` [PATCH 1/2] sound/soc/davinci/davinci-mcasp.c: Return error Liam Girdwood
2010-10-18 23:31 ` [PATCH 1/2] sound/soc/davinci/davinci-mcasp.c: Return error code in failure Mark Brown
2010-10-18 23:31   ` Mark Brown
2010-10-18 23:31   ` [PATCH 1/2] sound/soc/davinci/davinci-mcasp.c: Return error Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.