From: Yasuaki Ishimatsu Date: Tue, 17 Jul 2007 12:22:14 +0000 (+0900) Subject: [IA64] Check if irq is sharable X-Git-Tag: v2.6.23-rc1~198^2~2^2~6 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f8c087f31e1d3fbf1f7d0b3ea5e643f535e7de04;p=linux-2.6 [IA64] Check if irq is sharable Need to check if irq is sharable amoung handlers when searching sharable IOSAPIC irq. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck --- diff --git a/arch/ia64/kernel/iosapic.c b/arch/ia64/kernel/iosapic.c index bcf91dceaf..cffb443a55 100644 --- a/arch/ia64/kernel/iosapic.c +++ b/arch/ia64/kernel/iosapic.c @@ -502,8 +502,9 @@ static int iosapic_find_sharable_irq(unsigned long trigger, unsigned long pol) for (i = 0; i <= NR_IRQS; i++) { info = &iosapic_intr_info[i]; if (info->trigger == trigger && info->polarity == pol && - (info->dmode == IOSAPIC_FIXED || info->dmode == - IOSAPIC_LOWEST_PRIORITY)) { + (info->dmode == IOSAPIC_FIXED || + info->dmode == IOSAPIC_LOWEST_PRIORITY) && + can_request_irq(i, IRQF_SHARED)) { if (min_count == -1 || info->count < min_count) { irq = i; min_count = info->count;