)]}'
{
  "commit": "50a9432daeece6fc1309bef1dc0a7b8fde8204cb",
  "tree": "11b8bdf724dd9951391ea7f963e6539ca86ea4b6",
  "parents": [
    "4bce22b9b84032c77c7e038b07b24fcc706dfc10"
  ],
  "author": {
    "name": "Johannes Berg",
    "email": "johannes.berg@intel.com",
    "time": "Tue Nov 16 11:50:28 2010 -0800"
  },
  "committer": {
    "name": "John W. Linville",
    "email": "linville@tuxdriver.com",
    "time": "Wed Nov 17 16:19:33 2010 -0500"
  },
  "message": "mac80211: fix powersaving clients races\n\nThe code to handle powersaving stations has a race:\nwhen the powersave flag is lifted from a station,\nwe could transmit a packet that is being processed\nfor TX at the same time right away, even if there\nare other frames queued for it. This would cause\nframe reordering. To fix this, lift the flag only\nunder the appropriate lock that blocks TX.\n\nAdditionally, the code to allow drivers to block a\nstation while frames for it are on the HW queue is\nnever re-enabled the station, so traffic would get\nstuck indefinitely. Fix this by clearing the flag\nfor this appropriately.\n\nFinally, as an optimisation, don\u0027t do anything if\nthe driver unblocks an already unblocked station.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "59a1d38212fdb42531f1b05365b98a541f21e6d1",
      "old_mode": 33188,
      "old_path": "net/mac80211/ieee80211_i.h",
      "new_id": "3598abf218443535b1e7ba313cddf5f89fc576a2",
      "new_mode": 33188,
      "new_path": "net/mac80211/ieee80211_i.h"
    },
    {
      "type": "modify",
      "old_id": "902b03ee8f60789bab002691e2db69d1f8c12cf4",
      "old_mode": 33188,
      "old_path": "net/mac80211/rx.c",
      "new_id": "d2fcd22ab06d5987b228c3e1fbe99f75da4b440d",
      "new_mode": 33188,
      "new_path": "net/mac80211/rx.c"
    },
    {
      "type": "modify",
      "old_id": "6d8f897d87636c8422b23ec9447c27dbb0937096",
      "old_mode": 33188,
      "old_path": "net/mac80211/sta_info.c",
      "new_id": "eff58571fd7eb11eef08996c689d605f00585b9a",
      "new_mode": 33188,
      "new_path": "net/mac80211/sta_info.c"
    },
    {
      "type": "modify",
      "old_id": "68d0518254dd54892532491dbd362efee812f769",
      "old_mode": 33188,
      "old_path": "net/mac80211/util.c",
      "new_id": "e497476174cef2337f69a107f3dbc2b330f34708",
      "new_mode": 33188,
      "new_path": "net/mac80211/util.c"
    }
  ]
}
