Merge branch 'for-linus' into for-next
Back-merge the 5.5-devel branch for fixing FireWire bugs. The upcoming PCM API update patchset relies on these. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Коммит
d269b2e0ba
|
@ -247,7 +247,7 @@ static int pcm_hw_params(struct snd_pcm_substream *substream,
|
|||
mutex_unlock(&ff->mutex);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return err;
|
||||
}
|
||||
|
||||
static int pcm_hw_free(struct snd_pcm_substream *substream)
|
||||
|
|
|
@ -177,18 +177,14 @@ static int pcm_open(struct snd_pcm_substream *substream)
|
|||
err = snd_pcm_hw_constraint_minmax(substream->runtime,
|
||||
SNDRV_PCM_HW_PARAM_PERIOD_SIZE,
|
||||
frames_per_period, frames_per_period);
|
||||
if (err < 0) {
|
||||
mutex_unlock(&motu->mutex);
|
||||
if (err < 0)
|
||||
goto err_locked;
|
||||
}
|
||||
|
||||
err = snd_pcm_hw_constraint_minmax(substream->runtime,
|
||||
SNDRV_PCM_HW_PARAM_BUFFER_SIZE,
|
||||
frames_per_buffer, frames_per_buffer);
|
||||
if (err < 0) {
|
||||
mutex_unlock(&motu->mutex);
|
||||
if (err < 0)
|
||||
goto err_locked;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -285,7 +285,7 @@ static int pcm_playback_hw_params(struct snd_pcm_substream *substream,
|
|||
mutex_unlock(&oxfw->mutex);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return err;
|
||||
}
|
||||
|
||||
static int pcm_capture_hw_free(struct snd_pcm_substream *substream)
|
||||
|
|
|
@ -635,36 +635,30 @@ This function assumes there are no more than 16 in/out busses or pipes
|
|||
Meters is an array [3][16][2] of long. */
|
||||
static void get_audio_meters(struct echoaudio *chip, long *meters)
|
||||
{
|
||||
int i, m, n;
|
||||
unsigned int i, m, n;
|
||||
|
||||
m = 0;
|
||||
n = 0;
|
||||
for (i = 0; i < num_busses_out(chip); i++, m++) {
|
||||
for (i = 0 ; i < 96; i++)
|
||||
meters[i] = 0;
|
||||
|
||||
for (m = 0, n = 0, i = 0; i < num_busses_out(chip); i++, m++) {
|
||||
meters[n++] = chip->comm_page->vu_meter[m];
|
||||
meters[n++] = chip->comm_page->peak_meter[m];
|
||||
}
|
||||
for (; n < 32; n++)
|
||||
meters[n] = 0;
|
||||
|
||||
#ifdef ECHOCARD_ECHO3G
|
||||
m = E3G_MAX_OUTPUTS; /* Skip unused meters */
|
||||
#endif
|
||||
|
||||
for (i = 0; i < num_busses_in(chip); i++, m++) {
|
||||
for (n = 32, i = 0; i < num_busses_in(chip); i++, m++) {
|
||||
meters[n++] = chip->comm_page->vu_meter[m];
|
||||
meters[n++] = chip->comm_page->peak_meter[m];
|
||||
}
|
||||
for (; n < 64; n++)
|
||||
meters[n] = 0;
|
||||
|
||||
#ifdef ECHOCARD_HAS_VMIXER
|
||||
for (i = 0; i < num_pipes_out(chip); i++, m++) {
|
||||
for (n = 64, i = 0; i < num_pipes_out(chip); i++, m++) {
|
||||
meters[n++] = chip->comm_page->vu_meter[m];
|
||||
meters[n++] = chip->comm_page->peak_meter[m];
|
||||
}
|
||||
#endif
|
||||
for (; n < 96; n++)
|
||||
meters[n] = 0;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1419,7 +1419,6 @@ static bool atpx_present(void)
|
|||
return true;
|
||||
}
|
||||
}
|
||||
pci_dev_put(pdev);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче