)]}'
{
  "commit": "91e0d66a31148ff5108a1d877ddf54319903148b",
  "tree": "af6e047c5b0b679dc6bdfc00dc3e9acf28c3a7cf",
  "parents": [
    "a5caac7e5485057711085b764fb3ad95e071e6e5"
  ],
  "author": {
    "name": "Zhang Rui",
    "email": "rui.zhang@intel.com",
    "time": "Fri Dec 17 13:17:04 2010 -0800"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@suse.de",
    "time": "Thu Feb 17 14:47:32 2011 -0800"
  },
  "message": "xhci: Do not run xhci_cleanup_msix with irq disabled\n\ncommit 40a9fb17f32dbe54de3d636142a59288544deed7 upstream.\n\nwhen unloading xhci_hcd, I got:\n[  134.856813] xhci_hcd 0000:02:00.0: remove, state 4\n[  134.858140] usb usb3: USB disconnect, address 1\n[  134.874956] xhci_hcd 0000:02:00.0: Host controller not halted, aborting reset.\n[  134.876351] BUG: sleeping function called from invalid context at kernel/mutex.c:85\n[  134.877657] in_atomic(): 0, irqs_disabled(): 1, pid: 1451, name: modprobe\n[  134.878975] Pid: 1451, comm: modprobe Not tainted 2.6.37-rc5+ #162\n[  134.880298] Call Trace:\n[  134.881602]  [\u003cffffffff8104156a\u003e] __might_sleep+0xeb/0xf0\n[  134.882921]  [\u003cffffffff814763dc\u003e] mutex_lock+0x24/0x50\n[  134.884229]  [\u003cffffffff810a745c\u003e] free_desc+0x2e/0x5f\n[  134.885538]  [\u003cffffffff810a74c8\u003e] irq_free_descs+0x3b/0x71\n[  134.886853]  [\u003cffffffff8102584d\u003e] free_irq_at+0x31/0x36\n[  134.888167]  [\u003cffffffff8102723f\u003e] destroy_irq+0x69/0x71\n[  134.889486]  [\u003cffffffff8102747a\u003e] native_teardown_msi_irq+0xe/0x10\n[  134.890820]  [\u003cffffffff8124c382\u003e] default_teardown_msi_irqs+0x57/0x80\n[  134.892158]  [\u003cffffffff8124be46\u003e] free_msi_irqs+0x8b/0xe9\n[  134.893504]  [\u003cffffffff8124cd46\u003e] pci_disable_msix+0x35/0x39\n[  134.894844]  [\u003cffffffffa01b444a\u003e] xhci_cleanup_msix+0x31/0x51 [xhci_hcd]\n[  134.896186]  [\u003cffffffffa01b4b3a\u003e] xhci_stop+0x3a/0x80 [xhci_hcd]\n[  134.897521]  [\u003cffffffff81341dd4\u003e] usb_remove_hcd+0xfd/0x14a\n[  134.898859]  [\u003cffffffff813500ae\u003e] usb_hcd_pci_remove+0x5c/0xc6\n[  134.900193]  [\u003cffffffff8123c606\u003e] pci_device_remove+0x3f/0x91\n[  134.901535]  [\u003cffffffff812e7ea4\u003e] __device_release_driver+0x83/0xd9\n[  134.902899]  [\u003cffffffff812e8571\u003e] driver_detach+0x86/0xad\n[  134.904222]  [\u003cffffffff812e7d56\u003e] bus_remove_driver+0xb2/0xd8\n[  134.905540]  [\u003cffffffff812e8633\u003e] driver_unregister+0x6c/0x74\n[  134.906839]  [\u003cffffffff8123c8e4\u003e] pci_unregister_driver+0x44/0x89\n[  134.908121]  [\u003cffffffffa01b940e\u003e] xhci_unregister_pci+0x15/0x17 [xhci_hcd]\n[  134.909396]  [\u003cffffffffa01bd7d2\u003e] xhci_hcd_cleanup+0xe/0x10 [xhci_hcd]\n[  134.910652]  [\u003cffffffff8107fcd1\u003e] sys_delete_module+0x1ca/0x23b\n[  134.911882]  [\u003cffffffff81123932\u003e] ? path_put+0x22/0x26\n[  134.913104]  [\u003cffffffff8109a800\u003e] ? audit_syscall_entry+0x2c/0x148\n[  134.914333]  [\u003cffffffff8100ac82\u003e] system_call_fastpath+0x16/0x1b\n[  134.915658] xhci_hcd 0000:02:00.0: USB bus 3 deregistered\n[  134.916465] xhci_hcd 0000:02:00.0: PCI INT A disabled\n\nand the same issue when xhci_suspend is invoked.  (Note from Sarah: That\u0027s\nfixed by Andiry\u0027s patch before this, by synchronizing the irqs rather than\nfreeing them on suspend.)\n\nDo not run xhci_cleanup_msix with irq disabled.\n\nThis patch should be queued for the 2.6.37 stable tree.\n\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f3d5222cfc0b3fd823bcf9fbc5adee81adece390",
      "old_mode": 33188,
      "old_path": "drivers/usb/host/xhci.c",
      "new_id": "c792df86bae7e8428bd0a4a69a1a1992f731d716",
      "new_mode": 33188,
      "new_path": "drivers/usb/host/xhci.c"
    }
  ]
}
