diff options
author | Hiroshi DOYU <hdoyu@nvidia.com> | 2012-07-02 14:26:38 +0300 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2012-07-17 11:29:58 +0200 |
commit | 9e971a03af736acc6f96c200c2626d3bcb3d6927 (patch) | |
tree | f26c2333cf659ca9c8854173251e0182bba9ca5d /fs/btrfs/file.c | |
parent | 0bdbf4ccef4f87016e2fa0c0b34f7a025f364c3d (diff) |
iommu/tegra: smmu: Fix unsleepable memory allocation at alloc_pdir()
alloc_pdir() is called from smmu_iommu_domain_init() with spin_lock
held. memory allocations in alloc_pdir() had to be atomic. Instead of
converting into atomic allocation, this patch once releases a lock,
does the allocation, holds the lock again and then sees if it's raced
or not in order to avoid introducing mutex and preallocation.
Signed-off-by: Hiroshi DOYU <hdoyu@nvidia.com>
Reported-by: Chris Wright <chrisw@sous-sol.org>
Cc: Chris Wright <chrisw@sous-sol.org>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'fs/btrfs/file.c')
0 files changed, 0 insertions, 0 deletions