diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-03-04 11:07:08 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-03-04 11:07:08 -0300 |
commit | b76428def6664aa4a54c69934628a36fe89baaf4 (patch) | |
tree | 51a6d97b1ef57be7cb16c797497a610b9e1e1a5d /crypto/async_tx/async_memcpy.c | |
parent | 1c11ed58397f048d8187222927092b397a149d70 (diff) | |
parent | a390f39a9ef577563398884870a50eba558dfe49 (diff) | |
download | linux-crypto-b76428def6664aa4a54c69934628a36fe89baaf4.tar.gz linux-crypto-b76428def6664aa4a54c69934628a36fe89baaf4.zip |
Merge tag 'v3.9-rc1' into staging/for_v3.9
Linux 3.9-rc1
* tag 'v3.9-rc1': (10698 commits)
Linux 3.9-rc1
btrfs/raid56: Add missing #include <linux/vmalloc.h>
fix compat_sys_rt_sigprocmask()
SUNRPC: One line comment fix
ext4: enable quotas before orphan cleanup
ext4: don't allow quota mount options when quota feature enabled
ext4: fix a warning from sparse check for ext4_dir_llseek
ext4: convert number of blocks to clusters properly
ext4: fix possible memory leak in ext4_remount()
jbd2: fix ERR_PTR dereference in jbd2__journal_start
metag: Provide dma_get_sgtable()
metag: prom.h: remove declaration of metag_dt_memblock_reserve()
metag: copy devicetree to non-init memory
metag: cleanup metag_ksyms.c includes
metag: move mm/init.c exports out of metag_ksyms.c
metag: move usercopy.c exports out of metag_ksyms.c
metag: move setup.c exports out of metag_ksyms.c
metag: move kick.c exports out of metag_ksyms.c
metag: move traps.c exports out of metag_ksyms.c
metag: move irq enable out of irqflags.h on SMP
...
Diffstat (limited to 'crypto/async_tx/async_memcpy.c')
-rw-r--r-- | crypto/async_tx/async_memcpy.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/crypto/async_tx/async_memcpy.c b/crypto/async_tx/async_memcpy.c index 361b5e82..9e62feff 100644 --- a/crypto/async_tx/async_memcpy.c +++ b/crypto/async_tx/async_memcpy.c @@ -67,6 +67,12 @@ async_memcpy(struct page *dest, struct page *src, unsigned int dest_offset, tx = device->device_prep_dma_memcpy(chan, dma_dest, dma_src, len, dma_prep_flags); + if (!tx) { + dma_unmap_page(device->dev, dma_dest, len, + DMA_FROM_DEVICE); + dma_unmap_page(device->dev, dma_src, len, + DMA_TO_DEVICE); + } } if (tx) { |