)]}'
{
  "commit": "0dfc62465ef92c7ddcb1ba223bf062453566fd0f",
  "tree": "0156e9b9996cf43dd67ceed53a2b8da0a516cdec",
  "parents": [
    "7ca6448dbfb398bba36eda3c01bc14b86c3675be"
  ],
  "author": {
    "name": "Thomas Gleixner",
    "email": "tglx@linutronix.de",
    "time": "Tue May 31 20:39:20 2005 +0100"
  },
  "committer": {
    "name": "Thomas Gleixner",
    "email": "tglx@mtd.linutronix.de",
    "time": "Wed Jun 29 14:15:17 2005 +0200"
  },
  "message": "[MTD] NAND: Reorganize chip locking\n\nThe code was wrong in several aspects. The locking order was\ninconsistent, the device aquire code did not reset a variable\nafter a wakeup and the wakeup handling was not working for\napplications where multiple chips are sharing a single\nhardware controller.\nWhen a hardware controller is available the locking is now\nreduced to the hardware controller lock and the waitqueue is\nmoved to the hardware controller structure in order to avoid\na wake_up_all().\n\nThe problem was pointed out by Ben Dooks, who also found the\nmissing variable reset as main cause for his deadlock problem.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f1db0bf9306b3db950d1dea515e50deac8ccf299",
      "old_mode": 33188,
      "old_path": "drivers/mtd/nand/nand_base.c",
      "new_id": "bbe0283433d2d64313bd68379bc1f901180cb7d1",
      "new_mode": 33188,
      "new_path": "drivers/mtd/nand/nand_base.c"
    },
    {
      "type": "modify",
      "old_id": "bee78969cb21b3e1d4671104dfbe7dc338fa033b",
      "old_mode": 33188,
      "old_path": "include/linux/mtd/nand.h",
      "new_id": "9b5b762175849e13274d84f54788aad309fcefd4",
      "new_mode": 33188,
      "new_path": "include/linux/mtd/nand.h"
    }
  ]
}
