Commit c2b0718f authored by Takashi Iwai's avatar Takashi Iwai

ALSA: au88x0: Fix assignment in if condition

PCI AU88x0 driver code contains a lot of assignments in if condition,
which is a bad coding style that may confuse readers and occasionally
lead to bugs.

This patch is merely for coding-style fixes.  A potential real fix is
about the PCI AGP bridge management refcount in addition while spotted
out during conversions.

Link: https://lore.kernel.org/r/20210608140540.17885-36-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent e66fd362
...@@ -46,8 +46,9 @@ MODULE_DEVICE_TABLE(pci, snd_vortex_ids); ...@@ -46,8 +46,9 @@ MODULE_DEVICE_TABLE(pci, snd_vortex_ids);
static void vortex_fix_latency(struct pci_dev *vortex) static void vortex_fix_latency(struct pci_dev *vortex)
{ {
int rc; int rc;
if (!(rc = pci_write_config_byte(vortex, 0x40, 0xff))) { rc = pci_write_config_byte(vortex, 0x40, 0xff);
dev_info(&vortex->dev, "vortex latency is 0xff\n"); if (!rc) {
dev_info(&vortex->dev, "vortex latency is 0xff\n");
} else { } else {
dev_warn(&vortex->dev, dev_warn(&vortex->dev,
"could not set vortex latency: pci error 0x%x\n", rc); "could not set vortex latency: pci error 0x%x\n", rc);
...@@ -65,9 +66,12 @@ static void vortex_fix_agp_bridge(struct pci_dev *via) ...@@ -65,9 +66,12 @@ static void vortex_fix_agp_bridge(struct pci_dev *via)
* read the config and it is not already set * read the config and it is not already set
*/ */
if (!(rc = pci_read_config_byte(via, 0x42, &value)) rc = pci_read_config_byte(via, 0x42, &value);
&& ((value & 0x10) if (!rc) {
|| !(rc = pci_write_config_byte(via, 0x42, value | 0x10)))) { if (!(value & 0x10))
rc = pci_write_config_byte(via, 0x42, value | 0x10);
}
if (!rc) {
dev_info(&via->dev, "bridge config is 0x%x\n", value | 0x10); dev_info(&via->dev, "bridge config is 0x%x\n", value | 0x10);
} else { } else {
dev_warn(&via->dev, dev_warn(&via->dev,
...@@ -102,14 +106,16 @@ static void snd_vortex_workaround(struct pci_dev *vortex, int fix) ...@@ -102,14 +106,16 @@ static void snd_vortex_workaround(struct pci_dev *vortex, int fix)
} else { } else {
if (fix & 0x1) if (fix & 0x1)
vortex_fix_latency(vortex); vortex_fix_latency(vortex);
if ((fix & 0x2) && (via = pci_get_device(PCI_VENDOR_ID_VIA, if (fix & 0x2)
PCI_DEVICE_ID_VIA_8365_1, NULL))) via = pci_get_device(PCI_VENDOR_ID_VIA,
vortex_fix_agp_bridge(via); PCI_DEVICE_ID_VIA_8365_1, NULL);
if ((fix & 0x4) && (via = pci_get_device(PCI_VENDOR_ID_VIA, else if (fix & 0x4)
PCI_DEVICE_ID_VIA_82C598_1, NULL))) via = pci_get_device(PCI_VENDOR_ID_VIA,
vortex_fix_agp_bridge(via); PCI_DEVICE_ID_VIA_82C598_1, NULL);
if ((fix & 0x8) && (via = pci_get_device(PCI_VENDOR_ID_AMD, else if (fix & 0x8)
PCI_DEVICE_ID_AMD_FE_GATE_7007, NULL))) via = pci_get_device(PCI_VENDOR_ID_AMD,
PCI_DEVICE_ID_AMD_FE_GATE_7007, NULL);
if (via)
vortex_fix_agp_bridge(via); vortex_fix_agp_bridge(via);
} }
pci_dev_put(via); pci_dev_put(via);
...@@ -147,7 +153,8 @@ snd_vortex_create(struct snd_card *card, struct pci_dev *pci, vortex_t ** rchip) ...@@ -147,7 +153,8 @@ snd_vortex_create(struct snd_card *card, struct pci_dev *pci, vortex_t ** rchip)
*rchip = NULL; *rchip = NULL;
// check PCI availability (DMA). // check PCI availability (DMA).
if ((err = pci_enable_device(pci)) < 0) err = pci_enable_device(pci);
if (err < 0)
return err; return err;
if (dma_set_mask_and_coherent(&pci->dev, DMA_BIT_MASK(32))) { if (dma_set_mask_and_coherent(&pci->dev, DMA_BIT_MASK(32))) {
dev_err(card->dev, "error to set DMA mask\n"); dev_err(card->dev, "error to set DMA mask\n");
...@@ -174,7 +181,8 @@ snd_vortex_create(struct snd_card *card, struct pci_dev *pci, vortex_t ** rchip) ...@@ -174,7 +181,8 @@ snd_vortex_create(struct snd_card *card, struct pci_dev *pci, vortex_t ** rchip)
// (1) PCI resource allocation // (1) PCI resource allocation
// Get MMIO area // Get MMIO area
// //
if ((err = pci_request_regions(pci, CARD_NAME_SHORT)) != 0) err = pci_request_regions(pci, CARD_NAME_SHORT);
if (err)
goto regions_out; goto regions_out;
chip->mmio = pci_ioremap_bar(pci, 0); chip->mmio = pci_ioremap_bar(pci, 0);
...@@ -187,14 +195,15 @@ snd_vortex_create(struct snd_card *card, struct pci_dev *pci, vortex_t ** rchip) ...@@ -187,14 +195,15 @@ snd_vortex_create(struct snd_card *card, struct pci_dev *pci, vortex_t ** rchip)
/* Init audio core. /* Init audio core.
* This must be done before we do request_irq otherwise we can get spurious * This must be done before we do request_irq otherwise we can get spurious
* interrupts that we do not handle properly and make a mess of things */ * interrupts that we do not handle properly and make a mess of things */
if ((err = vortex_core_init(chip)) != 0) { err = vortex_core_init(chip);
if (err) {
dev_err(card->dev, "hw core init failed\n"); dev_err(card->dev, "hw core init failed\n");
goto core_out; goto core_out;
} }
if ((err = request_irq(pci->irq, vortex_interrupt, err = request_irq(pci->irq, vortex_interrupt,
IRQF_SHARED, KBUILD_MODNAME, IRQF_SHARED, KBUILD_MODNAME, chip);
chip)) != 0) { if (err) {
dev_err(card->dev, "cannot grab irq\n"); dev_err(card->dev, "cannot grab irq\n");
goto irq_out; goto irq_out;
} }
...@@ -205,9 +214,9 @@ snd_vortex_create(struct snd_card *card, struct pci_dev *pci, vortex_t ** rchip) ...@@ -205,9 +214,9 @@ snd_vortex_create(struct snd_card *card, struct pci_dev *pci, vortex_t ** rchip)
// End of PCI setup. // End of PCI setup.
// Register alsa root device. // Register alsa root device.
if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops)) < 0) { err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops);
if (err < 0)
goto alloc_out; goto alloc_out;
}
*rchip = chip; *rchip = chip;
...@@ -252,7 +261,8 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) ...@@ -252,7 +261,8 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
return err; return err;
// (3) // (3)
if ((err = snd_vortex_create(card, pci, &chip)) < 0) { err = snd_vortex_create(card, pci, &chip);
if (err < 0) {
snd_card_free(card); snd_card_free(card);
return err; return err;
} }
...@@ -278,12 +288,14 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) ...@@ -278,12 +288,14 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
} }
#ifndef CHIP_AU8820 #ifndef CHIP_AU8820
// ADB SPDIF // ADB SPDIF
if ((err = snd_vortex_new_pcm(chip, VORTEX_PCM_SPDIF, 1)) < 0) { err = snd_vortex_new_pcm(chip, VORTEX_PCM_SPDIF, 1);
if (err < 0) {
snd_card_free(card); snd_card_free(card);
return err; return err;
} }
// A3D // A3D
if ((err = snd_vortex_new_pcm(chip, VORTEX_PCM_A3D, NR_A3D)) < 0) { err = snd_vortex_new_pcm(chip, VORTEX_PCM_A3D, NR_A3D);
if (err < 0) {
snd_card_free(card); snd_card_free(card);
return err; return err;
} }
...@@ -297,12 +309,14 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) ...@@ -297,12 +309,14 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
*/ */
#ifndef CHIP_AU8810 #ifndef CHIP_AU8810
// WT pcm. // WT pcm.
if ((err = snd_vortex_new_pcm(chip, VORTEX_PCM_WT, NR_WT)) < 0) { err = snd_vortex_new_pcm(chip, VORTEX_PCM_WT, NR_WT);
if (err < 0) {
snd_card_free(card); snd_card_free(card);
return err; return err;
} }
#endif #endif
if ((err = snd_vortex_midi(chip)) < 0) { err = snd_vortex_midi(chip);
if (err < 0) {
snd_card_free(card); snd_card_free(card);
return err; return err;
} }
...@@ -327,13 +341,13 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) ...@@ -327,13 +341,13 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
#endif #endif
// (5) // (5)
if ((err = pci_read_config_word(pci, PCI_DEVICE_ID, err = pci_read_config_word(pci, PCI_DEVICE_ID, &chip->device);
&(chip->device))) < 0) { if (err < 0) {
snd_card_free(card); snd_card_free(card);
return err; return err;
} }
if ((err = pci_read_config_word(pci, PCI_VENDOR_ID, err = pci_read_config_word(pci, PCI_VENDOR_ID, &chip->vendor);
&(chip->vendor))) < 0) { if (err < 0) {
snd_card_free(card); snd_card_free(card);
return err; return err;
} }
...@@ -352,7 +366,8 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) ...@@ -352,7 +366,8 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
#endif #endif
// (6) // (6)
if ((err = snd_card_register(card)) < 0) { err = snd_card_register(card);
if (err < 0) {
snd_card_free(card); snd_card_free(card);
return err; return err;
} }
......
...@@ -849,46 +849,50 @@ static int vortex_a3d_register_controls(vortex_t *vortex) ...@@ -849,46 +849,50 @@ static int vortex_a3d_register_controls(vortex_t *vortex)
int err, i; int err, i;
/* HRTF controls. */ /* HRTF controls. */
for (i = 0; i < NR_A3D; i++) { for (i = 0; i < NR_A3D; i++) {
if ((kcontrol = kcontrol = snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i]);
snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i])) == NULL) if (!kcontrol)
return -ENOMEM; return -ENOMEM;
kcontrol->id.numid = CTRLID_HRTF; kcontrol->id.numid = CTRLID_HRTF;
kcontrol->info = snd_vortex_a3d_hrtf_info; kcontrol->info = snd_vortex_a3d_hrtf_info;
kcontrol->put = snd_vortex_a3d_hrtf_put; kcontrol->put = snd_vortex_a3d_hrtf_put;
if ((err = snd_ctl_add(vortex->card, kcontrol)) < 0) err = snd_ctl_add(vortex->card, kcontrol);
if (err < 0)
return err; return err;
} }
/* ITD controls. */ /* ITD controls. */
for (i = 0; i < NR_A3D; i++) { for (i = 0; i < NR_A3D; i++) {
if ((kcontrol = kcontrol = snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i]);
snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i])) == NULL) if (!kcontrol)
return -ENOMEM; return -ENOMEM;
kcontrol->id.numid = CTRLID_ITD; kcontrol->id.numid = CTRLID_ITD;
kcontrol->info = snd_vortex_a3d_itd_info; kcontrol->info = snd_vortex_a3d_itd_info;
kcontrol->put = snd_vortex_a3d_itd_put; kcontrol->put = snd_vortex_a3d_itd_put;
if ((err = snd_ctl_add(vortex->card, kcontrol)) < 0) err = snd_ctl_add(vortex->card, kcontrol);
if (err < 0)
return err; return err;
} }
/* ILD (gains) controls. */ /* ILD (gains) controls. */
for (i = 0; i < NR_A3D; i++) { for (i = 0; i < NR_A3D; i++) {
if ((kcontrol = kcontrol = snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i]);
snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i])) == NULL) if (!kcontrol)
return -ENOMEM; return -ENOMEM;
kcontrol->id.numid = CTRLID_GAINS; kcontrol->id.numid = CTRLID_GAINS;
kcontrol->info = snd_vortex_a3d_ild_info; kcontrol->info = snd_vortex_a3d_ild_info;
kcontrol->put = snd_vortex_a3d_ild_put; kcontrol->put = snd_vortex_a3d_ild_put;
if ((err = snd_ctl_add(vortex->card, kcontrol)) < 0) err = snd_ctl_add(vortex->card, kcontrol);
if (err < 0)
return err; return err;
} }
/* Filter controls. */ /* Filter controls. */
for (i = 0; i < NR_A3D; i++) { for (i = 0; i < NR_A3D; i++) {
if ((kcontrol = kcontrol = snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i]);
snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i])) == NULL) if (!kcontrol)
return -ENOMEM; return -ENOMEM;
kcontrol->id.numid = CTRLID_FILTER; kcontrol->id.numid = CTRLID_FILTER;
kcontrol->info = snd_vortex_a3d_filter_info; kcontrol->info = snd_vortex_a3d_filter_info;
kcontrol->put = snd_vortex_a3d_filter_put; kcontrol->put = snd_vortex_a3d_filter_put;
if ((err = snd_ctl_add(vortex->card, kcontrol)) < 0) err = snd_ctl_add(vortex->card, kcontrol);
if (err < 0)
return err; return err;
} }
return 0; return 0;
......
...@@ -2120,9 +2120,9 @@ vortex_adb_allocroute(vortex_t *vortex, int dma, int nr_ch, int dir, ...@@ -2120,9 +2120,9 @@ vortex_adb_allocroute(vortex_t *vortex, int dma, int nr_ch, int dir,
VORTEX_RESOURCE_DMA); VORTEX_RESOURCE_DMA);
} else { } else {
en = 1; en = 1;
if ((dma = dma = vortex_adb_checkinout(vortex, NULL, en,
vortex_adb_checkinout(vortex, NULL, en, VORTEX_RESOURCE_DMA);
VORTEX_RESOURCE_DMA)) < 0) if (dma < 0)
return -EBUSY; return -EBUSY;
} }
...@@ -2140,18 +2140,20 @@ vortex_adb_allocroute(vortex_t *vortex, int dma, int nr_ch, int dir, ...@@ -2140,18 +2140,20 @@ vortex_adb_allocroute(vortex_t *vortex, int dma, int nr_ch, int dir,
/* Get SRC and MIXER hardware resources. */ /* Get SRC and MIXER hardware resources. */
if (stream->type != VORTEX_PCM_SPDIF) { if (stream->type != VORTEX_PCM_SPDIF) {
for (i = 0; i < nr_ch; i++) { for (i = 0; i < nr_ch; i++) {
if ((src[i] = vortex_adb_checkinout(vortex, src[i] = vortex_adb_checkinout(vortex,
stream->resources, en, stream->resources, en,
VORTEX_RESOURCE_SRC)) < 0) { VORTEX_RESOURCE_SRC);
if (src[i] < 0) {
memset(stream->resources, 0, memset(stream->resources, 0,
sizeof(stream->resources)); sizeof(stream->resources));
return -EBUSY; return -EBUSY;
} }
if (stream->type != VORTEX_PCM_A3D) { if (stream->type != VORTEX_PCM_A3D) {
if ((mix[i] = vortex_adb_checkinout(vortex, mix[i] = vortex_adb_checkinout(vortex,
stream->resources, stream->resources,
en, en,
VORTEX_RESOURCE_MIXIN)) < 0) { VORTEX_RESOURCE_MIXIN);
if (mix[i] < 0) {
memset(stream->resources, memset(stream->resources,
0, 0,
sizeof(stream->resources)); sizeof(stream->resources));
...@@ -2162,10 +2164,10 @@ vortex_adb_allocroute(vortex_t *vortex, int dma, int nr_ch, int dir, ...@@ -2162,10 +2164,10 @@ vortex_adb_allocroute(vortex_t *vortex, int dma, int nr_ch, int dir,
} }
#ifndef CHIP_AU8820 #ifndef CHIP_AU8820
if (stream->type == VORTEX_PCM_A3D) { if (stream->type == VORTEX_PCM_A3D) {
if ((a3d = a3d = vortex_adb_checkinout(vortex,
vortex_adb_checkinout(vortex, stream->resources, en,
stream->resources, en, VORTEX_RESOURCE_A3D);
VORTEX_RESOURCE_A3D)) < 0) { if (a3d < 0) {
memset(stream->resources, 0, memset(stream->resources, 0,
sizeof(stream->resources)); sizeof(stream->resources));
dev_err(vortex->card->dev, dev_err(vortex->card->dev,
...@@ -2278,19 +2280,18 @@ vortex_adb_allocroute(vortex_t *vortex, int dma, int nr_ch, int dir, ...@@ -2278,19 +2280,18 @@ vortex_adb_allocroute(vortex_t *vortex, int dma, int nr_ch, int dir,
/* Get SRC and MIXER hardware resources. */ /* Get SRC and MIXER hardware resources. */
for (i = 0; i < nr_ch; i++) { for (i = 0; i < nr_ch; i++) {
if ((mix[i] = mix[i] = vortex_adb_checkinout(vortex,
vortex_adb_checkinout(vortex, stream->resources, en,
stream->resources, en, VORTEX_RESOURCE_MIXOUT);
VORTEX_RESOURCE_MIXOUT)) if (mix[i] < 0) {
< 0) {
memset(stream->resources, 0, memset(stream->resources, 0,
sizeof(stream->resources)); sizeof(stream->resources));
return -EBUSY; return -EBUSY;
} }
if ((src[i] = src[i] = vortex_adb_checkinout(vortex,
vortex_adb_checkinout(vortex, stream->resources, en,
stream->resources, en, VORTEX_RESOURCE_SRC);
VORTEX_RESOURCE_SRC)) < 0) { if (src[i] < 0) {
memset(stream->resources, 0, memset(stream->resources, 0,
sizeof(stream->resources)); sizeof(stream->resources));
return -EBUSY; return -EBUSY;
......
...@@ -873,29 +873,33 @@ static int vortex_eq_init(vortex_t *vortex) ...@@ -873,29 +873,33 @@ static int vortex_eq_init(vortex_t *vortex)
vortex_Eqlzr_init(vortex); vortex_Eqlzr_init(vortex);
if ((kcontrol = kcontrol = snd_ctl_new1(&vortex_eqtoggle_kcontrol, vortex);
snd_ctl_new1(&vortex_eqtoggle_kcontrol, vortex)) == NULL) if (!kcontrol)
return -ENOMEM; return -ENOMEM;
kcontrol->private_value = 0; kcontrol->private_value = 0;
if ((err = snd_ctl_add(vortex->card, kcontrol)) < 0) err = snd_ctl_add(vortex->card, kcontrol);
if (err < 0)
return err; return err;
/* EQ gain controls */ /* EQ gain controls */
for (i = 0; i < 10; i++) { for (i = 0; i < 10; i++) {
if ((kcontrol = kcontrol = snd_ctl_new1(&vortex_eq_kcontrol, vortex);
snd_ctl_new1(&vortex_eq_kcontrol, vortex)) == NULL) if (!kcontrol)
return -ENOMEM; return -ENOMEM;
snprintf(kcontrol->id.name, sizeof(kcontrol->id.name), snprintf(kcontrol->id.name, sizeof(kcontrol->id.name),
"%s Playback Volume", EqBandLabels[i]); "%s Playback Volume", EqBandLabels[i]);
kcontrol->private_value = i; kcontrol->private_value = i;
if ((err = snd_ctl_add(vortex->card, kcontrol)) < 0) err = snd_ctl_add(vortex->card, kcontrol);
if (err < 0)
return err; return err;
//vortex->eqctrl[i] = kcontrol; //vortex->eqctrl[i] = kcontrol;
} }
/* EQ band levels */ /* EQ band levels */
if ((kcontrol = snd_ctl_new1(&vortex_levels_kcontrol, vortex)) == NULL) kcontrol = snd_ctl_new1(&vortex_levels_kcontrol, vortex);
if (!kcontrol)
return -ENOMEM; return -ENOMEM;
if ((err = snd_ctl_add(vortex->card, kcontrol)) < 0) err = snd_ctl_add(vortex->card, kcontrol);
if (err < 0)
return err; return err;
return 0; return 0;
......
...@@ -30,7 +30,8 @@ static int snd_vortex_mixer(vortex_t *vortex) ...@@ -30,7 +30,8 @@ static int snd_vortex_mixer(vortex_t *vortex)
.read = vortex_codec_read, .read = vortex_codec_read,
}; };
if ((err = snd_ac97_bus(vortex->card, 0, &ops, NULL, &pbus)) < 0) err = snd_ac97_bus(vortex->card, 0, &ops, NULL, &pbus);
if (err < 0)
return err; return err;
memset(&ac97, 0, sizeof(ac97)); memset(&ac97, 0, sizeof(ac97));
// Initialize AC97 codec stuff. // Initialize AC97 codec stuff.
......
...@@ -68,9 +68,9 @@ static int snd_vortex_midi(vortex_t *vortex) ...@@ -68,9 +68,9 @@ static int snd_vortex_midi(vortex_t *vortex)
/* Create MPU401 instance. */ /* Create MPU401 instance. */
#ifdef VORTEX_MPU401_LEGACY #ifdef VORTEX_MPU401_LEGACY
if ((temp = temp = snd_mpu401_uart_new(vortex->card, 0, MPU401_HW_MPU401, 0x330,
snd_mpu401_uart_new(vortex->card, 0, MPU401_HW_MPU401, 0x330, MPU401_INFO_IRQ_HOOK, -1, &rmidi);
MPU401_INFO_IRQ_HOOK, -1, &rmidi)) != 0) { if (temp) {
hwwrite(vortex->mmio, VORTEX_CTRL, hwwrite(vortex->mmio, VORTEX_CTRL,
(hwread(vortex->mmio, VORTEX_CTRL) & (hwread(vortex->mmio, VORTEX_CTRL) &
~CTRL_MIDI_PORT) & ~CTRL_MIDI_EN); ~CTRL_MIDI_PORT) & ~CTRL_MIDI_EN);
...@@ -78,10 +78,10 @@ static int snd_vortex_midi(vortex_t *vortex) ...@@ -78,10 +78,10 @@ static int snd_vortex_midi(vortex_t *vortex)
} }
#else #else
port = (unsigned long)(vortex->mmio + VORTEX_MIDI_DATA); port = (unsigned long)(vortex->mmio + VORTEX_MIDI_DATA);
if ((temp = temp = snd_mpu401_uart_new(vortex->card, 0, MPU401_HW_AUREAL, port,
snd_mpu401_uart_new(vortex->card, 0, MPU401_HW_AUREAL, port, MPU401_INFO_INTEGRATED | MPU401_INFO_MMIO |
MPU401_INFO_INTEGRATED | MPU401_INFO_MMIO | MPU401_INFO_IRQ_HOOK, -1, &rmidi);
MPU401_INFO_IRQ_HOOK, -1, &rmidi)) != 0) { if (temp) {
hwwrite(vortex->mmio, VORTEX_CTRL, hwwrite(vortex->mmio, VORTEX_CTRL,
(hwread(vortex->mmio, VORTEX_CTRL) & (hwread(vortex->mmio, VORTEX_CTRL) &
~CTRL_MIDI_PORT) & ~CTRL_MIDI_EN); ~CTRL_MIDI_PORT) & ~CTRL_MIDI_EN);
......
...@@ -130,14 +130,14 @@ static int snd_vortex_pcm_open(struct snd_pcm_substream *substream) ...@@ -130,14 +130,14 @@ static int snd_vortex_pcm_open(struct snd_pcm_substream *substream)
int err; int err;
/* Force equal size periods */ /* Force equal size periods */
if ((err = err = snd_pcm_hw_constraint_integer(runtime,
snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS);
SNDRV_PCM_HW_PARAM_PERIODS)) < 0) if (err < 0)
return err; return err;
/* Avoid PAGE_SIZE boundary to fall inside of a period. */ /* Avoid PAGE_SIZE boundary to fall inside of a period. */
if ((err = err = snd_pcm_hw_constraint_pow2(runtime, 0,
snd_pcm_hw_constraint_pow2(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES);
SNDRV_PCM_HW_PARAM_PERIOD_BYTES)) < 0) if (err < 0)
return err; return err;
snd_pcm_hw_constraint_step(runtime, 0, snd_pcm_hw_constraint_step(runtime, 0,
...@@ -658,7 +658,8 @@ static int snd_vortex_new_pcm(vortex_t *chip, int idx, int nr) ...@@ -658,7 +658,8 @@ static int snd_vortex_new_pcm(vortex_t *chip, int idx, int nr)
kctl = snd_ctl_new1(&snd_vortex_mixer_spdif[i], chip); kctl = snd_ctl_new1(&snd_vortex_mixer_spdif[i], chip);
if (!kctl) if (!kctl)
return -ENOMEM; return -ENOMEM;
if ((err = snd_ctl_add(chip->card, kctl)) < 0) err = snd_ctl_add(chip->card, kctl);
if (err < 0)
return err; return err;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment