x86_64 irq: use mask/unmask and proper locking in fixup_irqs()