git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ALSA: hda - Fix beep_mode option value
[safe/jmp/linux-2.6]
/
sound
/
pci
/
atiixp_modem.c
diff --git
a/sound/pci/atiixp_modem.c
b/sound/pci/atiixp_modem.c
index
a67a869
..
e7e147b
100644
(file)
--- a/
sound/pci/atiixp_modem.c
+++ b/
sound/pci/atiixp_modem.c
@@
-262,8
+262,8
@@
struct atiixp_modem {
/*
*/
static struct pci_device_id snd_atiixp_ids[] = {
/*
*/
static struct pci_device_id snd_atiixp_ids[] = {
- {
0x1002, 0x434d, PCI_ANY_ID, PCI_ANY_ID, 0, 0
, 0 }, /* SB200 */
- {
0x1002, 0x4378, PCI_ANY_ID, PCI_ANY_ID, 0, 0
, 0 }, /* SB400 */
+ {
PCI_VDEVICE(ATI, 0x434d)
, 0 }, /* SB200 */
+ {
PCI_VDEVICE(ATI, 0x4378)
, 0 }, /* SB400 */
{ 0, }
};
{ 0, }
};
@@
-674,7
+674,9
@@
static int snd_atiixp_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
struct atiixp_dma *dma = substream->runtime->private_data;
int err = 0;
struct atiixp_dma *dma = substream->runtime->private_data;
int err = 0;
- snd_assert(dma->ops->enable_transfer && dma->ops->flush_dma, return -EINVAL);
+ if (snd_BUG_ON(!dma->ops->enable_transfer ||
+ !dma->ops->flush_dma))
+ return -EINVAL;
spin_lock(&chip->reg_lock);
switch(cmd) {
spin_lock(&chip->reg_lock);
switch(cmd) {
@@
-865,7
+867,8
@@
static int snd_atiixp_pcm_open(struct snd_pcm_substream *substream,
.mask = 0,
};
.mask = 0,
};
- snd_assert(dma->ops && dma->ops->enable_dma, return -EINVAL);
+ if (snd_BUG_ON(!dma->ops || !dma->ops->enable_dma))
+ return -EINVAL;
if (dma->opened)
return -EBUSY;
if (dma->opened)
return -EBUSY;
@@
-895,7
+898,8
@@
static int snd_atiixp_pcm_close(struct snd_pcm_substream *substream,
{
struct atiixp_modem *chip = snd_pcm_substream_chip(substream);
/* disable DMA bits */
{
struct atiixp_modem *chip = snd_pcm_substream_chip(substream);
/* disable DMA bits */
- snd_assert(dma->ops && dma->ops->enable_dma, return -EINVAL);
+ if (snd_BUG_ON(!dma->ops || !dma->ops->enable_dma))
+ return -EINVAL;
spin_lock_irq(&chip->reg_lock);
dma->ops->enable_dma(chip, 0);
spin_unlock_irq(&chip->reg_lock);
spin_lock_irq(&chip->reg_lock);
dma->ops->enable_dma(chip, 0);
spin_unlock_irq(&chip->reg_lock);
@@
-1197,7
+1201,7
@@
static int snd_atiixp_free(struct atiixp_modem *chip)
if (chip->irq < 0)
goto __hw_end;
snd_atiixp_chip_stop(chip);
if (chip->irq < 0)
goto __hw_end;
snd_atiixp_chip_stop(chip);
- synchronize_irq(chip->irq);
+
__hw_end:
if (chip->irq >= 0)
free_irq(chip->irq, chip);
__hw_end:
if (chip->irq >= 0)
free_irq(chip->irq, chip);
@@
-1248,7
+1252,7
@@
static int __devinit snd_atiixp_create(struct snd_card *card,
return err;
}
chip->addr = pci_resource_start(pci, 0);
return err;
}
chip->addr = pci_resource_start(pci, 0);
- chip->remap_addr =
ioremap_nocache(chip->addr, pci_resource_len(pci, 0)
);
+ chip->remap_addr =
pci_ioremap_bar(pci, 0
);
if (chip->remap_addr == NULL) {
snd_printk(KERN_ERR "AC'97 space ioremap problem\n");
snd_atiixp_free(chip);
if (chip->remap_addr == NULL) {
snd_printk(KERN_ERR "AC'97 space ioremap problem\n");
snd_atiixp_free(chip);
@@
-1284,9
+1288,9
@@
static int __devinit snd_atiixp_probe(struct pci_dev *pci,
struct atiixp_modem *chip;
int err;
struct atiixp_modem *chip;
int err;
-
card = snd_card_new(index, id, THIS_MODULE, 0
);
- if (
card == NULL
)
- return
-ENOMEM
;
+
err = snd_card_create(index, id, THIS_MODULE, 0, &card
);
+ if (
err < 0
)
+ return
err
;
strcpy(card->driver, "ATIIXP-MODEM");
strcpy(card->shortname, "ATI IXP Modem");
strcpy(card->driver, "ATIIXP-MODEM");
strcpy(card->shortname, "ATI IXP Modem");