aboutsummaryrefslogtreecommitdiff
path: root/sound/pci/pcxhr/pcxhr.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-12-04 11:05:26 +0100
committerIngo Molnar <mingo@elte.hu>2008-12-04 11:05:26 +0100
commitc0515566f3117c44b0572559bcc3cb00899b0910 (patch)
tree3c7e36ed6e78812b9276a81d6b3a2e80788003c5 /sound/pci/pcxhr/pcxhr.c
parent4385cecf1f5866fb33fc95e2ee26a44e9b6f6be2 (diff)
parent061e41fdb5047b1fb161e89664057835935ca1d2 (diff)
Merge commit 'v2.6.28-rc7' into x86/cleanups
Diffstat (limited to 'sound/pci/pcxhr/pcxhr.c')
-rw-r--r--sound/pci/pcxhr/pcxhr.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/pci/pcxhr/pcxhr.c b/sound/pci/pcxhr/pcxhr.c
index 0e06c6c9fcc..73de6e989b3 100644
--- a/sound/pci/pcxhr/pcxhr.c
+++ b/sound/pci/pcxhr/pcxhr.c
@@ -1229,8 +1229,11 @@ static int __devinit pcxhr_probe(struct pci_dev *pci, const struct pci_device_id
return -ENOMEM;
}
- if (snd_BUG_ON(pci_id->driver_data >= PCI_ID_LAST))
+ if (snd_BUG_ON(pci_id->driver_data >= PCI_ID_LAST)) {
+ kfree(mgr);
+ pci_disable_device(pci);
return -ENODEV;
+ }
card_name = pcxhr_board_params[pci_id->driver_data].board_name;
mgr->playback_chips = pcxhr_board_params[pci_id->driver_data].playback_chips;
mgr->capture_chips = pcxhr_board_params[pci_id->driver_data].capture_chips;