)]}'
{
  "commit": "90fa539ca3f07323da5a90f5c8f4e5cd952875e7",
  "tree": "8d8bb5a53f2316cd36f8b4c709e7db8eafe3db89",
  "parents": [
    "231c3a1f0630c07a584905507a1cb7b705a56ab7"
  ],
  "author": {
    "name": "Felix Fietkau",
    "email": "nbd@openwrt.org",
    "time": "Mon Sep 20 13:45:38 2010 +0200"
  },
  "committer": {
    "name": "John W. Linville",
    "email": "linville@tuxdriver.com",
    "time": "Tue Sep 21 11:05:33 2010 -0400"
  },
  "message": "ath9k: clean up / fix aggregation session flush\n\nThe tid aggregation cleanup is a bit fragile, as it discards failed\nsubframes in some places, and retransmits them in others. This could\nblock the cleanup of an existing aggregation session, if a retransmission\nfor a tid is issued, yet the tid is never scheduled again because of\nthe cleanup state.\n\nFix this by getting rid of as many subframes as possible, as early\nas possible, and immediately transmitting pending subframes as regular\nHT frames instead of waiting for the cleanup to complete.\n\nDrop all pending subframes while keeping track of the Block ACK window\nduring aggregate tx completion to prevent sending out stale subframes,\nwhich could confuse the receiver side.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d629bfbdfab47bbe0182f0dc9133241a0e7b1cd0",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/ath/ath9k/xmit.c",
      "new_id": "e53433e3e4cccd0b090c130ca2cf819a93e8b5ef",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/ath/ath9k/xmit.c"
    }
  ]
}
