Bugzilla – Attachment 57869 Details for
Bug 121955
TX_POWER failure for ipw2200 on Travelmate 8101
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
IDP Log In
|
Forgot Password
[patch]
acer-apic.patch
acer-apic.patch (text/plain), 3.19 KB, created by
Jiri Benc
on 2005-11-21 13:11:06 UTC
(
hide
)
Description:
acer-apic.patch
Filename:
MIME Type:
Creator:
Jiri Benc
Created:
2005-11-21 13:11:06 UTC
Size:
3.19 KB
patch
obsolete
>Index: linux-2.6.13-15/arch/i386/kernel/io_apic.c >=================================================================== >--- linux-2.6.13-15.orig/arch/i386/kernel/io_apic.c >+++ linux-2.6.13-15/arch/i386/kernel/io_apic.c >@@ -2453,6 +2453,7 @@ int __init io_apic_get_unique_id (int io > > if (physids_empty(apic_id_map)) > apic_id_map = ioapic_phys_id_map(phys_cpu_present_map); >+ printk(KERN_INFO "IOAPIC: apic_id_map is %ld\n", apic_id_map.mask[0]); > > spin_lock_irqsave(&ioapic_lock, flags); > reg_00.raw = io_apic_read(ioapic, 0); >@@ -2475,8 +2476,10 @@ int __init io_apic_get_unique_id (int io > break; > } > >- if (i == get_physical_broadcast()) >- panic("Max apic_id exceeded!\n"); >+ if (i == get_physical_broadcast()) { >+ printk(KERN_ERR "Max apic_id exceeded!\n"); >+ return -1; >+ } > > printk(KERN_WARNING "IOAPIC[%d]: apic_id %d already used, " > "trying %d\n", ioapic, apic_id, i); >@@ -2484,9 +2487,6 @@ int __init io_apic_get_unique_id (int io > apic_id = i; > } > >- tmp = apicid_to_cpu_present(apic_id); >- physids_or(apic_id_map, apic_id_map, tmp); >- > if (reg_00.bits.ID != apic_id) { > reg_00.bits.ID = apic_id; > >@@ -2496,10 +2496,16 @@ int __init io_apic_get_unique_id (int io > spin_unlock_irqrestore(&ioapic_lock, flags); > > /* Sanity check */ >- if (reg_00.bits.ID != apic_id) >- panic("IOAPIC[%d]: Unable change apic_id!\n", ioapic); >+ if (reg_00.bits.ID != apic_id) { >+ printk(KERN_ERR "IOAPIC[%d]: Unable change apic_id!\n", >+ ioapic); >+ return -1; >+ } > } > >+ tmp = apicid_to_cpu_present(apic_id); >+ physids_or(apic_id_map, apic_id_map, tmp); >+ > apic_printk(APIC_VERBOSE, KERN_INFO > "IOAPIC[%d]: Assigned apic_id %d\n", ioapic, apic_id); > >Index: linux-2.6.13-15/arch/i386/kernel/mpparse.c >=================================================================== >--- linux-2.6.13-15.orig/arch/i386/kernel/mpparse.c >+++ linux-2.6.13-15/arch/i386/kernel/mpparse.c >@@ -893,6 +893,7 @@ void __init mp_register_ioapic ( > u32 gsi_base) > { > int idx = 0; >+ int apicid; > > if (nr_ioapics >= MAX_IO_APICS) { > printk(KERN_ERR "ERROR: Max # of I/O APICs (%d) exceeded " >@@ -905,16 +906,21 @@ void __init mp_register_ioapic ( > return; > } > >- idx = nr_ioapics++; >+ idx = nr_ioapics; > > mp_ioapics[idx].mpc_type = MP_IOAPIC; > mp_ioapics[idx].mpc_flags = MPC_APIC_USABLE; > mp_ioapics[idx].mpc_apicaddr = address; > > set_fixmap_nocache(FIX_IO_APIC_BASE_0 + idx, address); >- if ((boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) && (boot_cpu_data.x86 < 15)) >- mp_ioapics[idx].mpc_apicid = io_apic_get_unique_id(idx, id); >- else >+ if ((boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) && (boot_cpu_data.x86 < 15)) { >+ apicid = io_apic_get_unique_id(idx, id); >+ if (apicid < 0) { >+ clear_fixmap(FIX_IO_APIC_BASE_0 + idx); >+ return; >+ } >+ mp_ioapics[idx].mpc_apicid = apicid; >+ } else > mp_ioapics[idx].mpc_apicid = id; > mp_ioapics[idx].mpc_apicver = io_apic_get_version(idx); > >@@ -927,6 +933,7 @@ void __init mp_register_ioapic ( > mp_ioapic_routing[idx].gsi_end = gsi_base + > io_apic_get_redir_entries(idx); > >+ nr_ioapics++; > printk("IOAPIC[%d]: apic_id %d, version %d, address 0x%lx, " > "GSI %d-%d\n", idx, mp_ioapics[idx].mpc_apicid, > mp_ioapics[idx].mpc_apicver, mp_ioapics[idx].mpc_apicaddr,
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Actions:
View
|
Diff
Attachments on
bug 121955
:
57764
|
57765
|
57766
|
57767
| 57869 |
58143