Anton Blanchard d900bd7366 powerpc/iommu: Fix multiple issues with IOMMU pools code
There are a number of issues in the recent IOMMU pools code:

- On a preempt kernel we might switch CPUs in the middle of building
  a scatter gather list. When this happens the handle hint passed in
  no longer falls within the local CPU's pool. Check for this and
  fall back to the pool hint.

- We were missing a spin_unlock/spin_lock in one spot where we
  switch pools.

- We need to provide locking around dart_tlb_invalidate_all and
  dart_tlb_invalidate_one now that the global lock is gone.

Reported-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: <stable@kernel.org> [v3.6]
2012-10-04 18:03:20 +10:00
..
2012-03-28 18:30:02 +01:00
2012-09-07 09:48:59 +10:00
2012-03-28 18:30:02 +01:00
2012-09-17 16:31:51 +10:00
2012-05-08 12:35:07 +02:00
2011-11-28 21:13:18 +02:00
2012-07-24 12:01:20 -07:00
2011-03-31 11:26:23 -03:00
2012-09-05 15:35:19 +10:00
2011-03-31 11:26:23 -03:00
2012-03-28 15:58:21 -07:00
2012-06-01 12:58:51 -04:00
2011-07-26 16:49:47 -07:00
2010-07-19 10:56:54 +02:00
2011-03-31 11:26:23 -03:00
2012-03-28 18:30:02 +01:00
2012-09-07 09:48:59 +10:00
2012-09-05 15:35:19 +10:00