Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 158625
b: refs/heads/master
c: 875e68e
h: refs/heads/master
i:
  158623: 12e47c2
v: v3
  • Loading branch information
Jeremy Fitzhardinge committed Jul 14, 2009
1 parent 5bea901 commit d4c9da0
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 21 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d8c52063ed85dda61b70bc05b90711478db5dc17
refs/heads/master: 875e68ec32fc5495f3edf987aaae1c52306184b7
28 changes: 8 additions & 20 deletions trunk/arch/x86/kernel/apic/io_apic.c
Original file line number Diff line number Diff line change
Expand Up @@ -490,34 +490,22 @@ static void ioapic_mask_entry(int apic, int pin)
*/
static void add_pin_to_irq_node(struct irq_cfg *cfg, int node, int apic, int pin)
{
struct irq_pin_list *entry;
struct irq_pin_list **entryp, *entry;

entry = cfg->irq_2_pin;
if (!entry) {
entry = get_one_free_irq_2_pin(node);
if (!entry) {
printk(KERN_ERR "can not alloc irq_2_pin to add %d - %d\n",
apic, pin);
return;
}
cfg->irq_2_pin = entry;
entry->apic = apic;
entry->pin = pin;
return;
}

while (entry->next) {
for (entryp = &cfg->irq_2_pin;
*entryp != NULL;
entryp = &(*entryp)->next) {
entry = *entryp;
/* not again, please */
if (entry->apic == apic && entry->pin == pin)
return;

entry = entry->next;
}

entry->next = get_one_free_irq_2_pin(node);
entry = entry->next;
entry = get_one_free_irq_2_pin(node);
entry->apic = apic;
entry->pin = pin;

*entryp = entry;
}

/*
Expand Down

0 comments on commit d4c9da0

Please sign in to comment.