)]}'
{
  "commit": "be41efde3ca0372dbf7543e09ff473b4eec25057",
  "tree": "56fc5bf4190b7f73613fc4097ca6ad295bd69a98",
  "parents": [
    "8beba9304391189666df1b62b23a5101b3831317"
  ],
  "author": {
    "name": "Hans de Goede",
    "email": "hdegoede@redhat.com",
    "time": "Sat Nov 17 12:47:15 2012 +0100"
  },
  "committer": {
    "name": "Gerd Hoffmann",
    "email": "kraxel@redhat.com",
    "time": "Tue Dec 04 14:41:54 2012 +0100"
  },
  "message": "usb: Don\u0027t allow USB_RET_ASYNC for interrupt packets\n\nIt is tempting to use USB_RET_ASYNC for interrupt packets, rather then the\ncurrent NAK + polling approach, but this causes issues for migration, as\nan async completed packet will not getting written back to guest memory until\nthe next poll time, and if a migration happens in between it will get lost!\n\nMake an exception for host devices, because:\n1) host-linux actually uses async completion for interrupt endpoints\n2) host devices don\u0027t migrate anyways\n\nIdeally we would convert host-linux.c to handle (input) interrupt endpoints in\na buffered manner like it does for isoc endpoints, keeping multiple urbs\nsubmitted to ensure the devices timing requirements are met, as well as making\nits interrupt ep handling the same as other usb-devices.\n\nSigned-off-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7d6de69ec49f5df8f11e4a9f0feb5b67b061aa0d",
      "old_mode": 33188,
      "old_path": "hw/usb.h",
      "new_id": "58f812f7d013456179f3f2c5c93e32ed1beec8d4",
      "new_mode": 33188,
      "new_path": "hw/usb.h"
    },
    {
      "type": "modify",
      "old_id": "52b53108cdaf00339ad5974e8ed7fc6cffddb2bb",
      "old_mode": 33188,
      "old_path": "hw/usb/core.c",
      "new_id": "8e360d3ec03dfbe122b89e0a6ccad961ed35fe6b",
      "new_mode": 33188,
      "new_path": "hw/usb/core.c"
    },
    {
      "type": "modify",
      "old_id": "6473e8b74780c213dbfb5804da68607866b89262",
      "old_mode": 33188,
      "old_path": "hw/usb/host-bsd.c",
      "new_id": "dae000937881a13e91fb9b394d3572e521c570f6",
      "new_mode": 33188,
      "new_path": "hw/usb/host-bsd.c"
    },
    {
      "type": "modify",
      "old_id": "aa77b7704da29630da8ad6f082d67b22daf03262",
      "old_mode": 33188,
      "old_path": "hw/usb/host-linux.c",
      "new_id": "bdafb6bc87a9cd88218dcdba645c6d1a762c2326",
      "new_mode": 33188,
      "new_path": "hw/usb/host-linux.c"
    }
  ]
}
