)]}'
{
  "commit": "c341ca45ce56143804ef5a8f4db753e554e640b4",
  "tree": "bc26c8eb1cf98658a7a8d23293f21d243c5a70c1",
  "parents": [
    "e6aa70a0d5511296ea3d5fd1f5e2203ff6898107"
  ],
  "author": {
    "name": "Konrad Rzeszutek Wilk",
    "email": "konrad.wilk@oracle.com",
    "time": "Tue Sep 25 16:48:24 2012 -0400"
  },
  "committer": {
    "name": "Konrad Rzeszutek Wilk",
    "email": "konrad.wilk@oracle.com",
    "time": "Tue Sep 25 17:26:28 2012 -0400"
  },
  "message": "xen/pciback: Restore the PCI config space after an FLR.\n\nWhen we do an FLR, or D0-\u003eD3_hot we may lose the BARs as the\ndevice has turned itself off (and on). This means the device cannot\nfunction unless the pci_restore_state is called - which it is\nwhen the PCI device is unbound from the Xen PCI backend driver.\nFor PV guests it ends up calling pci_enable_device / pci_enable_msi[x]\nwhich does the proper steps\n\nThat however is not happening if a HVM guest is run as QEMU\ndeals with PCI configuration space. QEMU also requires that the\ndevice be \"parked\"  under the ownership of a pci-stub driver to\nguarantee that the PCI device is not being used. Hence we\nfollow the same incantation as pci_reset_function does - by\ndoing an FLR, then restoring the PCI configuration space.\n\nThe result of this patch is that when you run lspci, you get\nnow this:\n\n-       Region 0: [virtual] Memory at fe8c0000 (32-bit, non-prefetchable) [size\u003d128K]\n-       Region 1: [virtual] Memory at fe800000 (32-bit, non-prefetchable) [size\u003d512K]\n+       Region 0: Memory at fe8c0000 (32-bit, non-prefetchable) [size\u003d128K]\n+       Region 1: Memory at fe800000 (32-bit, non-prefetchable) [size\u003d512K]\n        Region 2: I/O ports at c000 [size\u003d32]\n-       Region 3: [virtual] Memory at fe8e0000 (32-bit, non-prefetchable) [size\u003d16K]\n+       Region 3: Memory at fe8e0000 (32-bit, non-prefetchable) [size\u003d16K]\n\nThe [virtual] means that lspci read those entries from SysFS but when\nit read them from the device it got a different value (0xfffffff).\n\nCC: stable@vger.kernel.org #only for 3.5, 3.6\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "acec6faff885e386378c2c7e7ebdbe5cd6a2aaf4",
      "old_mode": 33188,
      "old_path": "drivers/xen/xen-pciback/pci_stub.c",
      "new_id": "e5a0c13e2ad43501fa5543a6a82e1206da68bda4",
      "new_mode": 33188,
      "new_path": "drivers/xen/xen-pciback/pci_stub.c"
    }
  ]
}
