Merge tag 'iommu-updates-v3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu
Pull IOMMU updates from Joerg Roedel: "Not much stuff this time. The only change to the IOMMU core code is the addition of a handle to the fault handling code. A few updates to the AMD IOMMU driver to work around new errata. The other patches are mostly fixes and enhancements to the existing ARM IOMMU drivers and documentation updates. A new IOMMU driver for the Exynos platform was also underway but got merged via the Samsung tree and is not part of this tree." * tag 'iommu-updates-v3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: Documentation: kernel-parameters.txt Add amd_iommu_dump iommu/core: pass a user-provided token to fault handlers iommu/tegra: gart: Fix register offset correctly iommu: OMAP: device detach on domain destroy iommu: tegra/gart: Add device tree support iommu: tegra/gart: use correct gart_device iommu/tegra: smmu: Print device name correctly iommu/amd: Add workaround for event log erratum iommu/amd: Check for the right TLP prefix bit dma-debug: release free_entries_lock before saving stack trace
This commit is contained in:
@@ -430,7 +430,7 @@ static struct dma_debug_entry *__dma_entry_alloc(void)
|
||||
*/
|
||||
static struct dma_debug_entry *dma_entry_alloc(void)
|
||||
{
|
||||
struct dma_debug_entry *entry = NULL;
|
||||
struct dma_debug_entry *entry;
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&free_entries_lock, flags);
|
||||
@@ -438,11 +438,14 @@ static struct dma_debug_entry *dma_entry_alloc(void)
|
||||
if (list_empty(&free_entries)) {
|
||||
pr_err("DMA-API: debugging out of memory - disabling\n");
|
||||
global_disable = true;
|
||||
goto out;
|
||||
spin_unlock_irqrestore(&free_entries_lock, flags);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
entry = __dma_entry_alloc();
|
||||
|
||||
spin_unlock_irqrestore(&free_entries_lock, flags);
|
||||
|
||||
#ifdef CONFIG_STACKTRACE
|
||||
entry->stacktrace.max_entries = DMA_DEBUG_STACKTRACE_ENTRIES;
|
||||
entry->stacktrace.entries = entry->st_entries;
|
||||
@@ -450,9 +453,6 @@ static struct dma_debug_entry *dma_entry_alloc(void)
|
||||
save_stack_trace(&entry->stacktrace);
|
||||
#endif
|
||||
|
||||
out:
|
||||
spin_unlock_irqrestore(&free_entries_lock, flags);
|
||||
|
||||
return entry;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user