The patch titled
     sound/core/memalloc.c: Add missing pci_dev_put
has been added to the -mm tree.  Its filename is
     sound-core-memallocc-add-missing-pci_dev_put.patch

*** Remember to use Documentation/SubmitChecklist when testing your code ***

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: sound/core/memalloc.c: Add missing pci_dev_put
From: Julia Lawall <[EMAIL PROTECTED]>

There should be a pci_dev_put when breaking out of a loop that iterates
over calls to pci_get_device and similar functions.

In this case, the return under the initial if needs a pci_dev_put in the
same way that the return under the subsequent for loop has a pci_dev_put.

This was fixed using the following semantic patch.

// <smpl>
@@
type T;
identifier d;
expression e;
@@

T *d;
...
while ((d = 
\(pci_get_device\|pci_get_device_reverse\|pci_get_subsys\|pci_get_class\)(..., 
d)) != NULL)
  {... when != pci_dev_put(d)
       when != e = d
(
    return d;
|
+  pci_dev_put(d);
?  return ...;
)
...}
// </smpl>

Signed-off-by: Julia Lawall <[EMAIL PROTECTED]>
Cc: Jaroslav Kysela <[EMAIL PROTECTED]>
Cc: Takashi Iwai <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 sound/core/memalloc.c |    1 +
 1 file changed, 1 insertion(+)

diff -puN sound/core/memalloc.c~sound-core-memallocc-add-missing-pci_dev_put 
sound/core/memalloc.c
--- a/sound/core/memalloc.c~sound-core-memallocc-add-missing-pci_dev_put
+++ a/sound/core/memalloc.c
@@ -568,6 +568,7 @@ static ssize_t snd_mem_proc_write(struct
                                if (pci_set_dma_mask(pci, mask) < 0 ||
                                    pci_set_consistent_dma_mask(pci, mask) < 0) 
{
                                        printk(KERN_ERR "snd-page-alloc: cannot 
set DMA mask %lx for pci %04x:%04x\n", mask, vendor, device);
+                                       pci_dev_put(pci);
                                        return count;
                                }
                        }
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

drivers-pnp-resourcec-add-missing-pci_dev_put.patch
git-alsa.patch
sound-core-memallocc-add-missing-pci_dev_put.patch
drivers-char-remove-unnecessary-pci_dev_put.patch
arch-ppc-remove-an-unnecessary-pci_dev_put.patch
drivers-pci-pci-sysfsc-add-missing-pci_dev_put.patch
git-sparc64.patch
drivers-video-remove-unnecessary-pci_dev_put.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to