It seems to be due to incorrect use of "set_bit()": on the i386 the
alignment doesn't matter, but on the alpha (and according to my "coding
standards", yet to be written down), the bit operations need to have a
"long" alignment (for the simple reason that the bit operations need to
be atomic, and "long" seems to be the best guarantee of a entity that is
settable atomically).
I changed the stuff in drivers/net/auto_irq.c to use unsigned longs
instead of ints, and the problem will probably go away. That said, it
would indeed probably be better to use the irq detection in "irq.c"
instead of doing it by hand as in the current auto_irq.c.
Linus