diff options
Diffstat (limited to 'sound/oss/via82cxxx_audio.c')
-rw-r--r-- | sound/oss/via82cxxx_audio.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/oss/via82cxxx_audio.c b/sound/oss/via82cxxx_audio.c index 08d8c94d01b2..2fec42fc3482 100644 --- a/sound/oss/via82cxxx_audio.c +++ b/sound/oss/via82cxxx_audio.c | |||
@@ -1547,7 +1547,7 @@ static int via_mixer_open (struct inode *inode, struct file *file) | |||
1547 | 1547 | ||
1548 | DPRINTK ("ENTER\n"); | 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 | drvr = pci_dev_driver (pdev); | 1551 | drvr = pci_dev_driver (pdev); |
1552 | if (drvr == &via_driver) { | 1552 | if (drvr == &via_driver) { |
1553 | assert (pci_get_drvdata (pdev) != NULL); | 1553 | assert (pci_get_drvdata (pdev) != NULL); |
@@ -1562,6 +1562,7 @@ static int via_mixer_open (struct inode *inode, struct file *file) | |||
1562 | return -ENODEV; | 1562 | return -ENODEV; |
1563 | 1563 | ||
1564 | match: | 1564 | match: |
1565 | pci_dev_put(pdev); | ||
1565 | file->private_data = card->ac97; | 1566 | file->private_data = card->ac97; |
1566 | 1567 | ||
1567 | DPRINTK ("EXIT, returning 0\n"); | 1568 | DPRINTK ("EXIT, returning 0\n"); |
@@ -3245,7 +3246,7 @@ static int via_dsp_open (struct inode *inode, struct file *file) | |||
3245 | } | 3246 | } |
3246 | 3247 | ||
3247 | card = NULL; | 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 | drvr = pci_dev_driver (pdev); | 3250 | drvr = pci_dev_driver (pdev); |
3250 | if (drvr == &via_driver) { | 3251 | if (drvr == &via_driver) { |
3251 | assert (pci_get_drvdata (pdev) != NULL); | 3252 | assert (pci_get_drvdata (pdev) != NULL); |
@@ -3264,6 +3265,7 @@ static int via_dsp_open (struct inode *inode, struct file *file) | |||
3264 | return -ENODEV; | 3265 | return -ENODEV; |
3265 | 3266 | ||
3266 | match: | 3267 | match: |
3268 | pci_dev_put(pdev); | ||
3267 | if (nonblock) { | 3269 | if (nonblock) { |
3268 | if (!mutex_trylock(&card->open_mutex)) { | 3270 | if (!mutex_trylock(&card->open_mutex)) { |
3269 | DPRINTK ("EXIT, returning -EAGAIN\n"); | 3271 | DPRINTK ("EXIT, returning -EAGAIN\n"); |