Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 191518
b: refs/heads/master
c: 4b6b19a
h: refs/heads/master
v: v3
  • Loading branch information
Eric W. Biederman authored and H. Peter Anvin committed May 4, 2010
1 parent d4592a5 commit 05747f0
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9638fa521e42c9281c874c6b5a382b1ced4ee496
refs/heads/master: 4b6b19a1c7302477653d799a53d48063dd53d555
10 changes: 7 additions & 3 deletions trunk/arch/x86/kernel/apic/io_apic.c
Original file line number Diff line number Diff line change
Expand Up @@ -3855,7 +3855,11 @@ int __init io_apic_get_redir_entries (int ioapic)
reg_01.raw = io_apic_read(ioapic, 1);
raw_spin_unlock_irqrestore(&ioapic_lock, flags);

return reg_01.bits.entries;
/* The register returns the maximum index redir index
* supported, which is one less than the total number of redir
* entries.
*/
return reg_01.bits.entries + 1;
}

void __init probe_nr_irqs_gsi(void)
Expand All @@ -3871,7 +3875,7 @@ void __init probe_nr_irqs_gsi(void)

nr = 0;
for (idx = 0; idx < nr_ioapics; idx++)
nr += io_apic_get_redir_entries(idx) + 1;
nr += io_apic_get_redir_entries(idx);

if (nr > nr_irqs_gsi)
nr_irqs_gsi = nr;
Expand Down Expand Up @@ -4306,7 +4310,7 @@ void __init mp_register_ioapic(int id, u32 address, u32 gsi_base)
*/
mp_gsi_routing[idx].gsi_base = gsi_base;
mp_gsi_routing[idx].gsi_end = gsi_base +
io_apic_get_redir_entries(idx);
io_apic_get_redir_entries(idx) - 1;

printk(KERN_INFO "IOAPIC[%d]: apic_id %d, version %d, address 0x%x, "
"GSI %d-%d\n", idx, mp_ioapics[idx].apicid,
Expand Down

0 comments on commit 05747f0

Please sign in to comment.