mirror of
https://github.com/xen-project/xen.git
synced 2026-10-30 03:00:05 +01:00
x86 iommu: Better synchronisation on dirq_mask.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
This commit is contained in:
1 parent
63f197e31d
commit
a8add4da19
2 files changed
+6
-2
No files matched your search
@@ -109,8 +109,10 @@ static void svm_dirq_assist(struct vcpu *v)
|
||||
irq < NR_IRQS;
|
||||
irq = find_next_bit(hvm_irq_dpci->dirq_mask, NR_IRQS, irq + 1) )
|
||||
{
|
||||
if ( !test_and_clear_bit(irq, &hvm_irq_dpci->dirq_mask) )
|
||||
continue;
|
||||
|
||||
stop_timer(&hvm_irq_dpci->hvm_timer[irq_to_vector(irq)]);
|
||||
clear_bit(irq, &hvm_irq_dpci->dirq_mask);
|
||||
|
||||
list_for_each_entry ( digl, &hvm_irq_dpci->mirq[irq].digl_list, list )
|
||||
{
|
||||
|
||||
@@ -118,8 +118,10 @@ static void vmx_dirq_assist(struct vcpu *v)
|
||||
irq < NR_IRQS;
|
||||
irq = find_next_bit(hvm_irq_dpci->dirq_mask, NR_IRQS, irq + 1) )
|
||||
{
|
||||
if ( !test_and_clear_bit(irq, &hvm_irq_dpci->dirq_mask) )
|
||||
continue;
|
||||
|
||||
stop_timer(&hvm_irq_dpci->hvm_timer[irq_to_vector(irq)]);
|
||||
clear_bit(irq, &hvm_irq_dpci->dirq_mask);
|
||||
|
||||
list_for_each_entry ( digl, &hvm_irq_dpci->mirq[irq].digl_list, list )
|
||||
{
|
||||
|
||||