Jan Beulich
2012-Nov-30 08:02 UTC
[PATCH] AMD IOMMU: add locking missing from c/s 26198:ba90ecb0231f
An oversight of mine; I''m sorry.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -795,6 +795,7 @@ static bool_t __init set_iommu_interrupt
static void enable_iommu(struct amd_iommu *iommu)
{
unsigned long flags;
+ struct irq_desc *desc;
spin_lock_irqsave(&iommu->lock, flags);
@@ -812,7 +813,11 @@ static void enable_iommu(struct amd_iomm
if ( iommu_has_feature(iommu, IOMMU_EXT_FEATURE_PPRSUP_SHIFT) )
register_iommu_ppr_log_in_mmio_space(iommu);
- set_msi_affinity(irq_to_desc(iommu->msi.irq), &cpu_online_map);
+ desc = irq_to_desc(iommu->msi.irq);
+ spin_lock(&desc->lock);
+ set_msi_affinity(desc, &cpu_online_map);
+ spin_unlock(&desc->lock);
+
amd_iommu_msi_enable(iommu, IOMMU_CONTROL_ENABLED);
set_iommu_ht_flags(iommu);
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
Ian Campbell
2012-Nov-30 09:40 UTC
Re: [PATCH] AMD IOMMU: add locking missing from c/s 26198:ba90ecb0231f
On Fri, 2012-11-30 at 08:02 +0000, Jan Beulich wrote:> An oversight of mine; I''m sorry. > > Signed-off-by: Jan Beulich <jbeulich@suse.com>Seems pretty clear cut given the log in test flight #14494 Acked-by: Ian Campbell <ian.campbell@citrix.com> Ian.
Keir Fraser
2012-Nov-30 11:14 UTC
Re: [PATCH] AMD IOMMU: add locking missing from c/s 26198:ba90ecb0231f
On 30/11/2012 08:02, "Jan Beulich" <JBeulich@suse.com> wrote:> An oversight of mine; I''m sorry. > > Signed-off-by: Jan Beulich <jbeulich@suse.com>Acked-by: Keir Fraser <keir@xen.org>> --- a/xen/drivers/passthrough/amd/iommu_init.c > +++ b/xen/drivers/passthrough/amd/iommu_init.c > @@ -795,6 +795,7 @@ static bool_t __init set_iommu_interrupt > static void enable_iommu(struct amd_iommu *iommu) > { > unsigned long flags; > + struct irq_desc *desc; > > spin_lock_irqsave(&iommu->lock, flags); > > @@ -812,7 +813,11 @@ static void enable_iommu(struct amd_iomm > if ( iommu_has_feature(iommu, IOMMU_EXT_FEATURE_PPRSUP_SHIFT) ) > register_iommu_ppr_log_in_mmio_space(iommu); > > - set_msi_affinity(irq_to_desc(iommu->msi.irq), &cpu_online_map); > + desc = irq_to_desc(iommu->msi.irq); > + spin_lock(&desc->lock); > + set_msi_affinity(desc, &cpu_online_map); > + spin_unlock(&desc->lock); > + > amd_iommu_msi_enable(iommu, IOMMU_CONTROL_ENABLED); > > set_iommu_ht_flags(iommu); > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel