-----Original Message----- From: Julia Lawall [mailto:julia@diku.dk] Sent: Tuesday, October 18, 2011 11:46 AM To: Liam Girdwood Cc: kernel-janitors@vger.kernel.org; Mark Brown; Jaroslav Kysela; Takashi Iwai; Dong Aisheng-B29396; Wolfram Sang; alsa-devel@alsa-project.org; linux-kernel@vger.kernel.org Subject: [PATCH 1/3] sound/soc/mxs/mxs-saif.c: keep pointer to resource so it can be freed
From: Julia Lawall julia@diku.dk
Add a new variable for storing resources accessed subsequent to the one accessed using request_mem_region, so the one accessed using request_mem_region can be released if needed.
The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/)
// <smpl> @r@ expression E, E1; identifier f; statement S1,S2,S3; @@
if (E == NULL) { ... when != if (E == NULL || ...) S1 else S2 when != E = E1 *E->f ... when any return ...; } else S3 // </smpl>
Signed-off-by: Julia Lawall julia@diku.dk
sound/soc/mxs/mxs-saif.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sound/soc/mxs/mxs-saif.c b/sound/soc/mxs/mxs-saif.c index 401944c..e12ff78 100644 --- a/sound/soc/mxs/mxs-saif.c +++ b/sound/soc/mxs/mxs-saif.c @@ -617,7 +617,7 @@ static irqreturn_t mxs_saif_irq(int irq, void *dev_id)
static int mxs_saif_probe(struct platform_device *pdev) {
- struct resource *res;
- struct resource *res, *res1;
How about naming iores and dmares?
struct mxs_saif *saif; struct mxs_saif_platform_data *pdata; int ret = 0; @@ -676,14 +676,14 @@ static int mxs_saif_probe(struct platform_device *pdev) goto failed_ioremap; }
- res = platform_get_resource(pdev, IORESOURCE_DMA, 0);
- if (!res) {
- res1 = platform_get_resource(pdev, IORESOURCE_DMA, 0);
- if (!res1) { ret = -ENODEV; dev_err(&pdev->dev, "failed to get dma resource: %d\n", ret); goto failed_ioremap; }
- saif->dma_param.chan_num = res->start;
saif->dma_param.chan_num = res1->start;
saif->irq = platform_get_irq(pdev, 0); if (saif->irq < 0) {
Regards Dong Aisheng