lkml.org 
[lkml]   [2014]   [Jun]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[Patch V4 01/42] x86, irq: update high address field when updating affinity for MSI IRQ
    Date
    If x2apic is enabled, the MSI high address field should also be aslo
    updated when setting affinity for MSI IRQ, otherwise the MSI IRQ may
    target wrong APIC IDs.

    Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
    Cc: stable@vger.kernel.org
    ---
    arch/x86/kernel/apic/io_apic.c | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
    index 9d0a9795a0f8..2de992501a1b 100644
    --- a/arch/x86/kernel/apic/io_apic.c
    +++ b/arch/x86/kernel/apic/io_apic.c
    @@ -3007,6 +3007,10 @@ msi_set_affinity(struct irq_data *data, const struct cpumask *mask, bool force)

    __get_cached_msi_msg(data->msi_desc, &msg);

    + msg.address_hi = MSI_ADDR_BASE_HI;
    + if (x2apic_enabled())
    + msg.address_hi |= MSI_ADDR_EXT_DEST_ID(dest);
    +
    msg.data &= ~MSI_DATA_VECTOR_MASK;
    msg.data |= MSI_DATA_VECTOR(cfg->vector);
    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
    --
    1.7.10.4


    \
     
     \ /
      Last update: 2014-06-09 11:01    [W:4.038 / U:1.928 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site