2009/5/29 Sosnowski, Maciej <maciej.sosnowski@xxxxxxxxx>: > Dan Williams wrote: >> + /* Since we have clobbered the src_list we are committed >> + * to doing this asynchronously. Drivers force forward >> + * progress in case they can not provide a descriptor >> + */ >> + for (;;) { >> + tx = dma->device_prep_dma_pq(chan, dma_dest, >> + &dma_src[src_off], >> + pq_src_cnt, >> + &coefs[src_off], len, >> + dma_flags); >> + if (likely(tx)) >> + break; >> + async_tx_quiesce(&submit->depend_tx); >> + dma_async_issue_pending(chan); >> + } > > How about adding a timeout to the loop in case we do not get a descriptor at all for some reason? > There is an embedded timeout in async_tx_quiesce(). However, now that we have the ->scribble pointer a future patch could make it a requirement of the api. With that in place we would always be able to fall back to the synchronous at any point because the input parameters would be preserved. Thanks, Dan -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html