]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
x86, apic, 32-bit: add self-IPI methods
authorIngo Molnar <mingo@elte.hu>
Fri, 30 Jan 2009 22:42:18 +0000 (23:42 +0100)
committerIngo Molnar <mingo@elte.hu>
Fri, 30 Jan 2009 22:42:18 +0000 (23:42 +0100)
Impact: fix rare crash on 32-bit

The 32-bit APIC drivers had their send_IPI_self vectors set to NULL,
but ioapic_retrigger_irq() depends on it being always set. Fix it.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/bigsmp_32.c
arch/x86/kernel/es7000_32.c
arch/x86/kernel/numaq_32.c
arch/x86/kernel/probe_32.c
arch/x86/kernel/summit_32.c

index ab645c93a6e7c0a8685ed4d50c0c54c8fe93d78b..47a62f46afdbda3c04ffe9a756321617ca85434c 100644 (file)
@@ -252,7 +252,7 @@ struct genapic apic_bigsmp = {
        .send_IPI_mask_allbutself       = NULL,
        .send_IPI_allbutself            = bigsmp_send_IPI_allbutself,
        .send_IPI_all                   = bigsmp_send_IPI_all,
-       .send_IPI_self                  = NULL,
+       .send_IPI_self                  = default_send_IPI_self,
 
        .wakeup_cpu                     = NULL,
        .trampoline_phys_low            = DEFAULT_TRAMPOLINE_PHYS_LOW,
index b5b50e8b94a9db123f9b46f64e0f6534b1204faa..d6184c12a18228b1b19eb4e71b7be81e86d03e60 100644 (file)
@@ -786,7 +786,7 @@ struct genapic apic_es7000 = {
        .send_IPI_mask_allbutself       = NULL,
        .send_IPI_allbutself            = es7000_send_IPI_allbutself,
        .send_IPI_all                   = es7000_send_IPI_all,
-       .send_IPI_self                  = NULL,
+       .send_IPI_self                  = default_send_IPI_self,
 
        .wakeup_cpu                     = NULL,
 
index c143b3292163b2b17dd89029975dae8b281d82ac..947748e172112e8fa4408fcaef2f106e81c13578 100644 (file)
@@ -554,7 +554,7 @@ struct genapic apic_numaq = {
        .send_IPI_mask_allbutself       = NULL,
        .send_IPI_allbutself            = numaq_send_IPI_allbutself,
        .send_IPI_all                   = numaq_send_IPI_all,
-       .send_IPI_self                  = NULL,
+       .send_IPI_self                  = default_send_IPI_self,
 
        .wakeup_cpu                     = NULL,
        .trampoline_phys_low            = NUMAQ_TRAMPOLINE_PHYS_LOW,
index 3f12a40118224860a5e44915a41b945c045511de..22337b75de6221e63c2a53a40cdf8c6ebe677edc 100644 (file)
@@ -116,7 +116,7 @@ struct genapic apic_default = {
        .send_IPI_mask_allbutself       = default_send_IPI_mask_allbutself_logical,
        .send_IPI_allbutself            = default_send_IPI_allbutself,
        .send_IPI_all                   = default_send_IPI_all,
-       .send_IPI_self                  = NULL,
+       .send_IPI_self                  = default_send_IPI_self,
 
        .wakeup_cpu                     = NULL,
        .trampoline_phys_low            = DEFAULT_TRAMPOLINE_PHYS_LOW,
index ecb41b9d7aa015ddebd933a8ef254decff8520c9..1e733eff9b331a7e7851f1f8513f3d3a31f9819c 100644 (file)
@@ -588,7 +588,7 @@ struct genapic apic_summit = {
        .send_IPI_mask_allbutself       = NULL,
        .send_IPI_allbutself            = summit_send_IPI_allbutself,
        .send_IPI_all                   = summit_send_IPI_all,
-       .send_IPI_self                  = NULL,
+       .send_IPI_self                  = default_send_IPI_self,
 
        .wakeup_cpu                     = NULL,
        .trampoline_phys_low            = DEFAULT_TRAMPOLINE_PHYS_LOW,