)]}'
{
  "commit": "734104292ff77dc71fe626b4ebd91b314547ca1b",
  "tree": "8e859beaa5065db26c7dc0d5e7a6a108c6f21163",
  "parents": [
    "07e836e8d1f3688311d97fe1bf46980b0f9ae9c1"
  ],
  "author": {
    "name": "Rafael J. Wysocki",
    "email": "rjw@sisk.pl",
    "time": "Wed Jan 07 13:07:15 2009 +0100"
  },
  "committer": {
    "name": "Jesse Barnes",
    "email": "jbarnes@virtuousgeek.org",
    "time": "Wed Jan 07 11:16:05 2009 -0800"
  },
  "message": "PCI PM: Avoid touching devices behind bridges in unknown state\n\nIt generally is better to avoid accessing devices behind bridges that\nmay not be in the D0 power state, because in that case the bridges\u0027\nsecondary buses may not be accessible.  For this reason, during the\nearly phase of resume (ie. with interrupts disabled), before\nrestoring the standard config registers of a device, check the power\nstate of the bridge the device is behind and postpone the restoration\nof the device\u0027s config space, as well as any other operations that\nwould involve accessing the device, if that state is not D0.\n\nIn such cases the restoration of the device\u0027s config space will be\nretried during the \"normal\" phase of resume (ie. with interrupts\nenabled), so that the bridge can be put into D0 before that happens.\n\nAlso, save standard configuration registers of PCI devices during the\n\"normal\" phase of suspend (ie. with interrupts enabled), so that the\nbridges the devices are behind can be put into low power states (we\ndon\u0027t put bridges into low power states at the moment, but we may\nwant to do it in the future and it seems reasonable to design for\nthat).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bfaa77d885372cadbbf8873e2ca14d8413ce563d",
      "old_mode": 33188,
      "old_path": "drivers/pci/pci-driver.c",
      "new_id": "750ee79c178f056f9ea7b56c690fdf1d966f4f3b",
      "new_mode": 33188,
      "new_path": "drivers/pci/pci-driver.c"
    },
    {
      "type": "modify",
      "old_id": "6e309c8b47df7bbfe32e312961f51b098e4ebf47",
      "old_mode": 33188,
      "old_path": "drivers/pci/pci.c",
      "new_id": "e491fdedf705279c98898e3d647bcf12d596b596",
      "new_mode": 33188,
      "new_path": "drivers/pci/pci.c"
    },
    {
      "type": "modify",
      "old_id": "881dc15f8efd878ea2b9d5dd5f06563f4e91a2d7",
      "old_mode": 33188,
      "old_path": "drivers/pci/pci.h",
      "new_id": "1351bb4addde2b6f8218fc75b807f6dab3cec107",
      "new_mode": 33188,
      "new_path": "drivers/pci/pci.h"
    }
  ]
}
