diff options
author | Sebastian Ott | 2015-10-26 11:19:13 +0100 |
---|---|---|
committer | Martin Schwidefsky | 2015-11-09 09:10:49 +0100 |
commit | 66728eeea6d80060e4b9df55c7845c838ff2799f (patch) | |
tree | a04d86f83e773731272cf299d85069f4a66bc732 /arch/s390/include/asm | |
parent | s390/pci_dma: unify label of invalid translation table entries (diff) | |
download | kernel-qcow2-linux-66728eeea6d80060e4b9df55c7845c838ff2799f.tar.gz kernel-qcow2-linux-66728eeea6d80060e4b9df55c7845c838ff2799f.tar.xz kernel-qcow2-linux-66728eeea6d80060e4b9df55c7845c838ff2799f.zip |
s390/pci_dma: handle dma table failures
We use lazy allocation for translation table entries but don't handle
allocation (and other) failures during translation table updates.
Handle these failures and undo translation table updates when it's
meaningful.
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Reviewed-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm')
-rw-r--r-- | arch/s390/include/asm/pci_dma.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/s390/include/asm/pci_dma.h b/arch/s390/include/asm/pci_dma.h index 7a7abf1a5537..1aac41e83ea1 100644 --- a/arch/s390/include/asm/pci_dma.h +++ b/arch/s390/include/asm/pci_dma.h @@ -195,5 +195,7 @@ void zpci_dma_exit_device(struct zpci_dev *); void dma_free_seg_table(unsigned long); unsigned long *dma_alloc_cpu_table(void); void dma_cleanup_tables(unsigned long *); -void dma_update_cpu_trans(unsigned long *, void *, dma_addr_t, int); +unsigned long *dma_walk_cpu_trans(unsigned long *rto, dma_addr_t dma_addr); +void dma_update_cpu_trans(unsigned long *entry, void *page_addr, int flags); + #endif |