1. 07 2月, 2014 1 次提交
  2. 15 11月, 2013 1 次提交
  3. 23 7月, 2013 1 次提交
  4. 18 5月, 2013 1 次提交
  5. 13 4月, 2013 3 次提交
  6. 25 9月, 2012 1 次提交
  7. 23 6月, 2012 1 次提交
  8. 17 1月, 2011 1 次提交
  9. 15 1月, 2011 1 次提交
  10. 23 2月, 2010 1 次提交
    • R
      PCI / ACPI / PM: Platform support for PCI PME wake-up · b67ea761
      Rafael J. Wysocki 提交于
      Although the majority of PCI devices can generate PMEs that in
      principle may be used to wake up devices suspended at run time,
      platform support is generally necessary to convert PMEs into wake-up
      events that can be delivered to the kernel.  If ACPI is used for this
      purpose, PME signals generated by a PCI device will trigger the ACPI
      GPE associated with the device to generate an ACPI wake-up event that
      we can set up a handler for, provided that everything is configured
      correctly.
      
      Unfortunately, the subset of PCI devices that have GPEs associated
      with them is quite limited.  The devices without dedicated GPEs have
      to rely on the GPEs associated with other devices (in the majority of
      cases their upstream bridges and, possibly, the root bridge) to
      generate ACPI wake-up events in response to PME signals from them.
      
      Add ACPI platform support for PCI PME wake-up:
      o Add a framework making is possible to use ACPI system notify
        handlers for run-time PM.
      o Add new PCI platform callback ->run_wake() to struct
        pci_platform_pm_ops allowing us to enable/disable the platform to
        generate wake-up events for given device.  Implemet this callback
        for the ACPI platform.
      o Define ACPI wake-up handlers for PCI devices and PCI root buses and
        make the PCI-ACPI binding code register wake-up notifiers for all
        PCI devices present in the ACPI tables.
      o Add function pci_dev_run_wake() which can be used by PCI drivers to
        check if given device is capable of generating wake-up events at
        run time.
      
      Developed in cooperation with Matthew Garrett <mjg@redhat.com>.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      b67ea761
  11. 17 6月, 2009 2 次提交
  12. 21 3月, 2009 2 次提交
    • K
      PCI/ACPI: fix wrong assumption in acpi_find_root_bridge_handle · d18690af
      Kenji Kaneshige 提交于
      Current acpi_find_root_bridge_handle() has a assumption that
      pci_bus->self is NULL on the root pci bus. But it might not be true on
      some platforms. Because of this wrong assumption, current
      acpi_find_root_bridge_handle() might cause endless loop. We must check
      pci_bus->parent instead.
      Signed-off-by: NKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      d18690af
    • K
      PCI/ACPI: fix wrong assumption in acpi_pci_get_bridge_handle · 0747aaf4
      Kenji Kaneshige 提交于
      Current acpi_pci_get_bridge_handle() has an assumption that
      pci_bus->self is NULL on the root pci bus. But it might not true on
      some platforms. Because of this wrong assumption, current
      acpi_pci_get_bridge_handle() might return improper ACPI handle. We
      must check pci_bus->parent instead.
      
      This bug is the root cause of the following kernel panic reported by
      James Bottomley. This problem was introduced by the commit
      e8c331e9. The immediate cause was
      acpi_pci_get_bridge_handle() returned NULL unexpectedly and it was
      passed as the second argument of acpi_walk_namespace().
      
      pci_hotplug: PCI Hot Plug PCI Core version: 0.5
      acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
      BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
      IP: [<ffffffff8039646f>] acpi_ns_get_next_node+0xb/0x3c
      PGD 0
      Oops: 0000 [#1] SMP
      last sysfs file:
      CPU 0
      Modules linked in:
      Pid: 1, comm: swapper Not tainted 2.6.28 #1
      RIP: 0010:[<ffffffff8039646f>]  [<ffffffff8039646f>] acpi_ns_get_next_node+0xb/0x3c
      RSP: 0018:ffff88007f87fd30  EFLAGS: 00010246
      RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
      RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
      RBP: 0000000000000000 R08: ffffffff8037d260 R09: ffff88007f87fdfc
      R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000001
      R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000000000
      FS:  0000000000000000(0000) GS:ffffffff80742040(0000) knlGS:0000000000000000
      CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
      CR2: 0000000000000010 CR3: 0000000000201000 CR4: 00000000000006a0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process swapper (pid: 1, threadinfo ffff88007f87e000, task ffff88007f875040)
      Stack:
       0000000000000000 ffffffff803964f5 ffff88007f81b728 0000000000001001
       ffff88007f87fdfc ffffffff8037d260 0000000600000001 0000000000000000
       ffffffff8037d260 0000000000000000 0000000000000001 ffff88007f87fdfc
      Call Trace:
       [<ffffffff803964f5>] acpi_ns_walk_namespace+0x55/0x138
       [<ffffffff8037d260>] is_pci_dock_device+0x0/0x20
       [<ffffffff8037d260>] is_pci_dock_device+0x0/0x20
       [<ffffffff80394a9e>] acpi_walk_namespace+0x5f/0x83
       [<ffffffff8037dd33>] detect_ejectable_slots+0x53/0x70
       [<ffffffff8037de38>] add_bridge+0xe8/0x200
       [<ffffffff80394aaa>] acpi_walk_namespace+0x6b/0x83
       [<ffffffff803a4ad1>] acpi_pci_register_driver+0x48/0x61
       [<ffffffff806fc5df>] acpiphp_init+0x0/0x58
       [<ffffffff806fc732>] acpiphp_glue_init+0x4c/0x5a
       [<ffffffff806fc616>] acpiphp_init+0x37/0x58
       [<ffffffff8020903b>] _stext+0x3b/0x180
       [<ffffffff80312598>] create_proc_entry+0x58/0xa0
       [<ffffffff802815d1>] register_irq_proc+0xc1/0xe0
       [<ffffffff806db64b>] kernel_init+0x152/0x1ac
       [<ffffffff8023d970>] finish_task_switch+0x0/0x110
       [<ffffffff8020ca7a>] child_rip+0xa/0x20
       [<ffffffff8020c47c>] restore_args+0x0/0x30
       [<ffffffff806db4f9>] kernel_init+0x0/0x1ac
       [<ffffffff8020ca70>] child_rip+0x0/0x20
      Code: 89 c2 48 8b 00 48 85 c0 75 f5 48 8b 45 00 48 89 02 44 88 65 09 48 89 5d 00 31 c0 5b 5d 41 5c c3 53 48 85 d2 89 fb 48 89 d7 75 06 <48> 8b 56 10 eb 08 e8 73 f1 ff ff 48 89 c2 85 db 74 1a eb 13 0f
      RIP  [<ffffffff8039646f>] acpi_ns_get_next_node+0xb/0x3c
       RSP <ffff88007f87fd30>
      CR2: 0000000000000010
      ---[ end trace a7919e7f17c0a725 ]---
      Signed-off-by: NKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      0747aaf4
  13. 20 3月, 2009 2 次提交
  14. 08 1月, 2009 4 次提交
  15. 19 8月, 2008 1 次提交
  16. 02 2月, 2008 1 次提交
  17. 12 6月, 2006 1 次提交
  18. 11 11月, 2005 1 次提交
  19. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4