1. 05 1月, 2010 1 次提交
    • 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
  2. 17 12月, 2009 2 次提交
  3. 25 11月, 2009 1 次提交
  4. 05 11月, 2009 3 次提交
  5. 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
  6. 17 6月, 2009 1 次提交