)]}'
{
  "commit": "1319ebadf185933e6b7ff95211d3cef9004e9754",
  "tree": "9b52363bc4eb6b97489a4913868dee0064e21249",
  "parents": [
    "ddc9f824b09d790e93a800ba29ff3462f8fb5d0b"
  ],
  "author": {
    "name": "Lennert Buytenhek",
    "email": "buytenh@wantstofly.org",
    "time": "Wed Apr 29 11:57:34 2009 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Wed Apr 29 17:24:17 2009 -0700"
  },
  "message": "mv643xx_eth: OOM handling fixes\n\nCurrently, when OOM occurs during rx ring refill, mv643xx_eth will get\ninto an infinite loop, due to the refill function setting the OOM bit\nbut not clearing the \u0027rx refill needed\u0027 bit for this queue, while the\ncalling function (the NAPI poll handler) will call the refill function\nin a loop until the \u0027rx refill needed\u0027 bit goes off, without checking\nthe OOM bit.\n\nThis patch fixes this by checking the OOM bit in the NAPI poll handler\nbefore attempting to do rx refill.  This means that once OOM occurs,\nwe won\u0027t try to do any memory allocations again until the next invocation\nof the poll handler.\n\nWhile we\u0027re at it, change the OOM flag to be a single bit instead of\none bit per receive queue since OOM is a system state rather than a\nper-queue state, and cancel the OOM timer on entry to the NAPI poll\nhandler if it\u0027s running to prevent it from firing when we\u0027ve already\ncome out of OOM.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nCc: stable@kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b3185bf2c158b41b02ad4efd6b862775c9a37637",
      "old_mode": 33188,
      "old_path": "drivers/net/mv643xx_eth.c",
      "new_id": "038beff7da80d13b6b43d24f243a791c7904fa37",
      "new_mode": 33188,
      "new_path": "drivers/net/mv643xx_eth.c"
    }
  ]
}
