diff options
Diffstat (limited to 'dma')
| -rw-r--r-- | dma/ipe.c | 5 | 
1 files changed, 4 insertions, 1 deletions
| @@ -405,6 +405,9 @@ int dma_ipe_stream_read(pcilib_dma_context_t *vctx, pcilib_dma_engine_t dma, uin  	memcpy(&cur, &start, sizeof(struct timeval));  	while (((*last_written_addr_ptr == 0)||(ctx->last_read_addr == (*last_written_addr_ptr)))&&((wait == PCILIB_TIMEOUT_INFINITE)||(((cur.tv_sec - start.tv_sec)*1000000 + (cur.tv_usec - start.tv_usec)) < wait))) {  	    usleep(10); +#ifdef IPEDMA_SUPPORT_EMPTY_DETECTED +	    if (*empty_detected_ptr) break; +#endif /* IPEDMA_SUPPORT_EMPTY_DETECTED */  	    gettimeofday(&cur, NULL);  	} @@ -412,7 +415,7 @@ int dma_ipe_stream_read(pcilib_dma_context_t *vctx, pcilib_dma_engine_t dma, uin  	if ((ctx->last_read_addr == (*last_written_addr_ptr))||(*last_written_addr_ptr == 0)) {  #ifdef IPEDMA_SUPPORT_EMPTY_DETECTED  //# ifdef IPEDMA_DEBUG -	    if ((wait)&&(*last_written_addr_ptr)) +	    if ((wait)&&(*last_written_addr_ptr)&&(!*empty_detected_ptr))  		pcilib_warning("The empty_detected flag is not set, but no data arrived within %lu us\n", wait);  //# endif /* IPEDMA_DEBUG */  #endif /* IPEDMA_SUPPORT_EMPTY_DETECTED */ | 
