ia64/xen-unstable

changeset 9638:05db1d61e031

Fix my slightly broken change to pirq_mask logic -- we must
pass the last seen bit *plus 1* to find_next_bit().

Signed-off-by: Keir Fraser <keir@xensource.com>
author kaf24@firebug.cl.cam.ac.uk
date Fri Apr 07 16:15:44 2006 +0100 (2006-04-07)
parents 86db4688d514
children f84a333d8aa6
files xen/arch/ia64/xen/irq.c xen/arch/x86/irq.c
line diff
     1.1 --- a/xen/arch/ia64/xen/irq.c	Fri Apr 07 15:58:00 2006 +0100
     1.2 +++ b/xen/arch/ia64/xen/irq.c	Fri Apr 07 16:15:44 2006 +0100
     1.3 @@ -1363,7 +1363,7 @@ int pirq_guest_unmask(struct domain *d)
     1.4  
     1.5      for ( pirq = find_first_bit(d->pirq_mask, NR_PIRQS);
     1.6            pirq < NR_PIRQS;
     1.7 -          pirq = find_next_bit(d->pirq_mask, NR_PIRQS, pirq) )
     1.8 +          pirq = find_next_bit(d->pirq_mask, NR_PIRQS, pirq+1) )
     1.9      {
    1.10          desc = &irq_desc[pirq];
    1.11          spin_lock_irq(&desc->lock);
     2.1 --- a/xen/arch/x86/irq.c	Fri Apr 07 15:58:00 2006 +0100
     2.2 +++ b/xen/arch/x86/irq.c	Fri Apr 07 16:15:44 2006 +0100
     2.3 @@ -176,7 +176,7 @@ int pirq_guest_unmask(struct domain *d)
     2.4  
     2.5      for ( pirq = find_first_bit(d->pirq_mask, NR_PIRQS);
     2.6            pirq < NR_PIRQS;
     2.7 -          pirq = find_next_bit(d->pirq_mask, NR_PIRQS, pirq) )
     2.8 +          pirq = find_next_bit(d->pirq_mask, NR_PIRQS, pirq+1) )
     2.9      {
    2.10          desc = &irq_desc[irq_to_vector(pirq)];
    2.11          spin_lock_irq(&desc->lock);