)]}'
{
  "commit": "04237dddd14375fce1df4bfb1be92a35aa1c247f",
  "tree": "d2c8e35c19f7cac7a1d3e5a7bc55d76835d2a7e0",
  "parents": [
    "52f6d697dc0f2c039e8413e780b0f45ddf8161fc"
  ],
  "author": {
    "name": "Michael Chan",
    "email": "mchan@broadcom.com",
    "time": "Mon Apr 25 15:17:17 2005 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Mon Apr 25 15:17:17 2005 -0700"
  },
  "message": "[TG3]: Fix tg3_restart_ints()\n\ntg3_restart_ints() is called to re-enable interrupts after tg3_poll()\nhas finished all the work. It calls tg3_cond_int() to force an interrupt\nif the status block updated bit is set. The updated bit will be set if\nthere is a new status block update sometime during tg3_poll() and it can\nbe very often. The worst part is that even if all the work has been\nprocessed, the updated bit remains set and an interrupt will be forced\nunnecessarily.\n\nThe fix is to call tg3_has_work() instead to determine if new work is\nposted before forcing an interrupt. The way to force an interrupt is\nalso changed to use \"coalesce_now\" instead of \"SETINT\". The former is\ngenerally a safer way to force the interrupt.\n\nAlso deleted the first parameter to tg3_has_work() which is unused.\n\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "92b0e4975135da3bc7571646152c26a381deef2a",
      "old_mode": 33188,
      "old_path": "drivers/net/tg3.c",
      "new_id": "903d0ced7ddb95eb4168775ff5a28ed14f210b98",
      "new_mode": 33188,
      "new_path": "drivers/net/tg3.c"
    }
  ]
}
