)]}'
{
  "commit": "0ca4b6b00113b064c080d26d803d0d7c80fb5dc8",
  "tree": "69e25f61bf252f2db0c0d01244555f90ad48aaf1",
  "parents": [
    "23918b03060f6e572168fdde1798a905679d2e06"
  ],
  "author": {
    "name": "Matthew Wilcox",
    "email": "matthew@wil.cx",
    "time": "Thu Nov 20 14:09:33 2008 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Thu Nov 20 13:17:40 2008 -0800"
  },
  "message": "x86: Fix interrupt leak due to migration\n\nWhen we migrate an interrupt from one CPU to another, we set the\nmove_in_progress flag and clean up the vectors later once they\u0027re not\nbeing used.  If you\u0027re unlucky and call destroy_irq() before the vectors\nbecome un-used, the move_in_progress flag is never cleared, which causes\nthe interrupt to become unusable.\n\nThis was discovered by Jesse Brandeburg for whom it manifested as an\nMSI-X device refusing to use MSI-X mode when the driver was unloaded\nand reloaded repeatedly.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7a3f2028e2eb9e01a757a93b0de5b2e4f77f3634",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/io_apic.c",
      "new_id": "c9513e1ff28d3b79fd5fd5806cd41a0eb33a29c0",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/io_apic.c"
    }
  ]
}
