1. 26 1月, 2010 1 次提交
  2. 05 1月, 2010 2 次提交
    • Y
      PCIe AER: prevent AER injection if hardware masks error reporting · b49bfd32
      Youquan,Song 提交于
      The Correcteable/Uncorrectable Error Mask Registers are used by PCIe AER
      driver which will controls the reporting of individual errors to PCIe RC
      via PCIe error messages.
      
      If hardware masks special error reporting to RC, the aer_inject driver
      should not inject aer error.
      Acked-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NYouquan, Song <youquan.song@intel.com>
      Acked-by: NYing, Huang <ying.huang@intel.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      b49bfd32
    • Y
      PCI: AER: fix aer inject result in kernel oops · 46256f83
      Youquan,Song 提交于
      If the BIOS does not export _OSC to allow OS take over the PCIe AER, the
      pcie aer driver will not initialize the aer service. However, the
      aer_inject driver does not check this scenario, which results in a kernel
      oops when injecting an aer error into OS.  For example:
      
      BUG: unable to handle kernel NULL pointer dereference at 0000000000000350
      IP: [<ffffffff812e08f7>] _spin_lock_irqsave+0xc/0x23
      PGD 155c41067 PUD 157fe0067 PMD 0
      Oops: 0002 [#1] SMP
      Pid: 5119, comm: aer-inject Not tainted 2.6.32-rc8-mce #2
      RIP: 0010:[<ffffffff812e08f7>]  [<ffffffff812e08f7>] _spin_lock_irqsave+0xc/0x23
      RSP: 0018:ffff880157f81e28  EFLAGS: 00010096
      RAX: 0000000000000296 RBX: 0000000000000000 RCX: 0000000000000100
      RDX: 0000000000010000 RSI: 0000000000000246 RDI: 0000000000000350
      RBP: ffff880157f81e28 R08: 0000000000000004 R09: ffff880157f81dac
      R10: ffff88015a666f60 R11: ffff88015a666f40 R12: ffff88015758cc00
      R13: 0000000000000350 R14: 0000000000000000 R15: 0000000000000100
      FS:  00007f4d4a66e6f0(0000) GS:ffff8800282e0000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      CR2: 0000000000000350 CR3: 000000015661a000 CR4: 00000000000006e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process aer-inject (pid: 5119, threadinfo ffff880157f80000, task ffff8801585f4340)
      Stack:
       ffff880157f81e78 ffffffff811b1615 ffff880157f81e78 ffffffff81222823
      Call Trace:
       [<ffffffff811b1615>] aer_irq+0x38/0x117
       [<ffffffff81222823>] ? device_for_each_child+0x5f/0x6f
       [<ffffffffa00967bf>] aer_inject_write+0x409/0x45e [aer_inject]
       [<ffffffff810eb80e>] vfs_write+0xae/0x16a
       [<ffffffff810eb98e>] sys_write+0x47/0x6e
       [<ffffffff8100ba2b>] system_call_fastpath+0x16/0x1b
      RIP  [<ffffffff812e08f7>] _spin_lock_irqsave+0xc/0x23
       RSP <ffff880157f81e28>
      CR2: 0000000000000350
      
      So check the _OSC before assuming that AER is available to the OS.
      Signed-off-by: NYouquan, Song <youquan.song@intel.com>
      Acked-by: NYing, Huang <ying.huang@intel.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      46256f83
  3. 17 12月, 2009 2 次提交
  4. 25 11月, 2009 1 次提交
  5. 05 11月, 2009 3 次提交
  6. 10 9月, 2009 1 次提交
    • H
      PCI: pcie, aer: checkpatch style cleanup in pcie/aer/* · c9a91883
      Hidetoshi Seto 提交于
      Before:
       drivers/pci/pcie/aer/aer_inject.c
        total: 4 errors, 4 warnings, 473 lines checked
       drivers/pci/pcie/aer/aerdrv.c
        total: 5 errors, 2 warnings, 333 lines checked
       drivers/pci/pcie/aer/aerdrv.h
        total: 1 errors, 0 warnings, 139 lines checked
       drivers/pci/pcie/aer/aerdrv_core.c
        total: 4 errors, 3 warnings, 872 lines checked
       drivers/pci/pcie/aer/aerdrv_errprint.c
        total: 12 errors, 11 warnings, 248 lines checked
      
      After:
       drivers/pci/pcie/aer/aer_inject.c
        total: 0 errors, 0 warnings, 466 lines checked
       drivers/pci/pcie/aer/aerdrv.c
        total: 0 errors, 0 warnings, 335 lines checked
       drivers/pci/pcie/aer/aerdrv.h
        total: 0 errors, 0 warnings, 139 lines checked
       drivers/pci/pcie/aer/aerdrv_core.c
        total: 0 errors, 0 warnings, 869 lines checked
       drivers/pci/pcie/aer/aerdrv_errprint.c
        total: 0 errors, 10 warnings, 247 lines checked
      Signed-off-by: NHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
      Reviewed-by: NAndrew Patterson <andrew.patterson@hp.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      c9a91883
  7. 17 6月, 2009 1 次提交