diff options
author | Dan Williams <dan.j.williams@intel.com> | 2009-09-08 17:52:57 -0700 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2009-09-08 17:52:57 -0700 |
commit | e12c4fa377ffda2490476caae17f24daaf9c9bd7 (patch) | |
tree | aa7a19d8f7f931709a8a835a4b0d441f83d759fd /drivers/dma/iovlock.c | |
parent | a348a7e6fdbcd2d5192a09719a479bb238fde727 (diff) | |
parent | 4b652f0db3be891c7b76b109c3b55003b920fc96 (diff) |
Merge branch 'ioat' into dmaengine
Diffstat (limited to 'drivers/dma/iovlock.c')
-rw-r--r-- | drivers/dma/iovlock.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/dma/iovlock.c b/drivers/dma/iovlock.c index 9f6fe46a9b8..c0a272c7368 100644 --- a/drivers/dma/iovlock.c +++ b/drivers/dma/iovlock.c @@ -183,6 +183,11 @@ dma_cookie_t dma_memcpy_to_iovec(struct dma_chan *chan, struct iovec *iov, iov_byte_offset, kdata, copy); + /* poll for a descriptor slot */ + if (unlikely(dma_cookie < 0)) { + dma_async_issue_pending(chan); + continue; + } len -= copy; iov[iovec_idx].iov_len -= copy; @@ -248,6 +253,11 @@ dma_cookie_t dma_memcpy_pg_to_iovec(struct dma_chan *chan, struct iovec *iov, page, offset, copy); + /* poll for a descriptor slot */ + if (unlikely(dma_cookie < 0)) { + dma_async_issue_pending(chan); + continue; + } len -= copy; iov[iovec_idx].iov_len -= copy; |