Commit 75f327c6 authored by Victor Aoqui's avatar Victor Aoqui Committed by Michael Ellerman

powerpc/kernel: Avoid preemption check in iommu_range_alloc()

Replace the __this_cpu_read() with raw_cpu_read() in
iommu_range_alloc(). Otherwise we get a warning about using
__this_cpu_read() in preemptible code:

  BUG: using __this_cpu_read() in preemptible
  caller is iommu_range_alloc+0xa8/0x3d0

Preemption doesn't need to be disabled since according to the comment
any CPU can safely use any IOMMU pool.
Signed-off-by: default avatarVictor Aoqui <victora@linux.vnet.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 24be85a2
...@@ -208,7 +208,7 @@ static unsigned long iommu_range_alloc(struct device *dev, ...@@ -208,7 +208,7 @@ static unsigned long iommu_range_alloc(struct device *dev,
* We don't need to disable preemption here because any CPU can * We don't need to disable preemption here because any CPU can
* safely use any IOMMU pool. * safely use any IOMMU pool.
*/ */
pool_nr = __this_cpu_read(iommu_pool_hash) & (tbl->nr_pools - 1); pool_nr = raw_cpu_read(iommu_pool_hash) & (tbl->nr_pools - 1);
if (largealloc) if (largealloc)
pool = &(tbl->large_pool); pool = &(tbl->large_pool);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment