diff options
author | Ingo Molnar <mingo@kernel.org> | 2012-03-26 11:18:44 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2012-03-26 11:19:03 -0400 |
commit | 7fd52392c56361a40f0c630a82b36b95ca31eac6 (patch) | |
tree | 14091de24c6b28ea4cae9826f98aeedb7be091f5 /arch/powerpc/kernel/iommu.c | |
parent | b01c3a0010aabadf745f3e7fdb9cab682e0a28a2 (diff) | |
parent | e22057c8599373e5caef0bc42bdb95d2a361ab0d (diff) |
Merge branch 'linus' into perf/urgent
Merge reason: we need to fix a non-trivial merge conflict.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/powerpc/kernel/iommu.c')
-rw-r--r-- | arch/powerpc/kernel/iommu.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c index 0cfcf98aafca..359f078571c7 100644 --- a/arch/powerpc/kernel/iommu.c +++ b/arch/powerpc/kernel/iommu.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <asm/pci-bridge.h> | 39 | #include <asm/pci-bridge.h> |
40 | #include <asm/machdep.h> | 40 | #include <asm/machdep.h> |
41 | #include <asm/kdump.h> | 41 | #include <asm/kdump.h> |
42 | #include <asm/fadump.h> | ||
42 | 43 | ||
43 | #define DBG(...) | 44 | #define DBG(...) |
44 | 45 | ||
@@ -445,7 +446,12 @@ void iommu_unmap_sg(struct iommu_table *tbl, struct scatterlist *sglist, | |||
445 | 446 | ||
446 | static void iommu_table_clear(struct iommu_table *tbl) | 447 | static void iommu_table_clear(struct iommu_table *tbl) |
447 | { | 448 | { |
448 | if (!is_kdump_kernel()) { | 449 | /* |
450 | * In case of firmware assisted dump system goes through clean | ||
451 | * reboot process at the time of system crash. Hence it's safe to | ||
452 | * clear the TCE entries if firmware assisted dump is active. | ||
453 | */ | ||
454 | if (!is_kdump_kernel() || is_fadump_active()) { | ||
449 | /* Clear the table in case firmware left allocations in it */ | 455 | /* Clear the table in case firmware left allocations in it */ |
450 | ppc_md.tce_free(tbl, tbl->it_offset, tbl->it_size); | 456 | ppc_md.tce_free(tbl, tbl->it_offset, tbl->it_size); |
451 | return; | 457 | return; |