iommu/amd: Fix deadlock in ppr-handling error path
authorJoerg Roedel <joerg.roedel@amd.com>
Fri, 1 Jun 2012 13:20:23 +0000 (15:20 +0200)
committerJoerg Roedel <joerg.roedel@amd.com>
Mon, 4 Jun 2012 10:47:44 +0000 (12:47 +0200)
commiteee53537c476c947bf7faa1c916d2f5a0ae8ec93
tree0ca87099455da1cd0bf48affee27516a4bd1fa38
parentc1bf94ec1e12d76838ad485158aecf208ebd8fb9
iommu/amd: Fix deadlock in ppr-handling error path

In the error path of the ppr_notifer it can happen that the
iommu->lock is taken recursivly. This patch fixes the
problem by releasing the iommu->lock before any notifier is
invoked. This also requires to move the erratum workaround
for the ppr-log (interrupt may be faster than data in the log)
one function up.

Cc: stable@vger.kernel.org # v3.3, v3.4
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
drivers/iommu/amd_iommu.c