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