)]}'
{
  "commit": "5830725f8a36908111ecccf2899d06d6dcf54d45",
  "tree": "5f06185bf908327f51e027ae35391215e6d80253",
  "parents": [
    "fc038410b4b1643766f8033f4940bcdb1dace633"
  ],
  "author": {
    "name": "Thomas Graf",
    "email": "tgraf@suug.ch",
    "time": "Thu May 10 04:02:41 2007 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@sunset.davemloft.net",
    "time": "Thu May 10 23:47:39 2007 -0700"
  },
  "message": "[NET]: Fix dev-\u003eqdisc race for NETDEV_TX_LOCKED case\n\nWhen transmit fails with NETDEV_TX_LOCKED the skb is requeued\nto dev-\u003eqdisc again. The dev-\u003eqdisc pointer is protected by\nthe queue lock which needs to be dropped when attempting to\ntransmit and acquired again before requeing. The problem is\nthat qdisc_restart() fetches the dev-\u003eqdisc pointer once and\nstores it in the `q\u0027 variable which is invalidated when\ndropping the queue_lock, therefore the variable needs to be\nrefreshed before requeueing.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3385ee5925418d73da404e429c33b20f6db9f4a1",
      "old_mode": 33188,
      "old_path": "net/sched/sch_generic.c",
      "new_id": "a8240c578772d402ea8bd510f901ff25154e4f66",
      "new_mode": 33188,
      "new_path": "net/sched/sch_generic.c"
    }
  ]
}
