1. 14 12月, 2010 1 次提交
  2. 10 12月, 2010 1 次提交
  3. 30 10月, 2010 1 次提交
    • Y
      x86: Check irq_remapped instead of remapping_enabled in destroy_irq() · 7b79462a
      Yinghai Lu 提交于
      Russ Anderson reported:
      | There is a regression that is causing a NULL pointer dereference
      | in free_irte when shutting down xpc. git bisect narrowed it down
      | to git commit d585d060(intr_remap: Simplify the code further), which
      | changed free_irte(). Reverse applying the patch fixes the problem.
      
      We need to use irq_remapped() for each irq instead of checking only
      intr_remapping_enabled as there might be non remapped irqs even when
      remapping is enabled.
      
      [ tglx: use cfg instead of retrieving it again. Massaged changelog ]
      Reported-bisected-and-tested-by: NRuss Anderson <rja@sgi.com>
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      LKML-Reference: <4CCBD511.40607@kernel.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      7b79462a
  4. 19 10月, 2010 1 次提交
    • Y
      x86: ioapic: Call free_irte only if interrupt remapping enabled · 9717967c
      Yinghai Lu 提交于
      On a system that support intr-rempping when booting with "intremap=off"
      
      [  177.895501] BUG: unable to handle kernel NULL pointer dereference at 00000000000000f8
      [  177.913316] IP: [<ffffffff8145fc18>] free_irte+0x47/0xc0
      ...
      [  178.173326] Call Trace:
      [  178.173574]  [<ffffffff810515b4>] destroy_irq+0x3a/0x75
      [  178.192934]  [<ffffffff81051834>] arch_teardown_msi_irq+0xe/0x10
      [  178.193418]  [<ffffffff81458dc3>] arch_teardown_msi_irqs+0x56/0x7f
      [  178.213021]  [<ffffffff81458e79>] free_msi_irqs+0x8d/0xeb
      
      Call free_irte only when interrupt remapping is enabled.
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      LKML-Reference: <4CBCB274.7010108@kernel.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      9717967c
  5. 18 10月, 2010 2 次提交
  6. 12 10月, 2010 31 次提交
  7. 01 10月, 2010 1 次提交
  8. 16 9月, 2010 2 次提交
    • S
      x86, intr-remap: Remove IRTE setup duplicate code · 62a92f4c
      Suresh Siddha 提交于
      Remove IRTE setup duplicate code with prepare_irte().
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      LKML-Reference: <20100827181049.095067319@sbsiddha-MOBL3.sc.intel.com>
      Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com>
      62a92f4c
    • S
      x86, intr-remap: Set redirection hint in the IRTE · 75e3cfbe
      Suresh Siddha 提交于
      Currently the redirection hint in the interrupt-remapping table entry
      is set to 0, which means the remapped interrupt is directed to the
      processors listed in the destination. So in logical flat mode
      in the presence of intr-remapping, this results in a single
      interrupt multi-casted to multiple cpu's as specified by the destination
      bit mask. But what we really want is to send that interrupt to one of the cpus
      based on the lowest priority delivery mode.
      
      Set the redirection hint in the IRTE to '1' to indicate that we want
      the remapped interrupt to be directed to only one of the processors
      listed in the destination.
      
      This fixes the issue of same interrupt getting delivered to multiple cpu's
      in the logical flat mode in the presence of interrupt-remapping. While
      there is no functional issue observed with this behavior, this will
      impact performance of such configurations (<=8 cpu's using logical flat
      mode in the presence of interrupt-remapping)
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      LKML-Reference: <20100827181049.013051492@sbsiddha-MOBL3.sc.intel.com>
      Cc: Weidong Han <weidong.han@intel.com>
      Cc: <stable@kernel.org> # [v2.6.32+]
      Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com>
      75e3cfbe