)]}'
{
  "commit": "d95fd5fce88f05fd36004f2a0c317e665549e54c",
  "tree": "aa154c94a232800e913dd6bf5cca02cca7d2d434",
  "parents": [
    "217f6710c275118af1008bb1447d244be52d2dc3"
  ],
  "author": {
    "name": "Finn Thain",
    "email": "fthain@telegraphics.com.au",
    "time": "Tue May 01 22:32:59 2007 +0200"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Fri May 04 17:59:07 2007 -0700"
  },
  "message": "m68k: Mac II ADB fixes\n\nFix a crash caused by requests placed in the queue with the completed flag\nalready set. This lead to some ADB_SYNC requests returning early and their\nrequest structs being popped off the stack while still queued. Stack corruption\nensued or an invalid request callback pointer was invoked or both. Eliminate\nmacii_retransmit() and its buggy implementation of macii_write(). Have\nmacii_queue_poll() fully initialise the request queues.\n\nFix a bug in macii_queue_poll() where the last_req pointer was not being set.\nThis caused some requests to leave the queue before being completed (and would\nalso corrupt the stack under certain conditions).\n\nFix a race in macii_start that could set the state machine to \"reading\" while\ncurrent_req was null.\n\nNo longer send poll commands with the ADBREQ_REPLY flag -- doing that caused\nthe replies to be stored in the request buffer where they were forgotten\nabout.\n\nDon\u0027t autopoll by continuously sending new Talk commands. Get the controller to\ndo that for us. This reduces the ADB interrupt rate on an idle bus to about 5\nper second. Only autopoll the devices that were probed.\n\nExplicitly clear the interrupt flag when polling.\n\nUse disable_irq rather than local_irq_save when polling.\n\nRemove excess local_irq_save/restore pairs.\n\nImprove bus timeout and service request detection.\n\nRemove unused code (last_reply, adb_dir etc) and unneeded code (prefix_len,\nfirst_byte etc).\n\nChange TIP and TACK to their correct names on this ADB controller (ST_EVEN and\nST_ODD).\n\nAdd some commentry.\n\nAdd a generous quantity of sanity checks (BUG_ONs).\n\nLet m68k macs use the adb_sync boot param too.\n\nTested on Mac II, Mac IIci, Quadra 650, Quadra 700 etc.\n\nSigned-off-by: Finn Thain \u003cfthain@telegraphics.com.au\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9b307a5f4f228724edfdc6afdf566245e13dfcdb",
      "old_mode": 33188,
      "old_path": "arch/m68k/kernel/setup.c",
      "new_id": "610319356691d2fda4d8796cbcdffa3b9e18b3e7",
      "new_mode": 33188,
      "new_path": "arch/m68k/kernel/setup.c"
    },
    {
      "type": "modify",
      "old_id": "1b3bad62a1be6c623ffcc32f4d8fbb9ac97163d5",
      "old_mode": 33188,
      "old_path": "drivers/macintosh/via-macii.c",
      "new_id": "01b8eca7ccd56e33cb5dcf27605bddffd1a27f64",
      "new_mode": 33188,
      "new_path": "drivers/macintosh/via-macii.c"
    }
  ]
}
