]> git.hungrycats.org Git - linux/commitdiff
The irq vector offset should spread the irq's out evenly, which
authorLinus Torvalds <torvalds@home.transmeta.com>
Mon, 7 Apr 2003 02:41:54 +0000 (19:41 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Mon, 7 Apr 2003 02:41:54 +0000 (19:41 -0700)
implies that it should vary between 0-7, not any further (the
higher bits are done by updating current_vector by 8).

This also means that we don't have any overflow condition.

arch/i386/kernel/io_apic.c

index 851df2fdc79cc21eada6d3b6f8fa0d3ba8c87376..8c75d76c5271c6c08b93a0292cb06bb0a45749ed 100644 (file)
@@ -1116,13 +1116,10 @@ next:
                goto next;
 
        if (current_vector > FIRST_SYSTEM_VECTOR) {
-               offset++;
+               offset = (offset + 1) & 7;
                current_vector = FIRST_DEVICE_VECTOR + offset;
        }
 
-       if (current_vector == FIRST_SYSTEM_VECTOR)
-               panic("ran out of interrupt sources!");
-
        IO_APIC_VECTOR(irq) = current_vector;
        return current_vector;
 }