x86/ioapic: Print the IRTE's index field correctly when enabling INTR
authorraymond pang <raymondpangxd@gmail.com>
Tue, 22 Aug 2017 15:44:47 +0000 (23:44 +0800)
committerIngo Molnar <mingo@kernel.org>
Wed, 23 Aug 2017 08:17:17 +0000 (10:17 +0200)
When enabling interrupt remap, IOAPIC's RTE contains the interrupt_index
field of IRTE. This field is composed of the ->index and the ->index2 members
of 'struct IR_IO_APIC_route_entry' - but what we print out currently only
uses ->index.

Fix it.

Signed-off-by: Raymond Pang <raymondpangxd@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: joro@8bytes.org
Cc: linux-arch@vger.kernel.org
Link: http://lkml.kernel.org/r/CAHG4imNDzpDyOVi7MByVrLQ%3DQFuOVqpzJ5F-Xs5z6OZphubj-Q@mail.gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/apic/io_apic.c

index 237e9c2341c71eef924296d3d425c9cd4e95f447..70e48aa6af982e4b94564986e352de61ba81d27f 100644 (file)
@@ -1243,7 +1243,7 @@ static void io_apic_print_entries(unsigned int apic, unsigned int nr_entries)
                         entry.vector, entry.irr, entry.delivery_status);
                if (ir_entry->format)
                        printk(KERN_DEBUG "%s, remapped, I(%04X),  Z(%X)\n",
-                              buf, (ir_entry->index << 15) | ir_entry->index,
+                              buf, (ir_entry->index2 << 15) | ir_entry->index,
                               ir_entry->zero);
                else
                        printk(KERN_DEBUG "%s, %s, D(%02X), M(%1d)\n",