|
@@ -543,7 +543,8 @@ static int snd_pcm_sw_params(struct snd_pcm_substream *substream,
|
|
|
|
|
|
if (params->tstamp_mode > SNDRV_PCM_TSTAMP_LAST)
|
|
|
return -EINVAL;
|
|
|
- if (params->tstamp_type > SNDRV_PCM_TSTAMP_TYPE_LAST)
|
|
|
+ if (params->proto >= SNDRV_PROTOCOL_VERSION(2, 0, 12) &&
|
|
|
+ params->tstamp_type > SNDRV_PCM_TSTAMP_TYPE_LAST)
|
|
|
return -EINVAL;
|
|
|
if (params->avail_min == 0)
|
|
|
return -EINVAL;
|
|
@@ -559,7 +560,8 @@ static int snd_pcm_sw_params(struct snd_pcm_substream *substream,
|
|
|
err = 0;
|
|
|
snd_pcm_stream_lock_irq(substream);
|
|
|
runtime->tstamp_mode = params->tstamp_mode;
|
|
|
- runtime->tstamp_type = params->tstamp_type;
|
|
|
+ if (params->proto >= SNDRV_PROTOCOL_VERSION(2, 0, 12))
|
|
|
+ runtime->tstamp_type = params->tstamp_type;
|
|
|
runtime->period_step = params->period_step;
|
|
|
runtime->control->avail_min = params->avail_min;
|
|
|
runtime->start_threshold = params->start_threshold;
|