)]}'
{
  "commit": "85eb961bf9afd61385430f8837485ba69cc0cc11",
  "tree": "95faf9dc33c3614283490d906819179065616465",
  "parents": [
    "f24a2794e1b527e45efbbcad1c272f176f3d9df0"
  ],
  "author": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Thu Oct 28 00:38:02 2021 +0100"
  },
  "committer": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Thu Oct 28 23:18:07 2021 +0100"
  },
  "message": "[xhci] Allow for permanent failure of the command mechanism\n\nSome xHCI controllers (observed with the Thunderbolt ports on a\nThinkPad X1 Extreme Gen3 and a ThinkPad P53) seem to suffer a\ncatastrophic failure at the point that ExitBootServices() is called if\nthe IOMMU is enabled.  The symptoms appear to be consistent with\nanother UEFI driver (e.g. the IOMMU driver, or the Thunderbolt driver)\nhaving torn down the DMA mappings, leaving the xHCI controller unable\nto write to host memory.  The observable effect is that all commands\nfail with a timeout, and attempts to abort command execution similarly\nfail since the xHCI controller is unable to report the abort\ncompletion.\n\nCheck for failure to abort a command, and respond by performing a full\ndevice reset (as recommended by the xHCI specification) and by marking\nthe device as permanently failed.\n\nReported-by: Andreas Hammarskjöld \u003cjunior@2PintSoftware.com\u003e\nSigned-off-by: Michael Brown \u003cmcb30@ipxe.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cc48af033eab457c3bd486a66731270841dca39b",
      "old_mode": 33188,
      "old_path": "src/drivers/usb/xhci.c",
      "new_id": "3d98b1e10f93876f6ea980ef30c18d205f55313d",
      "new_mode": 33188,
      "new_path": "src/drivers/usb/xhci.c"
    },
    {
      "type": "modify",
      "old_id": "6e02d70e07eb49bbe494c3dae18d8ef9e49f88e7",
      "old_mode": 33188,
      "old_path": "src/drivers/usb/xhci.h",
      "new_id": "a3c8888af0eadbc62f842b1b08f69b735b31e309",
      "new_mode": 33188,
      "new_path": "src/drivers/usb/xhci.h"
    }
  ]
}
