forked from mirrors/linux
		
	ALSA: pcm: Return 0 when size < start_threshold in capture
In __snd_pcm_lib_xfer(), when capture, if state is PREPARED and size is less than start_threshold nothing can be done. As there is no error, 0 is returned. Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
		
							parent
							
								
									5b394b2ddf
								
							
						
					
					
						commit
						62ba568f7a
					
				
					 1 changed files with 9 additions and 4 deletions
				
			
		|  | @ -2173,11 +2173,16 @@ snd_pcm_sframes_t __snd_pcm_lib_xfer(struct snd_pcm_substream *substream, | |||
| 		goto _end_unlock; | ||||
| 
 | ||||
| 	if (!is_playback && | ||||
| 	    runtime->status->state == SNDRV_PCM_STATE_PREPARED && | ||||
| 	    size >= runtime->start_threshold) { | ||||
| 		err = snd_pcm_start(substream); | ||||
| 		if (err < 0) | ||||
| 	    runtime->status->state == SNDRV_PCM_STATE_PREPARED) { | ||||
| 		if (size >= runtime->start_threshold) { | ||||
| 			err = snd_pcm_start(substream); | ||||
| 			if (err < 0) | ||||
| 				goto _end_unlock; | ||||
| 		} else { | ||||
| 			/* nothing to do */ | ||||
| 			err = 0; | ||||
| 			goto _end_unlock; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	runtime->twake = runtime->control->avail_min ? : 1; | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Ricardo Biehl Pasquali
						Ricardo Biehl Pasquali