)]}'
{
  "commit": "bd8a076ec08b1dab5fe3d7bf5499990a552ff51f",
  "tree": "7285f9303d260cac1255a31cc71d6bcce0e1e844",
  "parents": [
    "f353fc7d4deafe84db514a3acb691fb84c7c69ec"
  ],
  "author": {
    "name": "Sarah Sharp",
    "email": "sarah.a.sharp@linux.intel.com",
    "time": "Thu Nov 03 13:06:08 2011 -0700"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@suse.de",
    "time": "Sat Nov 26 09:10:00 2011 -0800"
  },
  "message": "xhci: Set slot and ep0 flags for address command.\n\ncommit d31c285b3a71cf9056e6a060de41f37780b0af86 upstream.\n\nMatt\u0027s AsMedia xHCI host controller was responding with a Context Error\nto an address device command after a configured device reset.  Some\nsequence of events leads both the slot and endpoint zero add flags\ncleared to zero, which the AsMedia host doesn\u0027t like:\n\n[  223.701839] xhci_hcd 0000:03:00.0: Slot ID 1 Input Context:\n[  223.701841] xhci_hcd 0000:03:00.0: @ffff880137b25000 (virt) @ffffc000 (dma) 0x000000 - drop flags\n[  223.701843] xhci_hcd 0000:03:00.0: @ffff880137b25004 (virt) @ffffc004 (dma) 0x000000 - add flags\n[  223.701846] xhci_hcd 0000:03:00.0: @ffff880137b25008 (virt) @ffffc008 (dma) 0x000000 - rsvd2[0]\n[  223.701848] xhci_hcd 0000:03:00.0: @ffff880137b2500c (virt) @ffffc00c (dma) 0x000000 - rsvd2[1]\n[  223.701850] xhci_hcd 0000:03:00.0: @ffff880137b25010 (virt) @ffffc010 (dma) 0x000000 - rsvd2[2]\n[  223.701852] xhci_hcd 0000:03:00.0: @ffff880137b25014 (virt) @ffffc014 (dma) 0x000000 - rsvd2[3]\n[  223.701854] xhci_hcd 0000:03:00.0: @ffff880137b25018 (virt) @ffffc018 (dma) 0x000000 - rsvd2[4]\n[  223.701857] xhci_hcd 0000:03:00.0: @ffff880137b2501c (virt) @ffffc01c (dma) 0x000000 - rsvd2[5]\n[  223.701858] xhci_hcd 0000:03:00.0: Slot Context:\n[  223.701860] xhci_hcd 0000:03:00.0: @ffff880137b25020 (virt) @ffffc020 (dma) 0x8400000 - dev_info\n[  223.701862] xhci_hcd 0000:03:00.0: @ffff880137b25024 (virt) @ffffc024 (dma) 0x010000 - dev_info2\n[  223.701864] xhci_hcd 0000:03:00.0: @ffff880137b25028 (virt) @ffffc028 (dma) 0x000000 - tt_info\n[  223.701866] xhci_hcd 0000:03:00.0: @ffff880137b2502c (virt) @ffffc02c (dma) 0x000000 - dev_state\n[  223.701869] xhci_hcd 0000:03:00.0: @ffff880137b25030 (virt) @ffffc030 (dma) 0x000000 - rsvd[0]\n[  223.701871] xhci_hcd 0000:03:00.0: @ffff880137b25034 (virt) @ffffc034 (dma) 0x000000 - rsvd[1]\n[  223.701873] xhci_hcd 0000:03:00.0: @ffff880137b25038 (virt) @ffffc038 (dma) 0x000000 - rsvd[2]\n[  223.701875] xhci_hcd 0000:03:00.0: @ffff880137b2503c (virt) @ffffc03c (dma) 0x000000 - rsvd[3]\n[  223.701877] xhci_hcd 0000:03:00.0: Endpoint 00 Context:\n[  223.701879] xhci_hcd 0000:03:00.0: @ffff880137b25040 (virt) @ffffc040 (dma) 0x000000 - ep_info\n[  223.701881] xhci_hcd 0000:03:00.0: @ffff880137b25044 (virt) @ffffc044 (dma) 0x2000026 - ep_info2\n[  223.701883] xhci_hcd 0000:03:00.0: @ffff880137b25048 (virt) @ffffc048 (dma) 0xffffe8e0 - deq\n[  223.701885] xhci_hcd 0000:03:00.0: @ffff880137b25050 (virt) @ffffc050 (dma) 0x000000 - tx_info\n[  223.701887] xhci_hcd 0000:03:00.0: @ffff880137b25054 (virt) @ffffc054 (dma) 0x000000 - rsvd[0]\n[  223.701889] xhci_hcd 0000:03:00.0: @ffff880137b25058 (virt) @ffffc058 (dma) 0x000000 - rsvd[1]\n[  223.701892] xhci_hcd 0000:03:00.0: @ffff880137b2505c (virt) @ffffc05c (dma) 0x000000 - rsvd[2]\n...\n[  223.701927] xhci_hcd 0000:03:00.0: // Ding dong!\n[  223.701992] xhci_hcd 0000:03:00.0: Setup ERROR: address device command for slot 1.\n\nThe xHCI spec says that both flags must be set to one for the Address\nDevice command.  When the device is first enumerated,\nxhci_setup_addressable_virt_dev() does set those flags.  However, when\nthe device is addressed after it has been reset in the configured state,\nxhci_setup_addressable_virt_dev() is not called, and\nxhci_copy_ep0_dequeue_into_input_ctx() is called instead.  That function\nrelies on the flags being set up by previous commands, which apparently\nisn\u0027t a good assumption.\n\nMove the setting of the flags into the common parent function.\n\nThis should be queued for stable kernels as old as 2.6.35, since that\nwas the first introduction of xhci_copy_ep0_dequeue_into_input_ctx.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nTested-by: Matt \u003cmdm@iinet.net.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "104620b3764b949e0892b5d752f4e38bed7e757b",
      "old_mode": 33188,
      "old_path": "drivers/usb/host/xhci-mem.c",
      "new_id": "ffeee575fd21b974ad6a8ecf4021d86068e3807c",
      "new_mode": 33188,
      "new_path": "drivers/usb/host/xhci-mem.c"
    },
    {
      "type": "modify",
      "old_id": "fb61e9d8e17f0ffcf90dea61cb4ea7da427805a7",
      "old_mode": 33188,
      "old_path": "drivers/usb/host/xhci.c",
      "new_id": "eb31f9e45ba350e63ed87f4dd3c583061b66bfff",
      "new_mode": 33188,
      "new_path": "drivers/usb/host/xhci.c"
    }
  ]
}
