From f07ee69b3ef3427db448ec4e0fa19c9d7fcaf4c8 Mon Sep 17 00:00:00 2001 From: Jeremy Fitzhardinge Date: Mon, 8 Jun 2009 03:32:15 -0700 Subject: [PATCH] --- yaml --- r: 158627 b: refs/heads/master c: 4eea6fff612f54380dd642b045bf03ac0613fe3e h: refs/heads/master i: 158625: d4c9da0ee65c9610d0749d304baf222e76dab300 158623: 12e47c2f9f0766aa487e3ca39d4bf972b62411d4 v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/apic/io_apic.c | 13 +++++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 91fb488b7486..5c6b4ff823b3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 535b64291a9d1ff8bc54642494a5fce27e1e1170 +refs/heads/master: 4eea6fff612f54380dd642b045bf03ac0613fe3e diff --git a/trunk/arch/x86/kernel/apic/io_apic.c b/trunk/arch/x86/kernel/apic/io_apic.c index 9386976b675b..8245e62ed93f 100644 --- a/trunk/arch/x86/kernel/apic/io_apic.c +++ b/trunk/arch/x86/kernel/apic/io_apic.c @@ -512,25 +512,22 @@ static void add_pin_to_irq_node(struct irq_cfg *cfg, int node, int apic, int pin * Reroute an IRQ to a different pin. */ static void __init replace_pin_at_irq_node(struct irq_cfg *cfg, int node, - int oldapic, int oldpin, - int newapic, int newpin) + int oldapic, int oldpin, + int newapic, int newpin) { struct irq_pin_list *entry; - int replaced = 0; for (entry = cfg->irq_2_pin; entry != NULL; entry = entry->next) { if (entry->apic == oldapic && entry->pin == oldpin) { entry->apic = newapic; entry->pin = newpin; - replaced = 1; /* every one is different, right? */ - break; + return; } } - /* why? call replace before add? */ - if (!replaced) - add_pin_to_irq_node(cfg, node, newapic, newpin); + /* old apic/pin didn't exist, so just add new ones */ + add_pin_to_irq_node(cfg, node, newapic, newpin); } static void io_apic_modify_irq(struct irq_cfg *cfg,