)]}'
{
  "log": [
    {
      "commit": "9e73dee7d38e9fa00f6dd1492cfbbc5719378e4a",
      "tree": "1f2681c5a41e5bc732e9468fececac6806e7bfaf",
      "parents": [
        "a9d3c05cca51d80ef2b9eddabf794c9458e36c2c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon May 07 17:57:36 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 16 12:46:04 2012 -0400"
      },
      "message": "mac80211: fix TX aggregation session timer\n\nIn commit 12d3952fc4a1cd96234bc7023bf7eefeb0bb6355\n(\"mac80211: optimize aggregation session timeout handling\")\ntwo bugs were introduced:\n 1) RCU usage was completely broken since no locks are held\n 2) the timer must not rearm when agg session is stopping\n\nReported-and-tested-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nCc: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3a25a8c8b75b430c4f4022918e26fa51d557ecde",
      "tree": "d4863b7f17c2ea44fb523e29951b6bd202ddb1ad",
      "parents": [
        "4b6f1dd6a6faf4ed8d209bbd548e78b15e55aee8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Apr 03 16:28:50 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 11 16:23:50 2012 -0400"
      },
      "message": "mac80211: add improved HW queue control\n\nmac80211 currently only supports one hardware queue\nper AC. This is already problematic for off-channel\nuses since if we go off channel while the BE queue\nis full and then try to send an off-channel frame\nthe frame will never go out. This will become worse\nwhen we support multi-channel since then a queue on\none channel might be full, but we have to stop the\nsoftware queue for all channels. That is obviously\nnot desirable.\n\nTo address this problem allow drivers to register\nmore hardware queues, and allow them to map them to\nvirtual interfaces. When they stop a hardware queue\nthe corresponding AC software queues on the correct\ninterfaces will be stopped as well. Additionally,\nthere\u0027s an off-channel queue to solve that problem\nand a per-interface after-DTIM beacon queue. This\nallows drivers to manage software queues closer to\nhow the hardware works.\n\nCurrently, there\u0027s a limit of 16 hardware queues.\nThis may or may not be sufficient, we can adjust it\nas needed.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "12d3952fc4a1cd96234bc7023bf7eefeb0bb6355",
      "tree": "5c3437e1f996a5c772b286530a3fce547a7d40f2",
      "parents": [
        "fcb2c9e1025cd529890303ffbde813a98cdffed4"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sun Mar 18 22:58:06 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 09 16:09:36 2012 -0400"
      },
      "message": "mac80211: optimize aggregation session timeout handling\n\nCalling mod_timer from the rx/tx hotpath is somewhat expensive, and the\ntimeout doesn\u0027t need to be so precise.\n\nSwitch to a different strategy: Schedule the timer initially, store jiffies\nof all last rx/tx activity which would previously modify the timer, and\nlet the timer re-arm itself after checking the last rx/tx timestamp.\nMake the session timers deferrable to avoid causing extra wakeups on systems\nrunning on battery.\nThis visibly reduces CPU load under high network load on small embedded\nsystems.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "84381b4ed58498e1e3d49a4a306fec9894b8e00c",
      "tree": "3a11594d7becb06f2cc0344f13fb4ac06c0e4177",
      "parents": [
        "9662cbc712babe3f7a792af2bdd47fa0c631f27f"
      ],
      "author": {
        "name": "Nikolay Martynov",
        "email": "mar.kolya@gmail.com",
        "time": "Sat Dec 17 19:39:35 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 19 14:31:37 2011 -0500"
      },
      "message": "mac80211: split addba retries in time\n\n  Currently code allows three (HT_AGG_MAX_RETRIES) unanswered addba\nrequests. When this limit is reached aggregation is turned off for\ngiven TID permanently. This doesn\u0027t seem right: three requests is\nnot that much, some \u0027blackout\u0027 can happen, but effect of it affects\nwhole connection indefinitely.\n  This patch increases number of retries to 15. Also, when there have\nbeen 3 or more retries it splits further retries apart by 15 seconds\ninstead of sending them in very short period of time.\n\nSigned-off-by: Nikolay Martynov \u003cmar.kolya@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cf6bb79ad8287cd9fe8783aa8c9afdc9f6799657",
      "tree": "771c8d4bfe3e2dc760210ef3672e709c67275d08",
      "parents": [
        "4d33960bf9fa2c0ee82ba7120e7b56c766dd3a86"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Dec 15 10:18:34 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Dec 15 14:46:35 2011 -0500"
      },
      "message": "mac80211: Use appropriate TID for sending BAR, ADDBA and DELBA frames\n\nCurrently BAR, ADDBA and DELBA frames are always sent using AC_VO. If\nthe TID for which a BA session is established is assigned to a different\nqueue BAR, ADDBA and DELBA frames can \"overtake\" frames of the according\nBA session.\n\nHence, always put BA session related frames into the same queue as the\nBA sessions data frames.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5d22df200beccb1dea26fe4d8684ed93ae2f0aeb",
      "tree": "05220b08a0c9d170ad88e3b9ed0390750d22d8ea",
      "parents": [
        "8b1fdb53075bd794a209a611bc94aedaf7ecf9e2",
        "78feb35b8161acd95c33a703ed6ab6f554d29387"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 14 14:35:41 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 14 14:35:41 2011 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-agn.c\n"
    },
    {
      "commit": "42624d4913a00219a8fdbb4bafd634d1d843be85",
      "tree": "0cf641329ff23e4ca159e44506ffa74cf9f9b623",
      "parents": [
        "adbde344dc12514d68620afae8d34035e72544b1"
      ],
      "author": {
        "name": "Yogesh Ashok Powar",
        "email": "yogeshp@marvell.com",
        "time": "Thu Dec 08 14:56:15 2011 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 13 15:30:33 2011 -0500"
      },
      "message": "mac80211: Purge A-MPDU TX queues before station destructions\n\nWhen a station leaves suddenly while ampdu traffic to that station is still\nrunning, there is a possibility that the ampdu pending queues are not freed due\nto a race condition leading to memory leaks. In \u0027__sta_info_destroy\u0027 when we\nattempt to destroy the ampdu sessions in \u0027ieee80211_sta_tear_down_BA_sessions\u0027,\nthe driver calls \u0027ieee80211_stop_tx_ba_cb_irqsafe\u0027 to delete the ampdu\nstructures (tid_tx) and splice the pending queues and this job gets queued in\nsdata workqueue. However, the sta entry can get destroyed before the above work\ngets scheduled and hence the race.\n\nPurging the queues and freeing the tid_tx to avoid the leak. The better solution\nwould be to fix the race, but that can be taken up in a separate patch.\n\nSigned-off-by: Nishant Sarmukadam \u003cnishants@marvell.com\u003e\nSigned-off-by: Yogesh Ashok Powar \u003cyogeshp@marvell.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "15062e6a8524f5977f2cbdf6e3eb2f144262f74e",
      "tree": "264d7fec9152ea4ce7cb176be94dc7a5e332093a",
      "parents": [
        "162d12de656bc76786ba5fad6dac7bd238de9657"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Dec 07 09:02:21 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 07 15:09:53 2011 -0500"
      },
      "message": "mac80211: fix another race in aggregation start\n\nEmmanuel noticed that when mac80211 stops the queues\nfor aggregation that can leave a packet pending. This\npacket will be given to the driver after the AMPDU\ncallback, but as a non-aggregated packet which messes\nup the sequence number etc.\n\nI also noticed by looking at the code that if packets\nare being processed while we clear the WANT_START bit,\nthey might see it cleared already and queue up on\ntid_tx-\u003epending. If the driver then rejects the new\naggregation session we leak the packet.\n\nFix both of these issues by changing this code to not\nstop the queues at all. Instead, let packets queue up\non the tid_tx-\u003epending queue instead of letting them\nget to the driver, and add code to recover properly\nin case the driver rejects the session.\n\n(The patch looks large because it has to move two\nfunctions to before their new use.)\n\nCc: stable@vger.kernel.org\nReported-by: Emmanuel Grumbach \u003cemmanuel.grumbach@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "13c40c54682ffe62977f670681268a26d500d6fa",
      "tree": "4aa8897bc4054f13a637f2f29a1555c3501b3e97",
      "parents": [
        "ff3cc5f40f36db1a60a8f1051be7fbc92233419b"
      ],
      "author": {
        "name": "Alexander Simon",
        "email": "an.alexsimon@googlemail.com",
        "time": "Wed Nov 30 16:56:34 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 06 16:05:25 2011 -0500"
      },
      "message": "mac80211: Add HT operation modes for IBSS\n\nThe HT mode is set by iw (previous patchsets).\nThe interface is set into the specified HT mode.\nHT mode and capabilities are announced in beacons.\n\nIf we add a station that uses HT also, the fastest matching HT mode will\nbe used for transmission. That means if we are using HT40+ and we add a station\nrunning on HT40-, we would transfer at HT20.\n\nIf we join an IBSS with HT40, but the secondary channel is not\navailable, we will fall back into HT20 as well.\n\nAllow frame aggregation to start in IBSS mode.\n\nSigned-off-by: Alexander Simon \u003can.alexsimon@googlemail.com\u003e\n[siwu@hrz.tu-chemnitz.de: Updates]\n* remove implicit channel_type enum assumptions\n* use rate_control_rate_init() if channel type changed\n* remove channel flags check\n* activate HT IBSS feature support\n* slightly reword commit message\n* rebase on wireless-testing\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Mathias Kretschmer \u003cmathias.kretschmer@fokus.fraunhofer.de\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ff3cc5f40f36db1a60a8f1051be7fbc92233419b",
      "tree": "9348704f13be3aa3985aa1dc54cb8bf7e4d9af32",
      "parents": [
        "54858ee5bf659f80a784303e41ee8898fd163f98"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "simon.wunderlich@s2003.tu-chemnitz.de",
        "time": "Wed Nov 30 16:56:33 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 06 16:05:25 2011 -0500"
      },
      "message": "mac80211: handle protection mode, RIFS and ADDBA for HT IBSS\n\n* Follow 802.11n-2009 9.13.3.1 for protection mode and ADDBA\n* Send ADDBA only to HT STAs - implement 11.5.1.1 partially\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Mathias Kretschmer \u003cmathias.kretschmer@fokus.fraunhofer.de\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d7a4858c0fde8383f7aa494eda0fba6bef3f2fec",
      "tree": "2cbf6915ea069ada4e3e1bca0b91b12e06500681",
      "parents": [
        "ba5736a5e9ac20c378ae4179e8a0ed3cc4b44351",
        "9995ffe5f5fdddcc73e4465cc3f8b38714df8108"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 02 15:44:03 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 02 15:44:03 2011 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-agn.c\n\tdrivers/net/wireless/libertas/cfg.c\n"
    },
    {
      "commit": "bc192f8918ab8e41ba53b9ef881bc425ae92ed1b",
      "tree": "a7a0e2e7eefda7fefdd1942821b9d71ab7610a5c",
      "parents": [
        "5ccc32ff46065f031075cdbbdfe21b9e3b05aaad"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Wed Nov 23 21:09:49 2011 +0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 28 14:43:52 2011 -0500"
      },
      "message": "mac80211: do not pass AP VLAN vif pointers to drivers\n\nThis fixes frequent WARN_ONs when using AP VLAN + aggregation, as these vifs\nare virtual and not registered with drivers.\nUse sta_info_get_bss instead of sta_info_get in aggregation callbacks, so\nthat these callbacks can find the station entry when called with the AP vif.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "285fa6958c1d56469ec8a0e879ae7487a4e62840",
      "tree": "c0c335499809c2b90ef145576e726543c508e67c",
      "parents": [
        "94c2fb82bd7c9055bec8e410c387befce33d1299"
      ],
      "author": {
        "name": "Nikolay Martynov",
        "email": "mar.kolya@gmail.com",
        "time": "Tue Nov 22 21:50:28 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 28 14:43:49 2011 -0500"
      },
      "message": "mac80211: timeout tx agg sessions in way similar to rx agg sessions\n\n  Currently tx aggregation is not being timed out even if timeout is\nspecified when aggregation is opened. Tx tid stays active until delba\narrives from recipient (i.e. recipient times out tid when it is\ninactive).\n  The problem with this approach is that delba can get lost in the air\nand tx tid will stay perpetually opened on the originator while closed\non recipient thus all data sent via this tid will be lost.\n  This patch implements tx tid timeouting in way very similar to rx tid\ntimeouting.\n\nSigned-off-by: Nikolay Martynov \u003cmar.kolya@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2a1e0fd175dcfd72096ba9291d31e3b1b5342e60",
      "tree": "75d1125cffd90d1af3213aa089049139a04b5536",
      "parents": [
        "d305a6557b2c4dca0110f05ffe745b1ef94adb80"
      ],
      "author": {
        "name": "Emmanuel Grumbach",
        "email": "emmanuel.grumbach@intel.com",
        "time": "Sun Nov 27 15:29:44 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 28 13:46:41 2011 -0500"
      },
      "message": "mac80211: fix race between the AGG SM and the Tx data path\n\nWhen a packet is supposed to sent be as an a-MPDU, mac80211 sets\nIEEE80211_TX_CTL_AMPDU to let the driver know. On the other\nhand, mac80211 configures the driver for aggregration with the\nampdu_action callback.\nThere is race between these two mechanisms since the following\nscenario can occur when the BA agreement is torn down:\n\nTx softIRQ\t \t\t\tdrv configuration\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\t\t\t\t\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\ncheck OPERATIONAL bit\nSet the TX_CTL_AMPDU bit in the packet\n\n\t\t\t\t\tclear OPERATIONAL bit\n\t\t\t\t\tstop Tx AGG\nPass Tx packet to the driver.\n\nIn that case the driver would get a packet with TX_CTL_AMPDU set\nalthough it has already been notified that the BA session has been\ntorn down.\n\nTo fix this, we need to synchronize all the Qdisc activity after we\ncleared the OPERATIONAL bit. After that step, all the following\npackets will be buffered until the driver reports it is ready to get\nnew packets for this RA / TID. This buffering allows not to run into\nanother race that would send packets with TX_CTL_AMPDU unset while\nthe driver hasn\u0027t been requested to tear down the BA session yet.\n\nThis race occurs in practice and iwlwifi complains with a WARN_ON\nwhen it happens.\n\nCc: stable@kernel.org\nSigned-off-by: Emmanuel Grumbach \u003cemmanuel.grumbach@intel.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d305a6557b2c4dca0110f05ffe745b1ef94adb80",
      "tree": "5b4f95d4c8f2535d5971aaff0cde15a96695a1f1",
      "parents": [
        "a73228124bed4022d4d4c5663d9679ba2fb99c6c"
      ],
      "author": {
        "name": "Nikolay Martynov",
        "email": "mar.kolya@gmail.com",
        "time": "Mon Nov 28 09:18:00 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 28 13:46:41 2011 -0500"
      },
      "message": "mac80211: fix race condition caused by late addBA response\n\nIf addBA responses comes in just after addba_resp_timer has\nexpired mac80211 will still accept it and try to open the\naggregation session. This causes drivers to be confused and\nin some cases even crash.\n\nThis patch fixes the race condition and makes sure that if\naddba_resp_timer has expired addBA response is not longer\naccepted and we do not try to open half-closed session.\n\nCc: stable@vger.kernel.org\nSigned-off-by: Nikolay Martynov \u003cmar.kolya@gmail.com\u003e\n[some adjustments]\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "24f50a9d165745fd0701c6e089d35f58a229ea69",
      "tree": "f43007765e54da07e5da5a5801d77fea168baa92",
      "parents": [
        "e007b857e88097c96c45620bf3b04a4e309053d1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Nov 24 20:06:14 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 28 13:46:41 2011 -0500"
      },
      "message": "mac80211: don\u0027t stop a single aggregation session twice\n\nNikolay noticed (by code review) that mac80211 can\nattempt to stop an aggregation session while it is\nalready being stopped. So to fix it, check whether\nstop is already being done and bail out if so.\n\nAlso move setting the STOPPING state into the lock\nso things are properly atomic.\n\nCc: stable@vger.kernel.org\nReported-by: Nikolay Martynov \u003cmar.kolya@gmail.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "515db09338704a6ad7d27b5f1e33820d3052edd2",
      "tree": "74f915531710303397d34069b325c2be7a5ac93c",
      "parents": [
        "30be52e44fd4276d768efffb55d424fb682e6505",
        "cfcfc9eca2bcbd26a8e206baeb005b055dbf8e37"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 22 14:05:46 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 22 14:05:46 2011 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux\n\nConflicts:\n\tdrivers/net/wireless/iwlegacy/iwl-debugfs.c\n\tdrivers/net/wireless/iwlegacy/iwl-rx.c\n\tdrivers/net/wireless/iwlegacy/iwl-scan.c\n\tdrivers/net/wireless/iwlegacy/iwl-tx.c\n\tinclude/net/bluetooth/bluetooth.h\n"
    },
    {
      "commit": "ae2772b313b98a14f69b5bc67135c9fee48771be",
      "tree": "b219dba159c95c5de70c0c84e7aec3f23a70b108",
      "parents": [
        "739522baa1d6804a3ff33e8c135db0e6b2165f75"
      ],
      "author": {
        "name": "Thomas Pedersen",
        "email": "thomas@cozybit.com",
        "time": "Wed Oct 26 14:47:29 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 08 15:55:27 2011 -0500"
      },
      "message": "mac80211: allow frame aggregation for mesh\n\nSigned-off-by: Thomas Pedersen \u003cthomas@cozybit.com\u003e\nSigned-off-by: Ashok Nagarajan \u003canagar6@uic.edu\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bc3b2d7fb9b014d75ebb79ba371a763dbab5e8cf",
      "tree": "b0fd4e724bdb1c0a1783616614ae5a9dec1cfa5c",
      "parents": [
        "d9b9384215e17c68d7b6bd05d6fa409e5d4140d7"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Jul 15 11:47:34 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:30 2011 -0400"
      },
      "message": "net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules\n\nThese files are non modular, but need to export symbols using\nthe macros now living in export.h -- call out the include so\nthat things won\u0027t break when we remove the implicit presence\nof module.h from everywhere.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "c2c98fdeb5c897499644eb247285c8e3dacc6450",
      "tree": "aaa9c0f8dd16ab896308470e21a0813041094670",
      "parents": [
        "deeaee197b0fa694ba6c8f02cdb57b3be7115b4f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 29 16:04:36 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 30 15:57:19 2011 -0400"
      },
      "message": "mac80211: optimise station flags\n\nThe flaglock in struct sta_info has long been\nsomething that I wanted to get rid of, this\nfinally does the conversion to atomic bitops.\n\nThe conversion itself is straight-forward in\nmost places, a few things needed to change a\nbit since we can no longer use multiple bits\nat the same time.\n\nOn x86-64, this is a fairly significant code\nsize reduction:\n   text\t   data\t    bss\t    dec\t    hex\n 427861\t  23648\t   1008\t 452517\t  6e7a5\tbefore\n 425383\t  23648\t    976\t 450007\t  6ddd7\tafter\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8c771244fbab51661da7dbbabfa5dceffb3e3cce",
      "tree": "10a8ac0c5fa3b05c82a614548832f2fec7d81261",
      "parents": [
        "d7549cbb9ab0674ef44ea15bd9f9ea1c685adfa6"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sat Aug 20 15:53:55 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 14 13:56:16 2011 -0400"
      },
      "message": "mac80211: make ieee80211_send_bar available for drivers\n\nTo properly maintain the peer\u0027s block ack window, the driver needs to be\nable to control the new starting sequence number that is sent along with\nthe BlockAckReq frame.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "edf6b784c0e574696915e7b04fe42158f3112d0d",
      "tree": "d423c979f0c87ba04891349c08d95573b43f90aa",
      "parents": [
        "24616152b1d184864370c5ea21f8fdbd5a90d58d"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Tue Aug 30 09:32:38 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 13 15:45:03 2011 -0400"
      },
      "message": "mac80211: add flag to indicate HW only Tx-agg setup support\n\nWhen this flag is set, Tx A-MPDU sessions will not be started by\nmac80211. This flag is required for devices that support Tx A-MPDU setup\nin hardware.\n\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d15b84590a1d2ec021ada00a0e67ee5851a0ea2b",
      "tree": "2a05aed04345641fec0647c409779345ef0166f3",
      "parents": [
        "239289e446d4e86ae94b1ca57e358b106cc4bee6"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Aug 29 14:17:31 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 13 15:45:02 2011 -0400"
      },
      "message": "mac80211: Remove unnecessary OOM logging messages\n\nRemoving unnecessary messages saves code and text.\n\nSite specific OOM messages are duplications of a generic MM\nout of memory message and aren\u0027t really useful, so just\ndelete them.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c1407b6cb22245ae8653cfc195530a9b8eb52879",
      "tree": "dc022758c715489691a0c4e5a927c1fa3398fd36",
      "parents": [
        "2a190322d4390bbd5184a2fd4f97bbef9f1f5b4e"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Aug 11 16:17:41 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 22 14:45:58 2011 -0400"
      },
      "message": "wireless: Introduce defines for BAR TID_INFO \u0026 MULTI_TID fields\n\nWhile at it also fix the indention of the other IEEE80211_BAR_CTRL_ defines.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3ca97880ea7af47be479aadfe896cafc54939708",
      "tree": "2d612c1961ca450dcfff5311df087797ec40724f",
      "parents": [
        "191d6a8cc2d282db3707e9c71f49815ccdc79c54"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Tue Jul 26 12:18:27 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 08 16:04:08 2011 -0400"
      },
      "message": "mac80211: Stop TX BA session if buf_size is zero\n\nIf we receive an ADDBA response with status code 0 and a buf_size of 0\nwe should stop the TX BA session as otherwise we\u0027ll end up queuing\nframes in ieee80211_tx_prep_agg forever instead of sending them out as\nnon AMPDUs.\n\nThis fixes a problem with AVM Fritz Stick N wireless devices where\nframes to this device are not transmitted anymore by mac80211.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "06f4e926d256d902dd9a53dcb400fd74974ce087",
      "tree": "0b438b67f5f0eff6fd617bc497a9dace6164a488",
      "parents": [
        "8e7bfcbab3825d1b404d615cb1b54f44ff81f981",
        "d93515611bbc70c2fe4db232e5feb448ed8e4cc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1446 commits)\n  macvlan: fix panic if lowerdev in a bond\n  tg3: Add braces around 5906 workaround.\n  tg3: Fix NETIF_F_LOOPBACK error\n  macvlan: remove one synchronize_rcu() call\n  networking: NET_CLS_ROUTE4 depends on INET\n  irda: Fix error propagation in ircomm_lmp_connect_response()\n  irda: Kill set but unused variable \u0027bytes\u0027 in irlan_check_command_param()\n  irda: Kill set but unused variable \u0027clen\u0027 in ircomm_connect_indication()\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_transport()\n  be2net: Kill set but unused variable \u0027req\u0027 in lancer_fw_download()\n  irda: Kill set but unused vars \u0027saddr\u0027 and \u0027daddr\u0027 in irlan_provider_connect_indication()\n  atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined.\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_peer().\n  rxrpc: Kill set but unused variable \u0027local\u0027 in rxrpc_UDP_error_handler()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_process_connection()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_rotate_tx_window()\n  pkt_sched: Kill set but unused variable \u0027protocol\u0027 in tc_classify()\n  isdn: capi: Use pr_debug() instead of ifdefs.\n  tg3: Update version to 3.119\n  tg3: Apply rx_discards fix to 5719/5720\n  ...\n\nFix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c\nas per Davem.\n"
    },
    {
      "commit": "40b275b69ee660274b77fb612b0db31fd282fc3f",
      "tree": "29a4f82a44a12edcf9db5de6a3c6df9615a5799e",
      "parents": [
        "ec034b208dc8aa5dc73ec46c3f27e34c5efbf113"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri May 13 14:15:49 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 16 14:10:41 2011 -0400"
      },
      "message": "mac80211: sparse RCU annotations\n\nThis adds sparse RCU annotations to most of\nmac80211, only the mesh code remains to be\ndone.\n\nDue the the previous patches, the annotations\nare pretty simple. The only thing that this\nactually changes is removing the RCU usage of\nkey-\u003esta in debugfs since this pointer isn\u0027t\nactually an RCU-managed pointer (it only has\na single assignment done before the key even\ngoes live). As that is otherwise harmless, I\ndecided to make it part of this patch.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ec034b208dc8aa5dc73ec46c3f27e34c5efbf113",
      "tree": "56140fc3a4115441822b5cc2aa9de5224bcb8654",
      "parents": [
        "7527a782e187d1214a5b3dc2897ce441033bb4ef"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri May 13 13:35:40 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 16 14:10:40 2011 -0400"
      },
      "message": "mac80211: fix TX a-MPDU locking\n\nDuring my quest to make mac80211 not have any RCU\nwarnings from sparse, I came across the a-MPDU code\nagain and it wasn\u0027t quite clear why it isn\u0027t racy.\nSo instead of assigning the tid_tx array with just\nthe spinlock held in ieee80211_start_tx_ba_session\nuse a separate temporary array protected only by\nthe spinlock and protect all assignments to the\n\"live\" array by both the spinlock and the mutex so\nthat other code is easily verified to be correct.\n\nDue to pointer assignment atomicity I don\u0027t think\nthis is a real issue, but I\u0027m not sure, especially\non Alpha the current code might be problematic.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0744371aeba7a5004006c2309971ee026c0b2000",
      "tree": "11306cb2ded7cf4fa9e6115e08caaaa515530664",
      "parents": [
        "88b4a0347a81539884df5ad535e10cf9fa87d8d4"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 18:02:42 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:51:13 2011 -0700"
      },
      "message": "net,rcu: convert call_rcu(kfree_tid_tx) to kfree_rcu()\n\nThe rcu callback kfree_tid_tx() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(kfree_tid_tx).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nAcked-by: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5dd36bc933e8be84f8369ac64505a2938f9ce036",
      "tree": "11538bafde53b6189da2af10d2f8a21c1b57565e",
      "parents": [
        "0b01f030d38e00650e2db42da083d8647aad40a5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jan 18 13:52:23 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 19 11:36:12 2011 -0500"
      },
      "message": "mac80211: allow advertising correct maximum aggregate size\n\nCurrently, mac80211 always advertises that it may send\nup to 64 subframes in an aggregate. This is fine, since\nit\u0027s the max, but might as well be set to zero instead\nsince it doesn\u0027t have any information.\n\nHowever, drivers might have that information, so allow\nthem to set a variable giving it, which will then be\nused. The default of zero will be fine since to the\npeer that means we don\u0027t know and it will just use its\nown limit for the buffer size.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0b01f030d38e00650e2db42da083d8647aad40a5",
      "tree": "14519750d9b6cdb046624dd87d5323a4826821e2",
      "parents": [
        "ac1bd8464f161ed1475ef73c431b926256c6b5bb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jan 18 13:51:05 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 19 11:36:11 2011 -0500"
      },
      "message": "mac80211: track receiver\u0027s aggregation reorder buffer size\n\nThe aggregation code currently doesn\u0027t implement the\nbuffer size negotiation. It will always request a max\nbuffer size (which is fine, if a little pointless, as\nthe mac80211 code doesn\u0027t know and might just use 0\ninstead), but if the peer requests a smaller size it\nisn\u0027t possible to honour this request.\n\nIn order to fix this, look at the buffer size in the\naddBA response frame, keep track of it and pass it to\nthe driver in the ampdu_action callback when called\nwith the IEEE80211_AMPDU_TX_OPERATIONAL action. That\nway the driver can limit the number of subframes in\naggregates appropriately.\n\nNote that this doesn\u0027t fix any drivers apart from the\naddition of the new argument -- they all need to be\nupdated separately to use this variable!\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bd2ce6e43f65127bc723e7fcc044758cf8113260",
      "tree": "46eeb3f454619549d563addd8eff3b4d5475179f",
      "parents": [
        "a293911d4fd5e8593dbf478399a77f990d466269"
      ],
      "author": {
        "name": "Sujith Manoharan",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Wed Dec 15 07:47:10 2010 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 15 17:03:59 2010 -0500"
      },
      "message": "mac80211: Add timeout to BA session start API\n\nAllow drivers or rate control algorithms to specify BlockAck session\ntimeout when initiating an ADDBA transaction. This is useful in cases\nwhere maintaining persistent BA sessions does not incur any overhead.\n\nThe current timeout value of 5000 TUs is retained for all non ath9k/ath9k_htc\ndrivers.\n\nSigned-off-by: Sujith Manoharan \u003cSujith.Manoharan@atheros.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "53f73c09d64f1fa7d7e6e8b6bb7468d42eddc92d",
      "tree": "a9284928f65ad33b3cbef9625871bb0c0116f875",
      "parents": [
        "845d708e62f08a45ff716fdb270c52585cad31d0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Oct 05 19:37:40 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 06 16:30:40 2010 -0400"
      },
      "message": "mac80211: avoid transmitting delBA to old AP\n\nWhen roaming while we have active BA session,\nwe can end up transmitting delBA frames to\nthe old AP while we\u0027re already on the new AP\u0027s\nchannel, which can cause warnings.\n\nSimply avoid sending those frames, but still\ntear down the internal session state, since\nthey are not really necessary anyway as we\nwill implicitly disassociate when sending the\nassociation to the new AP.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "44271488b91c9eecf249e075a1805dd887e222d2",
      "tree": "7c0bb66a9ac50d2f583f4020847d6f7c69563b44",
      "parents": [
        "918df629d6a558ab9eb53350493f618812239a4c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Oct 05 21:40:33 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 06 15:58:29 2010 -0400"
      },
      "message": "mac80211: delete AddBA response timer\n\nWe never delete the addBA response timer, which\nis typically fine, but if the station it belongs\nto is deleted very quickly after starting the BA\nsession, before the peer had a chance to reply,\nthe timer may fire after the station struct has\nbeen freed already. Therefore, we need to delete\nthe timer in a suitable spot -- best when the\nsession is being stopped (which will happen even\nthen) in which case the delete will be a no-op\nmost of the time.\n\nI\u0027ve reproduced the scenario and tested the fix.\n\nThis fixes the crash reported at\nhttp://mid.gmane.org/4CAB6F96.6090701@candelatech.com\n\nCc: stable@kernel.org\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "73a72a81d27b71f9ace31668d2dd7f3ac1c8228e",
      "tree": "114b1a333c53a328d1a55551ea591fe8f3b5d2d7",
      "parents": [
        "85ad181ea78861f69b007599cec9e6ba33fcdf8a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:50 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:28 2010 -0400"
      },
      "message": "mac80211: update aggregation documentation\n\nEven before the recent changes, the documentation\nfor TX aggregation was somewhat out of date. Update\nit and also add documentation for the RX side.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cfcdbde35e2b621cf56bedc38a3a81e8c28addb9",
      "tree": "cd0664681dc4629f7ce9a3319868eebb005060ff",
      "parents": [
        "83a5cbf73a13d0c8be019b22afec4407e4285aed"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:48 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:28 2010 -0400"
      },
      "message": "mac80211: change TX aggregation locking\n\nTo prepare for allowing drivers to sleep in\nampdu_action, change the locking in the TX\naggregation code to use the mutex the RX part\nalready uses. The spinlock is still necessary\naround some code to avoid races with TX, but\nnow we can also synchronize_net() to avoid\ngetting an inconsistent sequence number.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "83a5cbf73a13d0c8be019b22afec4407e4285aed",
      "tree": "3ac77e38aa5dd7891b101f45e963df7b9a5b9d38",
      "parents": [
        "a93e364430de7f7a5f4eedd604ad1ab3d825dde5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:47 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:28 2010 -0400"
      },
      "message": "mac80211: defer TX agg session teardown to work\n\nSince we want the code to be able to sleep\nin the future, it must not be called from\nthe timer directly. To achieve that, simply\ncall the function drivers would call, and\nalso use RCU in the timer to get the struct\nso we don\u0027t need to rely on the spinlock in\nthe future.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "67c282c00c9c06733aae229662d209957f6d23a7",
      "tree": "698270941e46c873e2c34fda0428ea457cd1926b",
      "parents": [
        "0ab337032a0dfcd5f2527d3306d3deeba5f95b59"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:43 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:27 2010 -0400"
      },
      "message": "mac80211: move BA session work\n\nMove the block-ack session works into common\ncode, since it will be needed for RX agg too\nin the next patches.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0ab337032a0dfcd5f2527d3306d3deeba5f95b59",
      "tree": "88795edc149fd88574fece0c8f23774ee8a9155c",
      "parents": [
        "a6a67db2bc89d2b1ff07e0817f11235c20d2c329"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:42 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:27 2010 -0400"
      },
      "message": "mac80211: make TX aggregation start/stop request async\n\nWhen the driver or rate control requests starting\nor stopping an aggregation session, that currently\ncauses a direct callback into the driver, which\ncould potentially cause locking problems. Also,\nthe functions need to be callable from contexts\nthat cannot sleep, and thus will interfere with\nmaking the ampdu_action callback sleeping.\n\nTo address these issues, add a new work item for\neach station that will process any start or stop\nrequests out of line.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a6a67db2bc89d2b1ff07e0817f11235c20d2c329",
      "tree": "1096c42ede83af4dbae34387246f91c0d6649baf",
      "parents": [
        "5d22c89b9bea17a0e48e7534a9b237885e2c0809"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:41 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:27 2010 -0400"
      },
      "message": "mac80211: refcount aggregation queue stop\n\nmac80211 currently maintains the ampdu_lock to\navoid starting a queue due to one aggregation\nsession while another aggregation session needs\nthe queue stopped.\n\nWe can do better, however, and instead refcount\nthe queue stops for this particular purpose,\nthus removing the need for the lock. This will\nhelp making ampdu_action able to sleep.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5d22c89b9bea17a0e48e7534a9b237885e2c0809",
      "tree": "ed4f1de2efaa41368a2774adc0e07d903f65ed98",
      "parents": [
        "a622ab72b4dcfdf53e24b16e9530cb876979a00c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:40 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:27 2010 -0400"
      },
      "message": "mac80211: remove non-irqsafe aggregation callbacks\n\nThe non-irqsafe aggregation start/stop done\ncallbacks are currently only used by ath9k_htc,\nand can cause callbacks into the driver again.\nThis might lead to locking issues, which will\nonly get worse as we modify locking. To avoid\ntrouble, remove the non-irqsafe versions and\nchange ath9k_htc to use those instead.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a622ab72b4dcfdf53e24b16e9530cb876979a00c",
      "tree": "170d2ccf3a594f3675b5fa58378319031054e806",
      "parents": [
        "a87f736d942c86255e3088c606f0e3eab6bbf784"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:39 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:27 2010 -0400"
      },
      "message": "mac80211: use RCU for TX aggregation\n\nCurrently we allocate some memory for each TX\naggregation session and additionally keep a\nstate bitmap indicating the state it is in.\nBy using RCU to protect the pointer, moving\nthe state into the structure and some locking\ntrickery we can avoid locking when the TX agg\nsession is fully operational.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c1475ca99edcc7216ddc45838ab2c3281c14ba22",
      "tree": "3f1a5fd9c2fce428382cf49e3140c281a49e006b",
      "parents": [
        "344eec67c7b8557234e149d254bca2ae9614d61e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:37 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:27 2010 -0400"
      },
      "message": "mac80211: move aggregation callback processing\n\nThis moves the aggregation callback processing\nto the per-sdata skb queue and a work function\nrather than the tasklet.\n\nUnfortunately, this means that it extends the\npkt_type hack to that skb queue. However, it\nwill enable making ampdu_action API changes\ngradually, my current plan is to get rid of\nthis again by forcing drivers to only return\nfrom ampdu_action() when everything is done,\nthus removing the callbacks completely.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2a419056c15478d2df3f3e9d4fa64e34eb1faa7d",
      "tree": "680342d6b883c18eec9003f2b93abd8ffd1e6ae6",
      "parents": [
        "9d38d85de0270e3927bffab94973a9c78d1dc800"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:29 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:38:16 2010 -0400"
      },
      "message": "mac80211: simplify station/aggregation code\n\nA number of places use RCU locking for accessing\nthe station list, even though they do not need\nto. Use mutex locking instead to prepare for the\nlocking changes I want to make. The mlme code is\nalso using a WLAN_STA_DISASSOC flag that has the\nsame meaning as WLAN_STA_BLOCK_BA, so use that.\n\nWhile doing so, combine places where we loop\nover stations twice, and optimise away some of\nthe loops by checking if the hardware supports\naggregation at all first.\n\nAlso fix a more theoretical race condition: right\nnow we could resume, set up an aggregation session,\nand right after tear it down again due to the code\nthat is needed for hardware reconfiguration here.\nAlso mark add a comment to that code marking it as\na workaround.\n\nFinally, remove a pointless aggregation disabling\nloop when an interface is stopped, directly after\nthat we remove all stations from it which will also\ndisable all aggregation sessions that may still be\nactive, and does so in a race-free way unlike the\ncurrent loop that doesn\u0027t block new sessions.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9d88477c41904127ab9ae1f3b5b4a39bf6474043",
      "tree": "f50d5185ac89a9fd76d7cb087b952d5c55d5063b",
      "parents": [
        "11b7c60988e5fbabb4e150612931cc068559af16",
        "35dd0509b21e4b5bab36b9eb80c8dab0322f5007"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 07 15:13:46 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 07 15:13:46 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-core.h\n"
    },
    {
      "commit": "6a8579d0e62c0eac428184ce45e86bc46677724a",
      "tree": "192d3adc84985598ad6006df43d246adce002f7e",
      "parents": [
        "2b2c009ecf71f4c66ff8420b63dddbc9737e04e3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu May 27 14:41:07 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 03 14:10:45 2010 -0400"
      },
      "message": "mac80211: clean up ieee80211_stop_tx_ba_session\n\nThere\u0027s no sense in letting anything but internal\nmac80211 functions set the initiator to anything\nbut WLAN_BACK_INITIATOR, since WLAN_BACK_RECIPIENT\nis only valid when we have received a frame from\nthe peer, which we react to directly in mac80211.\n\nThe debugfs code I recently added got this wrong\nas well.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "51a0d38de26226f2779912d92f155b93d539da9a",
      "tree": "9f74cc26000dcebf79c93081c9afa62b787895ff",
      "parents": [
        "8ae5977ff95c03fe6c36a5721c57dcb4bfe4f290"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon May 31 12:00:12 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 01 14:33:02 2010 -0400"
      },
      "message": "mac80211: fix dialog token allocator\n\nThe dialog token allocator has apparently been broken\nsince b83f4e15 (\"mac80211: fix deadlock in sta-\u003elock\")\nbecause it got moved out under the spinlock. Fix it.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3b51cc996e81d8a113416d8094fa4a88f8360a51",
      "tree": "e75b98b228bb4e456c30673fcc4b56ffa1d09cf5",
      "parents": [
        "c68ed255265968c3948fa2678bf59d15c471b055",
        "672724403b42da1d276c6cf811e8e34d15efd964"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 23 14:43:45 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 23 14:43:45 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/phy.c\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tdrivers/net/wireless/iwlwifi/iwl-debugfs.c\n"
    },
    {
      "commit": "87eb367003887cdc81a5d183efea227b5b488961",
      "tree": "40f617e25a9364d573e3cd2189c9e7fa56c8a0fe",
      "parents": [
        "ccb7c7732e2ceb4e81a7806faf1670be9681ccd2",
        "05d17608a69b3ae653ea5c9857283bef3439c733"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:14:25 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:14:25 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tnet/core/dev.c\n"
    },
    {
      "commit": "e46754f8c9333170f11780d8e3a70da1b1a88338",
      "tree": "9b7ac1c7cb4c147c69767908c6dcb7633fb03f12",
      "parents": [
        "ef9e83c1ab2981769f16e626179dd56895041b38",
        "fe6f212ce12341df18ef9b890bea739b4547157b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 17:57:56 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 17:57:56 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "67e0f392779e35a96c43bc240ef5d30a701d153e",
      "tree": "637fd3aed6aa2769fb434f4732da5e70d4e1a4df",
      "parents": [
        "088899c43ce8bc54c6de519e4b1a1fc41b95867e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 19 11:03:13 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 19 16:45:20 2010 -0400"
      },
      "message": "mac80211: add missing newline\n\nOne HT debugging printk is missing a newline,\nadd it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b4bb5c3fd9333024044362df67e23e96158489ed",
      "tree": "180405311d50e63ac6f6dd67eefefeb2c2c110bc",
      "parents": [
        "f2fa1b015e9c199e45c836c769d94db595150731"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 19 10:48:38 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 19 16:34:11 2010 -0400"
      },
      "message": "mac80211: remove bogus TX agg state assignment\n\nWhen the addba timer expires but has no work to do,\nit should not affect the state machine. If it does,\nTX will not see the successfully established and we\ncan also crash trying to re-establish the session.\n\nCc: stable@kernel.org [2.6.32, 2.6.33]\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5c01d5669356e13f0fb468944c1dd4c6a7e978ad",
      "tree": "fa43345288d7b25fac92b3b35360a177c4947313",
      "parents": [
        "fea069152614cdeefba4b2bf80afcddb9c217fc8",
        "a5e944f1d955f3819503348426763e21e0413ba6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 15 16:21:34 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 15 16:21:34 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ath/ath5k/phy.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n"
    },
    {
      "commit": "b5878a2dc5e7e7f031a52c3e15b571224cb6b540",
      "tree": "4d035602f4a4d6e021eaf261f3665d4a5439cfd8",
      "parents": [
        "403820edc4ba1f2fb2514c022f2662c498ce0d11"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Apr 07 16:48:40 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 08 15:24:13 2010 -0400"
      },
      "message": "mac80211: enhance tracing\n\nEnhance tracing by adding tracing for a variety of\ncallbacks that the drivers call, and also for\ninternal calls (currently limited to queue status).\nThis can aid debugging what is going on in mac80211\nin interaction with drivers, since we can now see\nwhat drivers call and not just what mac80211 calls\nin the driver.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "618f356b95e37ca0c30b3b513898fda54abd52a6",
      "tree": "950d67d39fa3e6b70a5cbf593b85f53416fa051e",
      "parents": [
        "66b0470aeef10a3b0f9a6a1c60d908b5a06c62ae"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 06 11:18:46 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 07 14:38:04 2010 -0400"
      },
      "message": "mac80211: rename WLAN_STA_SUSPEND to WLAN_STA_BLOCK_BA\n\nI want to use it during station destruction as well\nso rename it to WLAN_STA_BLOCK_BA which is also the\nonly use of it now.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "55f98938b5cea8949077c79813c4f86ef0018858",
      "tree": "41cd00bc85a26387eadd831b9770ac59d10286a4",
      "parents": [
        "d28667f871991e0eea983b398421b8db2c8bdf8c"
      ],
      "author": {
        "name": "Frans Pop",
        "email": "elendil@planet.nl",
        "time": "Wed Mar 24 19:46:29 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Mar 31 14:38:51 2010 -0400"
      },
      "message": "wireless: remove trailing space in messages\n\nAlso correct indentation in net/wireless/reg.c.\n\nSigned-off-by: Frans Pop \u003celendil@planet.nl\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "4cad6c7c38930618d77e65af82c1403d63879eee",
      "tree": "9e8c14e0819c42c8ac290f6a0bba5ca45a3ecef2",
      "parents": [
        "f32338319f10c4ca5499c19edc5b3618896920ba"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Wed Feb 10 14:52:21 2010 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 10 16:36:52 2010 -0500"
      },
      "message": "mac80211: Deny TX BA session requests during disassociation\n\nIn associated state, when bringing an interface down, existing\nBA sessions are torn down. When this is in progress, nothing\nprevents mac80211 from accepting another BA session start request.\n\nUse a new station flag to fix this.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3dc1de0bf23816ed557ac8addf680cd5ee57e805",
      "tree": "11b9100e398ed8daecf67bcde6f8d43c36d0be9a",
      "parents": [
        "6e08d228b6d8e93d7b25b3573c6da7da179c2ae1"
      ],
      "author": {
        "name": "Zhu Yi",
        "email": "yi.zhu@intel.com",
        "time": "Mon Dec 28 16:57:15 2009 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:50:08 2010 -0500"
      },
      "message": "mac80211: quit addba_resp_timer if Tx BA session is torn down\n\nMake addba_resp_timer aware the HT_AGG_STATE_REQ_STOP_BA_MSK mask\nso that when ___ieee80211_stop_tx_ba_session() is issued the timer\nwill quit. Otherwise when suspend happens before the timer expired,\nthe timer handler will be called immediately after resume and\nmesses up driver status.\n\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f3f66b69c8ff08b46975d9e99c7ecb92a8b12eda",
      "tree": "63b0a068a8d3e9df5f2e76fd85a03d3b8e19176d",
      "parents": [
        "341c97918ab7e84a155ea8b18759425304d213b6"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@googlemail.com",
        "time": "Mon Jan 04 00:52:56 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 05 17:13:36 2010 -0500"
      },
      "message": "mac80211: fix ampdu_action tx_start ssn\n\nThe start_seq_num is taken from the station\u0027s tid_seq[tid].\nThis is fine, except tid_seq sequence counter is shifted\nby 4 bits to accommodate for frame fragmentation.\n\nBoth (iwlagn \u0026 ath9k) were unaffected by this minor glitch,\nbecause they don\u0027t read the *ssn for the AMPDU_TX_START action.\n\nSigned-off-by: Christian Lamparter \u003cchunkeey@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "12375ef933fa8271396ed0c1e318cb1bd2e2689d",
      "tree": "b05ccc4573cb8f0a1b89edeeae7e6c5805f75f67",
      "parents": [
        "47846c9b0c10808d9337d2e7d09361f3e0a0a71a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 25 20:30:31 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 21 18:38:54 2009 -0500"
      },
      "message": "mac80211: trace interface name\n\nIt\u0027s not all that useful to have the vif/sdata pointer,\nwe\u0027d rather refer to the interfaces by their name.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "47846c9b0c10808d9337d2e7d09361f3e0a0a71a",
      "tree": "8e5d0dbf3309b7868fa73a888f9561ffea1580e3",
      "parents": [
        "abe60632f311d515b082b450504ee24006023951"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 25 17:46:19 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 21 18:38:52 2009 -0500"
      },
      "message": "mac80211: reduce reliance on netdev\n\nFor bluetooth 3, we will most likely not have\na netdev for a virtual interface (sdata), so\nprepare for that by reducing the reliance on\nhaving a netdev. This patch moves the name\nand address fields into the sdata struct and\nuses them from there all over. Some work is\nneeded to keep them sync\u0027ed, but that\u0027s not\na lot of work and in slow paths anyway.\n\nIn doing so, this also reduces the number of\npointer dereferences in many places, because\nof things like sdata-\u003edev-\u003edev_addr becoming\nsdata-\u003evif.addr.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "abe60632f311d515b082b450504ee24006023951",
      "tree": "a51fc3b135fa8a31cc0d7953be43502ecc6433c6",
      "parents": [
        "15920d8afc87861672e16fa95ae2764b065d6dd3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 25 17:46:18 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 21 18:38:51 2009 -0500"
      },
      "message": "mac80211: make station management completely depend on vif\n\nThe station management currently uses the virtual\ninterface, but you cannot add the same station to\nmultiple virtual interfaces if you\u0027re communicating\nwith it in multiple ways.\n\nThis restriction should be lifted so that in the\nfuture we can, for instance, support bluetooth 3\nwith an access point that mac80211 is already\nassociated to.\n\nWe can do that by requiring all sta_info_get users\nto provide the virtual interface and making the RX\ncode aware that an address may match more than one\nstation struct. Thanks to the previous patches this\none isn\u0027t all that large and except for the RX and\nTX status paths changes has low complexity.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ff9c38bba37937adb909cceb2a6521f2e92e17c6",
      "tree": "93bd6152d9fa28348be99ef1c788040cc7b7a94d",
      "parents": [
        "65c0cfafce9575319fb6f70080fbe226e5617e3b",
        "b2722b1c3a893ec6021508da15b32282ec79f4da"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 22:13:38 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 22:13:38 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/ht.c\n"
    },
    {
      "commit": "827d42c9ac91ddd728e4f4a31fefb906ef2ceff7",
      "tree": "e29371d79d63d0a3ec2cb6d010b71147853fc771",
      "parents": [
        "4253119acf412fd686ef4bd8749b5a4d70ea3a51"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Nov 22 12:28:41 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 30 13:55:51 2009 -0500"
      },
      "message": "mac80211: fix spurious delBA handling\n\nLennert Buytenhek noticed that delBA handling in mac80211\nwas broken and has remotely triggerable problems, some of\nwhich are due to some code shuffling I did that ended up\nchanging the order in which things were done -- this was\n\n  commit d75636ef9c1af224f1097941879d5a8db7cd04e5\n  Author: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\n  Date:   Tue Feb 10 21:25:53 2009 +0100\n\n    mac80211: RX aggregation: clean up stop session\n\nand other parts were already present in the original\n\n  commit d92684e66091c0f0101819619b315b4bb8b5bcc5\n  Author: Ron Rindjunsky \u003cron.rindjunsky@intel.com\u003e\n  Date:   Mon Jan 28 14:07:22 2008 +0200\n\n      mac80211: A-MPDU Tx add delBA from recipient support\n\nThe first problem is that I moved a BUG_ON before various\nchecks -- thereby making it possible to hit. As the comment\nindicates, the BUG_ON can be removed since the ampdu_action\ncallback must already exist when the state is !\u003d IDLE.\n\nThe second problem isn\u0027t easily exploitable but there\u0027s a\nrace condition due to unconditionally setting the state to\nOPERATIONAL when a delBA frame is received, even when no\naggregation session was ever initiated. All the drivers\naccept stopping the session even then, but that opens a\nrace window where crashes could happen before the driver\naccepts it. Right now, a WARN_ON may happen with non-HT\ndrivers, while the race opens only for HT drivers.\n\nFor this case, there are two things necessary to fix it:\n 1) don\u0027t process spurious delBA frames, and be more careful\n    about the session state; don\u0027t drop the lock\n\n 2) HT drivers need to be prepared to handle a session stop\n    even before the session was really started -- this is\n    true for all drivers (that support aggregation) but\n    iwlwifi which can be fixed easily. The other HT drivers\n    (ath9k and ar9170) are behaving properly already.\n\nReported-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4253119acf412fd686ef4bd8749b5a4d70ea3a51",
      "tree": "44dc3e4ea5a6c2eb21a0e0c04de1c04e1662549d",
      "parents": [
        "3e9848403ad59c53b31facb30b43ca80135ae0b9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Nov 20 09:15:51 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 30 13:52:21 2009 -0500"
      },
      "message": "mac80211: fix two remote exploits\n\nLennert Buytenhek noticed a remotely triggerable problem\nin mac80211, which is due to some code shuffling I did\nthat ended up changing the order in which things were\ndone -- this was in\n\n  commit d75636ef9c1af224f1097941879d5a8db7cd04e5\n  Author: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\n  Date:   Tue Feb 10 21:25:53 2009 +0100\n\n    mac80211: RX aggregation: clean up stop session\n\nThe problem is that the BUG_ON moved before the various\nchecks, and as such can be triggered.\n\nAs the comment indicates, the BUG_ON can be removed since\nthe ampdu_action callback must already exist when the\nstate is OPERATIONAL.\n\nA similar code path leads to a WARN_ON in\nieee80211_stop_tx_ba_session, which can also be removed.\n\nCc: stable@kernel.org [2.6.29+]\nCc: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9b963e5d0e01461099a40117b05480f24b63381f",
      "tree": "4756d554e37bf4ab7202f2c564cbe629af98b576",
      "parents": [
        "3b8626ba01a8a745a3fdf22dd347edd708b0af13",
        "5fdd4baef6195a1f2960e901c8877e2105f832ca"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 00:57:15 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 00:57:15 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/ieee802154/fakehard.c\n\tdrivers/net/e1000e/ich8lan.c\n\tdrivers/net/e1000e/phy.c\n\tdrivers/net/netxen/netxen_nic_init.c\n\tdrivers/net/wireless/ath/ath9k/main.c\n"
    },
    {
      "commit": "62ae67be31c2346b6d74653a148ddbd1b9a94424",
      "tree": "91f59c821a4e3f91a529887d97989b1969720f65",
      "parents": [
        "875405a7793e9c35fab33819e7e5df7a98b6064c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 18 18:42:05 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:27 2009 -0500"
      },
      "message": "mac80211: remove encrypt parameter from ieee80211_tx_skb\n\nSince the flags moved into skb-\u003ecb, there\u0027s no\nlonger a need to have the encrypt bool passed\ninto the function, anyone who requires it set\nto 0 (false) can just set the flag directly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0bc6b1871c111d8f2eb2ac022a705de4cf21f572",
      "tree": "92abeacaf7e71dd8c1e8bde713f663c88a700085",
      "parents": [
        "24b6b15f7d07d26330f73057d618089976a08792"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Wed Nov 18 11:42:14 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:25 2009 -0500"
      },
      "message": "mac80211: Fix panic in aggregation handling\n\nNot assigning the vif pointer causes an oops.\nThis patch fixes it.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c951ad3550ab40071bb0f222ba6125845769c08a",
      "tree": "9db1d3c110b359a34a3d706eaf40285cfa01550b",
      "parents": [
        "3b53fde8ac40c4321389def14d7f4a9e14092fd3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Nov 16 12:00:38 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:15 2009 -0500"
      },
      "message": "mac80211: convert aggregation to operate on vifs/stas\n\nThe entire aggregation code currently operates on the\nhw pointer and station addresses, but that needs to\nchange to make stations purely per-vif; As one step\npreparing for that make the aggregation code callable\nwith the station, or by the combination of virtual\ninterface and station address.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8ade00824607fcfa8842572012d4393b40a74a94",
      "tree": "e88b9ce6d6743294e5287d6c3729bbb215cabb3e",
      "parents": [
        "70e3bb504ccfe6ba725ab120bdb516d205d834f9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 18 17:15:06 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:01:47 2009 -0500"
      },
      "message": "mac80211: fix addba timer (again...)\n\ncommit 2171abc58644e09dbba546d91366b12743115396\n  Author: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\n  Date:   Thu Oct 29 08:34:00 2009 +0100\n\n      mac80211: fix addba timer\n\nleft a problem in there, even if the timer was\nnever started it could be deleted and then added.\n\nLinus pointed out that del_timer_sync() isn\u0027t\nactually needed if we make the timer able to\ndeal with no longer being needed when it gets\nqueued _while_ we\u0027re in the locked section that\nalso deletes it. For that the timer function only\nneeds to check the HT_ADDBA_RECEIVED_MSK bit as\nwell as the HT_ADDBA_REQUESTED_MSK bit, only if\nthe former is clear should it do anything.\n\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2171abc58644e09dbba546d91366b12743115396",
      "tree": "b4b75fad9bb425034f71cf995586dd4898c93c2f",
      "parents": [
        "e55ea2b152569f09ef6bb28d5a341a4e5a21f5ce"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 29 08:34:00 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 30 15:50:25 2009 -0400"
      },
      "message": "mac80211: fix addba timer\n\nThe addba timer function acquires the sta spinlock,\nbut at the same time we try to del_timer_sync() it\nunder the spinlock which can produce deadlocks.\n\nTo fix this, always del_timer_sync() the timer in\nieee80211_process_addba_resp() and add it again\nafter checking the conditions, if necessary.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cf9911166113e471e1796eaf273982d8e43b138d",
      "tree": "141ca87902690967620d6297c88746e2adb6dae5",
      "parents": [
        "deeb16dc24b68cbdca72dc717ae82178a6644801",
        "88512935a24305fea7aecc9ba4d675869e97fc2a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 14 16:07:21 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 14 16:07:21 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "416fbdff2137e8d8cc8f23f517bee3a26b11526f",
      "tree": "83ad1a5397c100fc9d08fd239b5e1b105b96028b",
      "parents": [
        "839d1624b9dcf31fdc02e47359043bb7bd71d6ca"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Tue Aug 11 13:10:33 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 13 14:47:42 2009 -0400"
      },
      "message": "mac80211: fix panic when splicing unprepared TIDs\n\nWe splice skbs from the pending queue for a TID\nonto the local pending queue when tearing down a\nblock ack request. This is not necessary unless we\nactually have received a request to start a block ack\nrequest (rate control, for example). If we never received\nthat request we should not be splicing the tid pending\nqueue as it would be null, causing a panic.\n\nNot sure yet how exactly we allowed through a call when the\ntid state does not have at least HT_ADDBA_REQUESTED_MSK set,\nthat will require some further review as it is not quite\nobvious.\n\nFor more information see the bug report:\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d13922\n\nThis fixes this oops:\n\nBUG: unable to handle kernel NULL pointer dereference at 00000030\nIP: [\u003cf8806c70\u003e] ieee80211_agg_splice_packets+0x40/0xc0 [mac80211]\n*pdpt \u003d 0000000002d1e001 *pde \u003d 0000000000000000\nThread overran stack, or stack corrupted\nOops: 0000 [#1] SMP\nlast sysfs file: /sys/module/aes_generic/initstate\nModules linked in: \u003cbleh\u003e\n\nPid: 0, comm: swapper Not tainted (2.6.31-rc5-wl #2) Dell DV051\nEIP: 0060:[\u003cf8806c70\u003e] EFLAGS: 00010292 CPU: 0\nEIP is at ieee80211_agg_splice_packets+0x40/0xc0 [mac80211]\nEAX: 00000030 EBX: 0000004c ECX: 00000003 EDX: 00000000\nESI: c1c98000 EDI: f745a1c0 EBP: c076be58 ESP: c076be38\n DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068\nProcess swapper (pid: 0, ti\u003dc076a000 task\u003dc0709160 task.ti\u003dc076a000)\nStack: \u003cbleh2\u003e\nCall Trace:\n [\u003cf8806edb\u003e] ? ieee80211_stop_tx_ba_cb+0xab/0x150 [mac80211]\n [\u003cf8802f1e\u003e] ? ieee80211_tasklet_handler+0xce/0x110 [mac80211]\n [\u003cc04862ff\u003e] ? net_rx_action+0xef/0x1d0\n [\u003cc0149378\u003e] ? tasklet_action+0x58/0xc0\n [\u003cc014a0f2\u003e] ? __do_softirq+0xc2/0x190\n [\u003cc018eb48\u003e] ? handle_IRQ_event+0x58/0x140\n [\u003cc01205fe\u003e] ? ack_apic_level+0x7e/0x270\n [\u003cc014a1fd\u003e] ? do_softirq+0x3d/0x40\n [\u003cc014a345\u003e] ? irq_exit+0x65/0x90\n [\u003cc010a6af\u003e] ? do_IRQ+0x4f/0xc0\n [\u003cc014a35d\u003e] ? irq_exit+0x7d/0x90\n [\u003cc011d547\u003e] ? smp_apic_timer_interrupt+0x57/0x90\n [\u003cc01094a9\u003e] ? common_interrupt+0x29/0x30\n [\u003cc010fd9e\u003e] ? mwait_idle+0xbe/0x100\n [\u003cc0107e42\u003e] ? cpu_idle+0x52/0x90\n [\u003cc054b1a5\u003e] ? rest_init+0x55/0x60\n [\u003cc077492d\u003e] ? start_kernel+0x315/0x37d\n [\u003cc07743ce\u003e] ? unknown_bootoption+0x0/0x1f9\n [\u003cc0774099\u003e] ? i386_start_kernel+0x79/0x81\nCode: \u003cbleh3\u003e\nEIP: [\u003cf8806c70\u003e] ieee80211_agg_splice_packets+0x40/0xc0 [mac80211] SS:ESP 0068:c076be38\nCR2: 0000000000000030\n\nCc: stable@kernel.org\nTestedy-by: Jack Lau \u003cjackelectronics@hotmail.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3b8d81e020f77c9da8b85b0685c8cd2ca7c7b150",
      "tree": "a19fcddbf28fecdbd13ad009fe07b8afc5e95c90",
      "parents": [
        "c4029083e2acb82229c43b791c07afb089d972ff"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jun 17 17:43:56 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:30 2009 -0400"
      },
      "message": "mac80211: remove master netdev\n\nWith the internal \u0027pending\u0027 queue system in place, we can simply\nput packets there instead of pushing them off to the master dev,\ngetting rid of the master interface completely.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "736708bd04b7a8941fddda32211982cab5d14431",
      "tree": "c80f9c15307caf20ed7c11916138719fc2c206d6",
      "parents": [
        "558f6d3229ddb9f11ca4ffee0439046c283882ff"
      ],
      "author": {
        "name": "Vasanthakumar Thiagarajan",
        "email": "vasanth@atheros.com",
        "time": "Tue Jun 09 14:11:46 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 10 13:28:38 2009 -0400"
      },
      "message": "mac80211: Fix the way ADDBA request count being modified\n\naddba_req_num[tid] is supposed to have the count of consecutive\naddba request attempts on \u0027tid\u0027 which failed. This count is checked\nagainst a retry threshold (3 times) before starting the addba negotiation.\nThis patch fixes the way this addba count is incremented/reset and thereby\navoids indefinite addba attempts.\n\nSigned-off-by: Vasanthakumar Thiagarajan \u003cvasanth@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2448798133d747ad339e57099e32a1d1e68aca1c",
      "tree": "ee09385f5dca9e243c38f5f888baa02605423bd7",
      "parents": [
        "2d0ddec5b2b859f06116f631fc0ffe94fbceb556"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 23 18:52:52 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:37 2009 -0400"
      },
      "message": "mac80211: add driver ops wrappers\n\nIn order to later add tracing or verifications to the driver\ncalls mac80211 makes, this patch adds static inline wrappers\nfor all operations.\n\nAll calls are now written as\n\n\tdrv_\u003cop\u003e(local, ...);\n\ninstead of\n\n\tlocal-\u003eops-\u003e\u003cop\u003e(\u0026local-\u003ehw, ...);\n\nWhere necessary, the wrappers also do existence checking and\nreturn default values as appropriate.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e4e72fb4de93e3d4047a4ee3f08778422e17ed0d",
      "tree": "dd133a749e6fa6960c9aa708041d996110f6440e",
      "parents": [
        "cd8ffc800ce18e558335c4946b2217864fc16045"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 17:28:42 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:23 2009 -0400"
      },
      "message": "mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi\n\nThis patch removes all the virtual A-MPDU-queue bookkeeping from\nmac80211. Curiously, iwlwifi already does its own bookkeeping, so\nit doesn\u0027t require much changes except where it needs to handle\nstarting and stopping the queues in mac80211.\n\nTo handle the queue stop/wake properly, we rewrite the software\nqueue number for aggregation frames and internally to iwlwifi keep\ntrack of the queues that map into the same AC queue, and only talk\nto mac80211 about the AC queue. The implementation requires calling\ntwo new functions, iwl_stop_queue and iwl_wake_queue instead of the\nmac80211 counterparts.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Reinette Chattre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cd8ffc800ce18e558335c4946b2217864fc16045",
      "tree": "e9bb8c3d6011e89374f9df353ff1f15d45a63590",
      "parents": [
        "a220858d30604902f650074bfac5a7598bc97ea4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 17:28:41 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:22 2009 -0400"
      },
      "message": "mac80211: fix aggregation to not require queue stop\n\nInstead of stopping the entire AC queue when enabling aggregation\n(which was only done for hardware with aggregation queues) buffer\nthe packets for each station, and release them to the pending skb\nqueue once aggregation is turned on successfully.\n\nWe get a little more code, but it becomes conceptually simpler and\nwe can remove the entire virtual queue mechanism from mac80211 in\na follow-up patch.\n\nThis changes how mac80211 behaves towards drivers that support\naggregation but have no hardware queues -- those drivers will now\nnot be handed packets while the aggregation session is being\nestablished, but only after it has been fully established.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b1720231ca07dee3382980f3b25e6581bd2e54e9",
      "tree": "4258dec3d4774ee5968f181533c77766c8584b79",
      "parents": [
        "1870cd71e87da1a1afb904f2c84086f487a07135"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 17:28:39 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:22 2009 -0400"
      },
      "message": "mac80211: unify and fix TX aggregation start\n\nWhen TX aggregation becomes operational, we do a number of steps:\n 1) print a debug message\n 2) wake the virtual queue\n 3) notify the driver\n\nUnfortunately, 1) and 3) are only done if the driver is first to\nreply to the aggregation request, it is, however, possible that the\nremote station replies before the driver! Thus, unify the code for\nthis and call the new function ieee80211_agg_tx_operational in both\nplaces where TX aggregation can become operational.\n\nAdditionally, rename the driver notification from\nIEEE80211_AMPDU_TX_RESUME to IEEE80211_AMPDU_TX_OPERATIONAL.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "722f069a6dc95d7c6c2cdfbe3413899a3b768f9c",
      "tree": "3f9ccbd9e2fdf75bd27675c48b238adc911ae626",
      "parents": [
        "e23a9014fd4d502a419255a83e2479ab804c6f16"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Tue Mar 17 08:50:06 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:12:55 2009 -0400"
      },
      "message": "mac80211: Tear down aggregation sessions for suspend/resume\n\nWhen the driver has been notified with a STA_REMOVE, it tears down\nthe internal ADDBA state. On resume, trying to initiate aggregation would\nfail because mac80211 has not cleared the operational state for that \u003cTID,STA\u003e.\nThis can be fixed by tearing down the existing sessions on a suspend.\n\nAlso, the driver can initiate a new BA session when suspend is in progress.\nThis is fixed by marking the station as being in suspend state and\ndenying ADDBA requests for such STAs.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "469002983fc90c2ff0959e2b03335c0fe2e4d5a9",
      "tree": "fdcf78dcdaeadba897abd86d39d0275e236803b3",
      "parents": [
        "96f5e66e8a79810e2982cdcfa28e554f3d97da21"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Feb 15 12:44:28 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 27 14:51:42 2009 -0500"
      },
      "message": "mac80211: split IBSS/managed code\n\nThis patch splits out the ibss code and data from managed (station) mode.\nThe reason to do this is to better separate the state machines, and have\nthe code be contained better so it gets easier to determine what exactly\na given change will affect, that in turn makes it easier to understand.\n\nThis is quite some churn, especially because I split sdata-\u003eu.sta into\nsdata-\u003eu.mgd and sdata-\u003eu.ibss, but I think it\u0027s easier to maintain that\nway. I\u0027ve also shuffled around some code -- null function sending is only\napplicable to managed interfaces so put that into that file, some other\nfunctions are needed from various places so put them into util, and also\nrearranged the prototypes in ieee80211_i.h accordingly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "96f5e66e8a79810e2982cdcfa28e554f3d97da21",
      "tree": "d16a0e083b83ab488f20b995c56a496a4ec2c9c8",
      "parents": [
        "f3734ee6df3ac57151e02d091f47d5e52e646539"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Feb 12 00:51:53 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 27 14:51:42 2009 -0500"
      },
      "message": "mac80211: fix aggregation for hardware with ampdu queues\n\nHardware with AMPDU queues currently has broken aggregation.\n\nThis patch fixes it by making all A-MPDUs go over the regular AC queues,\nbut keeping track of the hardware queues in mac80211. As a first rough\nversion, it actually stops the AC queue for extended periods of time,\nwhich can be removed by adding buffering internal to mac80211, but is\ncurrently not a huge problem because people rarely use multiple TIDs\nthat are in the same AC (and iwlwifi currently doesn\u0027t operate as AP).\n\nThis is a short-term fix, my current medium-term plan, which I hope to\nexecute soon as well, but am not sure can finish before .30, looks like\nthis:\n 1) rework the internal queuing layer in mac80211 that we use for\n    fragments if the driver stopped queue in the middle of a fragmented\n    frame to be able to queue more frames at once (rather than just a\n    single frame with its fragments)\n 2) instead of stopping the entire AC queue, queue up the frames in a\n    per-station/per-TID queue during aggregation session initiation,\n    when the session has come up take all those frames and put them\n    onto the queue from 1)\n 3) push the ampdu queue layer abstraction this patch introduces in\n    mac80211 into the driver, and remove the virtual queue stuff from\n    mac80211 again\n\nThis plan will probably also affect ath9k in that mac80211 queues the\nframes instead of passing them down, even when there are no ampdu queues.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "849b7967818995a32c3017542e33eb3155944368",
      "tree": "afd0a98e50c3b9a851a2b46682f6a3767df2ca04",
      "parents": [
        "d75636ef9c1af224f1097941879d5a8db7cd04e5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:54 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:48 2009 -0500"
      },
      "message": "mac80211: further cleanups to stopping BA sessions\n\nEssentially consisting of passing the sta_info pointer around,\ninstead of repeatedly doing hash lookups.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "23e6a7ea5cb1a902d37ab0c783709c178fa834df",
      "tree": "0fa4e1f792dbfb0d57426b0e2f3c0cb7a2125402",
      "parents": [
        "86ab6c5a6c5204f6c25281b9039330b8f5e9b692"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:50 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:41 2009 -0500"
      },
      "message": "mac80211: fix race in TX aggregation\n\nWhen disabling TX aggregation because it was rejected or from\nthe timer (it was not accepted), there is a window where we\nfirst set the state to operation, unlock, and then undo the\nwhole thing. Avoid that by splitting up the stop function.\nAlso get rid of the pointless sta_info indirection in the timer.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "86ab6c5a6c5204f6c25281b9039330b8f5e9b692",
      "tree": "b9b5471d84a0f9212927c34a99a9e334ffefff95",
      "parents": [
        "955d3fe3e8b38de19761e4ac7afdb9d7a33b9566"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:49 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:39 2009 -0500"
      },
      "message": "mac80211: document TX aggregation (and small cleanup)\n\nAdd documentation and move ieee80211_start_tx_ba_cb_irqsafe to right\nafter ieee80211_start_tx_ba_cb.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "955d3fe3e8b38de19761e4ac7afdb9d7a33b9566",
      "tree": "2f45485f88b9e9bc61aaddc6f9f187285cfc6501",
      "parents": [
        "8abd3f9bc476b5b7f6de1b6fb576b87ba338f7fd"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:48 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:38 2009 -0500"
      },
      "message": "mac80211: hardware should not deny going back to legacy\n\nDoing so would be an MLME protocol violation when the peer disabled\nthe aggregation session. Quick driver review indicates that there are\nerror codes passed all over the drivers but cannot ever be nonzero\nexcept in error conditions that would indicate mac80211 bugs.\n\nNo real changes here, since no drivers currently can return -EBUSY.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8abd3f9bc476b5b7f6de1b6fb576b87ba338f7fd",
      "tree": "1b830fde0f97686721a3843375453e03e4555c37",
      "parents": [
        "b8695a8fe6d89140f8d17668e99ebd39358d7c0b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:47 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:36 2009 -0500"
      },
      "message": "mac80211: restrict aggregation to supported interface modes\n\nWe can only support aggregation on AP/STA right now. HT isn\u0027t defined\nfor IBSS, WDS or MESH. In the WDS/MESH cases it\u0027s not clear what to\nput into the IBSS field, and we don\u0027t handle that in the code at all.\nAlso fix the code to handle VLAN correctly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b8695a8fe6d89140f8d17668e99ebd39358d7c0b",
      "tree": "39d207ee3fc0fa0c4418225c522674f5cd4b45a7",
      "parents": [
        "20ad19d0ac7389b04b566ebf3e0e497974f63ffa"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:46 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:34 2009 -0500"
      },
      "message": "mac80211: restructure HT code\n\nCreate two new files, agg-tx.c and agg-rx.c to make it clearer\nwhich code is common (ht.c) and which is specific (agg-*.c).\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ]
}
