fix get_free_pirq
PATCH 1/1 fix get_free_pirq
GSI should not be allocated for other purpose, so change the hard code limit.
Also fix the out of loop checking, it should be '<' instead of '=='.
Signed-off-by Qing He <[email protected]>
---
xen/arch/x86/irq.c +2 -2
@@ -1254,10 +1254,10 @@ int get_free_pirq(struct domain *d, int }else { -for ( i = d->nr_pirqs -1 ; i >=16 ; i-- ) +for ( i = d->nr_pirqs -1 ; i >= nr_irqs_gsi; i-- )if ( !d->arch.pirq_irq[i] )break ; -if ( i ==16 ) +if ( i < nr_irqs_gsi )return -ENOSPC ; }