)]}'
{
  "commit": "e594e96e8a14101a6decabf6746bd5186287debc",
  "tree": "e5ad4ab49c5e575e9d3cdbd845dd4fe53f0c7892",
  "parents": [
    "8faa2a786a5337683109d77ccf880339fdcdb332"
  ],
  "author": {
    "name": "Roland Dreier",
    "email": "rdreier@cisco.com",
    "time": "Thu Jul 09 09:30:25 2009 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Thu Jul 09 17:16:06 2009 -0700"
  },
  "message": "cxgb3: Fix crash caused by stashing wrong netdev_queue\n\nCommit c3a8c5b6 (\"cxgb3: move away from LLTX\") exposed a bug in how\ncxgb3 looks up the netdev_queue it stashes away in a qset during\ninitialization.  For multiport devices, the TX queue index it uses is\noffset by the first_qset index of each port.  This leads to a crash\nonce LLTX is removed, since hard_start_xmit is called with one TX\nqueue lock held, while the TX reclaim timer task grabs a different\n(wrong) TX queue lock when it frees skbs.\n\nFix this by removing the first_qset offset used to look up the TX\nqueue passed into t3_sge_alloc_qset() from setup_sge_qsets().\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nAcked-by: Divy Le Ray \u003cdivy@chelsio.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "538dda4422dca039b01715e8ca10892af4954ea1",
      "old_mode": 33188,
      "old_path": "drivers/net/cxgb3/cxgb3_main.c",
      "new_id": "fb5df5c6203e9541849fce56a52abfaedfbe7391",
      "new_mode": 33188,
      "new_path": "drivers/net/cxgb3/cxgb3_main.c"
    }
  ]
}
