"Lu, Yinghai" <[EMAIL PROTECTED]> writes: > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Sent: Monday, January 08, 2007 7:50 AM > To: Linus Torvalds > Cc: Tobias Diedrich; Lu, Yinghai; Andrew Morton; Adrian Bunk; Andi > Kleen; Linux Kernel Mailing List > Subject: [PATCH 1/4] x86_64 io_apic: Implement remove_pin_to_irq > > +static void remove_pin_to_irq(unsigned int irq, int apic, int pin) > +{ > + struct irq_pin_list *entry = irq_2_pin + irq; > > You may need to update add_pin_to_irq to avoid multi entries for irq 0.
Any updates to add_pin_to_irq are wrong. It works fine. If there is something wrong we need to fix remove_pin_to_irq. What is the problem you see? Sorry I'm dense at the moment. I preserve the invariant that irq_2_pin + irq is always the first entry in the chain. I do this when I delete a multi chain entry by copying the next entry over the current entry, and then freeing (and leaking) the second entry in the chain. Is there something wrong with that? I came within an inch of deleting this multiple apic, pin to irq mapping code but the comments said it is needed for some ioapic case. So in resurrecting this variant I may have goofed somewhere. Eric - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/