Commit 14fef6414be49d59f4784eeef8d9c3f468993205
Committed by
Linus Torvalds
1 parent
f2443ab6c4
Exists in
master
and in
20 other branches
[PATCH] via82cxxx_audio: Use pci_get_device
pci_find_device is not refcounting and should be getting killed off. Signed-off-by: Alan Cox <alan@redhat.com> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Showing 1 changed file with 4 additions and 2 deletions Side-by-side Diff
sound/oss/via82cxxx_audio.c
... | ... | @@ -1547,7 +1547,7 @@ |
1547 | 1547 | |
1548 | 1548 | DPRINTK ("ENTER\n"); |
1549 | 1549 | |
1550 | - while ((pdev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, pdev)) != NULL) { | |
1550 | + while ((pdev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, pdev)) != NULL) { | |
1551 | 1551 | drvr = pci_dev_driver (pdev); |
1552 | 1552 | if (drvr == &via_driver) { |
1553 | 1553 | assert (pci_get_drvdata (pdev) != NULL); |
... | ... | @@ -1562,6 +1562,7 @@ |
1562 | 1562 | return -ENODEV; |
1563 | 1563 | |
1564 | 1564 | match: |
1565 | + pci_dev_put(pdev); | |
1565 | 1566 | file->private_data = card->ac97; |
1566 | 1567 | |
1567 | 1568 | DPRINTK ("EXIT, returning 0\n"); |
... | ... | @@ -3245,7 +3246,7 @@ |
3245 | 3246 | } |
3246 | 3247 | |
3247 | 3248 | card = NULL; |
3248 | - while ((pdev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, pdev)) != NULL) { | |
3249 | + while ((pdev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, pdev)) != NULL) { | |
3249 | 3250 | drvr = pci_dev_driver (pdev); |
3250 | 3251 | if (drvr == &via_driver) { |
3251 | 3252 | assert (pci_get_drvdata (pdev) != NULL); |
... | ... | @@ -3264,6 +3265,7 @@ |
3264 | 3265 | return -ENODEV; |
3265 | 3266 | |
3266 | 3267 | match: |
3268 | + pci_dev_put(pdev); | |
3267 | 3269 | if (nonblock) { |
3268 | 3270 | if (!mutex_trylock(&card->open_mutex)) { |
3269 | 3271 | DPRINTK ("EXIT, returning -EAGAIN\n"); |