)]}'
{
  "log": [
    {
      "commit": "e87cc4728f0e2fb663e592a1141742b1d6c63256",
      "tree": "b8219696d37f0c8d0521d5853560b97fc96dc667",
      "parents": [
        "3a3bfb61e64476ff1e4ac3122cb6dec9c79b795c"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun May 13 21:56:26 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 15 13:45:03 2012 -0400"
      },
      "message": "net: Convert net_ratelimit uses to net_\u003clevel\u003e_ratelimited\n\nStandardize the net core ratelimited logging functions.\n\nCoalesce formats, align arguments.\nChange a printk then vprintk sequence to use printf extension %pV.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "d72308bff5c2fa207949a5925b020bce74495e33",
      "tree": "023e58d9a55d5439fcd1b0794b6bf095fa1115f4",
      "parents": [
        "4e808a38fdcaeeeddbc05942623279ebe7c02373"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Mon Mar 19 16:00:26 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 26 15:07:29 2012 -0400"
      },
      "message": "mac80211: fix possible tid_rx-\u003ereorder_timer use after free\n\nIs possible that we will arm the tid_rx-\u003ereorder_timer after\ndel_timer_sync() in ___ieee80211_stop_rx_ba_session(). We need to stop\ntimer after RCU grace period finish, so move it to\nieee80211_free_tid_rx(). Timer will not be armed again, as\nrcu_dereference(sta-\u003eampdu_mlme.tid_rx[tid]) will return NULL.\n\nDebug object detected problem with the following warning:\nODEBUG: free active (active state 0) object type: timer_list hint: sta_rx_agg_reorder_timer_expired+0x0/0xf0 [mac80211]\n\nBug report (with all warning messages):\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d804007\n\nReported-by: \"jan p. springer\" \u003cjsd@igroup.org\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cf778b00e96df6d64f8e21b8395d1f8a859ecdc7",
      "tree": "4cc157d564bd65d687bdf722af3202e9e277ea98",
      "parents": [
        "9ee6045f09a7875ebe55b9942b232a19076b157b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jan 12 04:41:32 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 12 12:26:56 2012 -0800"
      },
      "message": "net: reintroduce missing rcu_assign_pointer() calls\n\ncommit a9b3cd7f32 (rcu: convert uses of rcu_assign_pointer(x, NULL) to\nRCU_INIT_POINTER) did a lot of incorrect changes, since it did a\ncomplete conversion of rcu_assign_pointer(x, y) to RCU_INIT_POINTER(x,\ny).\n\nWe miss needed barriers, even on x86, when y is not NULL.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nCC: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "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": "5ccc32ff46065f031075cdbbdfe21b9e3b05aaad",
      "tree": "839725c6e64dde350931c19dfe223a20eb1762b2",
      "parents": [
        "a7f39f60775c0a5f2b537b20a0c2431b3f791cc8"
      ],
      "author": {
        "name": "Nikolay Martynov",
        "email": "mar.kolya@gmail.com",
        "time": "Tue Nov 22 21:50:30 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 28 14:43:51 2011 -0500"
      },
      "message": "mac80211: log reason and initiator when rx agg is stopped\n\n  Add additional debug logging of initiator and reason when rx\naggregation session is stopped\n\nSigned-off-by: Nikolay Martynov \u003cmar.kolya@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a7f39f60775c0a5f2b537b20a0c2431b3f791cc8",
      "tree": "77f8685d6680c2fb0dcfbd259c8e0e202c7b0a76",
      "parents": [
        "285fa6958c1d56469ec8a0e879ae7487a4e62840"
      ],
      "author": {
        "name": "Nikolay Martynov",
        "email": "mar.kolya@gmail.com",
        "time": "Tue Nov 22 21:50:29 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 28 14:43:50 2011 -0500"
      },
      "message": "mac80211: trivial: use WLAN_BACK_RECIPIENT instead of hardcoded 0\n\n  Use WLAN_BACK_RECIPIENT instead of hardcoded 0 for clarity\n\nSigned-off-by: Nikolay Martynov \u003cmar.kolya@gmail.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": "094daf7db7c47861009899ce23f9177d761e20b0",
      "tree": "a107065393720b80664157a035b206576e834793",
      "parents": [
        "3ed6f6958c0ac21958285d8648f14d34da4bbcb3",
        "5f68a2b0a890d086e40fc7b55f4a0c32c28bc0d2"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 11 15:35:42 2011 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 11 15:35:42 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.infradead.org/users/linville/wireless-next into for-davem\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\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": "b53d63ecce17c4ddf8636def9f6e8b865c3927f9",
      "tree": "683ef774fcfb423fa35f61e4326d0ce3f6a7c283",
      "parents": [
        "765cf9976e937f1cfe9159bf4534967c8bf8eb6d",
        "12e62d6f7ec475e546b40bece2045da15d6c21ef"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 19 15:00:16 2011 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 19 15:00:16 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://infradead/~/public_git/wireless-next into for-davem\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": "a9b3cd7f323b2e57593e7215362a7b02fc933e3a",
      "tree": "eba1741956aef3015d5b1a07253bf93c4c1bc7df",
      "parents": [
        "76f793e3a47139d340185cbc1a314740c09b13d3"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 01 16:19:00 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 02 04:29:23 2011 -0700"
      },
      "message": "rcu: convert uses of rcu_assign_pointer(x, NULL) to RCU_INIT_POINTER\n\nWhen assigning a NULL value to an RCU protected pointer, no barrier\nis needed. The rcu_assign_pointer, used to handle that but will soon\nchange to not handle the special case.\n\nConvert all rcu_assign_pointer of NULL value.\n\n//smpl\n@@ expression P; @@\n\n- rcu_assign_pointer(P, NULL)\n+ RCU_INIT_POINTER(P, NULL)\n\n// \u003c/smpl\u003e\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a557ed3a0a4f7e36d76da137b781344f548c464",
      "tree": "110e1842e22def99c87581ebe71bc3c32f272b9c",
      "parents": [
        "5966f2ddcda452455f8ab518b7cba221b5234a94"
      ],
      "author": {
        "name": "Eliad Peller",
        "email": "eliad@wizery.com",
        "time": "Tue Jul 19 13:14:42 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 20 15:04:36 2011 -0400"
      },
      "message": "mac80211: check sta_info_get() return value\n\nieee80211_stop_rx_ba_session() was calling sta_info_get()\nwithout rcu locking, and the return value was not\nchecked.\nThis resulted in the following panic:\n\n[\u003cbf05726c\u003e] (ieee80211_stop_rx_ba_session+0x0/0x60 [mac80211])\n[\u003cbf0abd94\u003e] (wl1271_event_handle+0x0/0xdc8 [wl12xx])\n[\u003cbf0a7308\u003e] (wl1271_irq+0x0/0x4a0 [wl12xx])\n[\u003cc00c40a8\u003e] (irq_thread+0x0/0x254)\n[\u003cc00a7398\u003e] (kthread+0x0/0x8c)\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "15b4d843ab66bc0ac2cd46baa20a3ce9638604e6",
      "tree": "db7cf59ddae2635a3b5746e8aeb274f2f2adbd35",
      "parents": [
        "daf4ce85cd5221a3609e68419d01730170975e94"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Thu Jun 23 01:15:27 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 27 15:09:40 2011 -0400"
      },
      "message": "mac80211: reestablish mis-configured existing Rx BA sessions\n\nWhen forming a Rx BA session, sometimes the ADDBA response gets lost.\nThis leads to a situation where the session is configured locally, but\ndoesn\u0027t exist on the remote side. Subsequent ADDBA requests are declined\nby mac80211.\n\nFix this by assuming the session state of the initiator is the correct\none. When receiving an unexpected ADDBA request on a TID with an active\nRx BA session, delete the existing one and establish a new session.\n\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f41ccd71d800c6fac18d2b4ae1830a222c6713da",
      "tree": "984edea5c98f3ea4631907d4b48f48991d9bacff",
      "parents": [
        "41bfce8edebbe9dc6ddc238a71f07fbe9ab46016"
      ],
      "author": {
        "name": "Shahar Levi",
        "email": "shahar_levi@ti.com",
        "time": "Sun May 22 16:10:21 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 07 14:41:36 2011 -0400"
      },
      "message": "mac80211: Stop BA session event from device\n\nSome devices support BT/WLAN co-existence algorigthms.\nIn order not to harm the system performance and user experience, the device\nrequests not to allow any RX BA session and tear down existing RX BA sessions\nbased on system constraints such as periodic BT activity that needs to limit\nWLAN activity (eg.SCO or A2DP).\nIn such cases, the intention is to limit the duration of the RX PPDU and\ntherefore prevent the peer device to use A-MPDU aggregation.\n\nAdding ieee80211_stop_rx_ba_session() callback\nthat can be used by the driver to stop existing BA sessions.\n\nSigned-off-by: Shahar Levi \u003cshahar_levi@ti.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\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": "8571a19c4ac140f1a507f3e7eb716892afa27109",
      "tree": "55ef6a0ab68d6388177d3290a7fd6bc3f12a381f",
      "parents": [
        "aae7c47311659e5150b740d61c4be418198239fa",
        "8d8d3fdc0d42be0ba75be227465773a54bb48a0b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 16:00:37 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 16:00:37 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\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": "df6ba5d80d6c9b51471d5fa046c3c06988e5f62a",
      "tree": "9321170ce223172318ff6e6fa34bd3b30559cf44",
      "parents": [
        "dcac908babcd8ce21057e476c8df609b28ad2cd8"
      ],
      "author": {
        "name": "Luciano Coelho",
        "email": "coelho@ti.com",
        "time": "Wed Jan 12 15:26:30 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 19 11:36:09 2011 -0500"
      },
      "message": "mac80211: add hw configuration for max ampdu buffer size\n\nSome devices don\u0027t support the maximum AMDPU buffer size of 64, so we\nneed to add an option to configure this in the hardware configuration.\nThis value will be used in the ADDBA response instead of the value\nsuggested in the request, if the latter is greater than the max\nsupported.\n\nSigned-off-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nTested-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "82694f764dad783a123394e2220b92b9be721b43",
      "tree": "3ff12e550b9048a153a20d2b9583bc75491196f7",
      "parents": [
        "681c4d07dd5b2ce2ad9f6dbbf7841e479fbc7754"
      ],
      "author": {
        "name": "Luciano Coelho",
        "email": "coelho@ti.com",
        "time": "Wed Jan 12 15:18:11 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 13 15:46:45 2011 -0500"
      },
      "message": "mac80211: use maximum number of AMPDU frames as default in BA RX\n\nWhen the buffer size is set to zero in the block ack parameter set\nfield, we should use the maximum supported number of subframes.  The\nexisting code was bogus and was doing some unnecessary calculations\nthat lead to wrong values.\n\nThanks Johannes for helping me figure this one out.\n\nCc: stable@kernel.org\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "dd318575ff0aae91ac4cbcc5b60c184e59267212",
      "tree": "140a0104b99b8edef7b961b4de9182e092782cf9",
      "parents": [
        "8b7f8532d15631776ce8bec2bbbc58f6aad738d1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Nov 29 11:09:16 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 29 15:30:30 2010 -0500"
      },
      "message": "mac80211: fix RX aggregation locking\n\nThe RX aggregation locking documentation was\nwrong, which led Christian to also code the\ntimer timeout handling for it somewhat wrongly.\n\nFix the documentation, the two places that\nneed to hold the reorder lock across accesses\nto the structure, and the debugfs code that\nshould just use RCU.\n\nAlso, remove acquiring the sta-\u003elock across\nreorder timeouts since it isn\u0027t necessary, and\nchange a few places to GFP_KERNEL because the\ncode path here doesn\u0027t need atomic allocations\nas I noticed when reviewing all this.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: Christian Lamparter \u003cchunkeey@googlemail.com\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": "2bff8ebf32a7c5ec9e5f5eeffef94a8cb622f5f0",
      "tree": "ba1a904e56eb202481c039d28a0d769d4bcf796f",
      "parents": [
        "071d9ac253ff51154beb7e33967168e30bc96053"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@googlemail.com",
        "time": "Thu Aug 05 01:36:41 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 16 15:26:39 2010 -0400"
      },
      "message": "mac80211: AMPDU rx reorder timeout timer\n\nThis patch introduces a new timer, which will release\nqueued-up MPDUs from the reorder buffer, whenever\nthey\u0027ve waited for more than HT_RX_REORDER_BUF_TIMEOUT\n(which is at around 100 ms).\n\nThe advantage of having a dedicated timer, instead of\nrelying on a constant stream of freshly arriving aMPDUs\nto release the old ones, is particularly observable when\neven a small fraction of MPDUs are forever lost at\nlow network speeds.\n\nPreviously under these circumstances frames would become\nstuck in the reorder buffer and the network stack of both\nHT peers throttled back, instead of revving up and\ngunning the pipes.\n\nSigned-off-by: Christian Lamparter \u003cchunkeey@googlemail.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": "a93e364430de7f7a5f4eedd604ad1ab3d825dde5",
      "tree": "441f0f69dc5b08d79c5f5f4e7adae88ad18dbd86",
      "parents": [
        "f955ebb44798e0058c987a0817810d2542e87349"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:46 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:28 2010 -0400"
      },
      "message": "mac80211: change RX aggregation locking\n\nTo prepare for allowing drivers to sleep in\nampdu_action, change the locking in the RX\naggregation code to use a mutex, so that it\nwould already allow drivers to sleep. But\nexplicitly disable BHs around the callback\nfor now since the TX part cannot yet sleep,\nand drivers\u0027 locking might require it.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f955ebb44798e0058c987a0817810d2542e87349",
      "tree": "cc31892c229120ca206ea2d19fc0e6c13f0bad47",
      "parents": [
        "7c3b1dd8f483bf4bcb9776cd9cd3b37dd327d7ea"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:45 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:28 2010 -0400"
      },
      "message": "mac80211: fix RX aggregation timer\n\nI noticed that when there was _no_ traffic at\nall on a given aggregation session, it would\nnever time out. This won\u0027t happen unless you\nforced creating a session, but fix it anyway.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7c3b1dd8f483bf4bcb9776cd9cd3b37dd327d7ea",
      "tree": "b5e42cc6f18b80c1036d0b9e5590d171fa84d074",
      "parents": [
        "67c282c00c9c06733aae229662d209957f6d23a7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:44 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:28 2010 -0400"
      },
      "message": "mac80211: defer RX 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 prepare, move it out\ninto the aggregation work.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a87f736d942c86255e3088c606f0e3eab6bbf784",
      "tree": "74d3d63dca9fc982fcb7c165247d6924c021b4ef",
      "parents": [
        "c1475ca99edcc7216ddc45838ab2c3281c14ba22"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:38 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 RX aggregation\n\nCurrently we allocate some memory for each RX\naggregation session and additionally keep a\nflag indicating whether or not it is valid.\nBy using RCU to protect the pointer and making\nsure that the memory is fully set up before it\nbecomes visible to the RX path, we can remove\nthe need for the bool that indicates validity,\nas well as for locking on the RX path since it\nis always synchronised against itself, and we\ncan guarantee that all other modifications are\ndone when the structure is not visible to the\nRX path.\n\nThe net result is that since we remove locking\nrequirements from the RX path, we can in the\nfuture use any kind of lock for the setup and\nteardown code paths.\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": "2aab4c273ad837fbcf2955aee32b9ec4706c2521",
      "tree": "d2457aa623177d2b7c18b35a81f91ac268699999",
      "parents": [
        "93d95b12b3ba06e0e1f3e43a370ee61539d8cb90"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 19 11:00:24 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 19 16:41:42 2010 -0400"
      },
      "message": "mac80211: fix stopping RX BA session from timer\n\nKalle reported that his system deadlocks since my\nrecent work in this area. The reason quickly became\napparent: we try to cancel_timer_sync() a timer\nfrom within itself. Fix that by making the function\naware of the context it is called from.\n\nReported-by: Kalle Valo \u003ckvalo@adurom.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nTested-by: Kalle Valo \u003ckvalo@adurom.com\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": "098a607091426e79178b9a6c318d993fea131791",
      "tree": "d62c9993e49f90ca962cd763b096911d22d7e051",
      "parents": [
        "618f356b95e37ca0c30b3b513898fda54abd52a6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 06 11:18:47 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 07 14:38:05 2010 -0400"
      },
      "message": "mac80211: clean up/fix aggregation code\n\nThe aggregation code has a number of quirks, like\ninventing an unneeded WLAN_BACK_TIMER value and\nleaking memory under certain circumstances during\nstation destruction. Fix these issues by using\nthe regular aggregation session teardown code and\nblocking new aggregation sessions, all before the\nstation is really destructed.\n\nAs a side effect, this gets rid of the long code\nblock to destroy aggregation safely.\n\nAdditionally, rename tid_state_rx which can only\nhave the values IDLE and OPERATIONAL to\ntid_active_rx to make it easier to understand\nthat there is no bitwise stuff going on on the\nRX side -- the TX side remains because it needs\nto keep track of the driver and peer states.\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": "66b0470aeef10a3b0f9a6a1c60d908b5a06c62ae",
      "tree": "6abfe5fea2aa8b7749e6ef5385b81d4e5d40c82b",
      "parents": [
        "2b43ae6daf26f29cec49fa3a3f18025355495500"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 06 11:18:45 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 07 14:38:03 2010 -0400"
      },
      "message": "mac80211: remove ieee80211_sta_stop_rx_ba_session\n\nAll callers of ieee80211_sta_stop_rx_ba_session can\njust call __ieee80211_stop_rx_ba_session instead\nbecause they already have the station struct, so do\nthat and remove ieee80211_sta_stop_rx_ba_session.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\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": "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": "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": "f64f9e719261a87818dd192a3a2352e5b20fbd0f",
      "tree": "b2d5cbaef3df615295f6061d8c4d6a912690556c",
      "parents": [
        "152b6a62aea2d43359dd37004e9c218bf7bdeb3b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "message": "net: Move \u0026\u0026 and || to end of previous line\n\nNot including net/atm/\n\nCompiled tested x86 allyesconfig only\nAdded a \u003e 80 column line or two, which I ignored.\nExisting checkpatch plaints willfully, cheerfully ignored.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\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": "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": "4d050f1daed3babf6fcc337f862a245d31af4452",
      "tree": "ea684e5168772b822fdb0bd162378fd252227f3c",
      "parents": [
        "2d3babd11f91501f49c6af212e6795bd8954f4d4"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Tue May 05 20:35:14 2009 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:15:04 2009 -0400"
      },
      "message": "mac80211: Add a timeout for frames in the RX reorder buffer\n\nThis patch allows skbs to be released from the RX reorder buffer in\ncase they have been there for an unexpectedly long time without us\nhaving received the missing frames before them. Previously, these\nframes were only released when the reorder window moved and that could\ntake very long time unless new frames were received constantly (e.g.,\nTCP connections could be killed more or less indefinitely).\n\nThis situation should not happen very frequently, but it looks like\nthere are some scenarious that trigger it for some reason. As such,\nthis should be considered mostly a workaround to speed up recovery\nfrom unexpected siutation that could result in connections hanging for\nlong periods of time.\n\nThe changes here will only check for timeout situation when adding new\nRX frames to the reorder buffer. It does not handle all possible\ncases, but seems to help for most cases that could result from common\nnetwork usage (e.g., TCP retrying at least couple of times). For more\ncompletely coverage, a timer could be used to periodically check\nwhether there are any frames remaining in the reorder buffer if no new\nframes are received.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@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": "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": "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": "d75636ef9c1af224f1097941879d5a8db7cd04e5",
      "tree": "504c217da5968aa4b85614bd86ea9eaacf1183b4",
      "parents": [
        "2dace10efb8b761ccbd18d524f3b14d823edf8c0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:53 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:46 2009 -0500"
      },
      "message": "mac80211: RX aggregation: clean up stop session\n\nClean up the locking by splitting it into two functions,\nthis will also enable further cleanups of stopping all\nsessions.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "55687e380a3965ac448e03281e027553a6ae6dac",
      "tree": "ba7c079d3ce4d7278eeb45317ba3baf54f45c96c",
      "parents": [
        "23e6a7ea5cb1a902d37ab0c783709c178fa834df"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:51 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:43 2009 -0500"
      },
      "message": "mac80211: fix aggregation timer lockups\n\nAs far as I can tell, there are possible lockups because both the RX\nsession_timer and TX addba_resp_timer are del_timer_sync\u0027ed under\nthe sta spinlock which both timer functions take. Additionally, the\nTX agg code seems to leak memory when TX aggregation is not disabled\nbefore the sta_info is freed.\n\nFix this by making the free code a little smarter in the RX agg case,\nand actually make the sta_info_destroy code free the TX agg info in\nthe TX agg case. We won\u0027t notify the peer, but it\u0027ll notice something\nis wrong anyway, and normally this only happens after we\u0027ve told it\nin some other way we will no longer talk to it.\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"
    }
  ]
}
