)]}'
{
  "log": [
    {
      "commit": "888d04dfbe7e09f930fdaafb257cce2c54c9c3f3",
      "tree": "cdf0c4d4008860fd91db31bcc620a8ecd3d95bc1",
      "parents": [
        "4d196e4b2ffd734393b54f351507462f19d737b5"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Thu Mar 01 15:22:09 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 05 15:38:31 2012 -0500"
      },
      "message": "mac80211: use compare_ether_addr on MAC addresses instead of memcmp\n\nBecause of the constant size and guaranteed 16 bit alignment, the inline\ncompare_ether_addr function is much cheaper than calling memcmp.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d26ad3771fe7405bf80d736cae9ba4c706a7b1d8",
      "tree": "d6c071ed6e30802ab9c70a655b03c60d2af5a3ff",
      "parents": [
        "6b5773ebd5c9719aec30e58429db2d3b3f343d2c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Feb 20 11:38:41 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 27 14:06:32 2012 -0500"
      },
      "message": "mac80211: clean up asm/unaligned.h inclusion\n\nSome files implicitly get this via mesh.h\nwhich itself doesn\u0027t need it, so move the\ninclusion into the right files. Some other\nfiles don\u0027t need it at all but include it,\nso remove it from there.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8e7c4e4dc6e98a0d3ee4535c6b94a3ad63adad2a",
      "tree": "589946341681ae98ff5d4c8bbc936da6820aa2c4",
      "parents": [
        "ea086359a63bd0dd85c1d784d0425340649613fa"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 20 13:52:36 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 27 14:56:55 2012 -0500"
      },
      "message": "mac80211: fix a few -Wshadow warnings\n\nIt seems that -Wshadow is no longer default in\nsparse runs, but let\u0027s fix the warnings anyway.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "adf5ace5d8161b962afe90e77922728a425b6933",
      "tree": "670f672cf55973083d1baaeb6342b9d57933668a",
      "parents": [
        "8cb25e14fe80d0fac42412364df573eb3e8e83cc"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Dec 08 13:11:55 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 13 15:30:46 2011 -0500"
      },
      "message": "mac80211: Make use of ieee80211_is_* functions in tx status path\n\nUse ieee80211_is_data, ieee80211_is_mgmt and ieee80211_is_first_frag\nin the tx status path. This makes the code easier to read and allows us\nto remove two local variables: frag and type.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\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": "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": "9c8f2c42c93f415771d6d7b87a0881ba0bb72824",
      "tree": "fac292e6b6612aa6a22334ed0c5e017aa0774f04",
      "parents": [
        "904603f9b78f94d5a5fe29cf2f9694ef7f6f4420"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Fri Nov 18 17:02:16 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 21 14:45:20 2011 -0500"
      },
      "message": "mac80211: Fix endian bug in radiotap header generation\n\nI intoduced this bug in commit a2fe81667410723d941a688e1958a49d67ca3346\n\"mac80211: Build TX radiotap header dynamically\"\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": "a729cff8ad5120d0d5172ec28a3843d1cb458f79",
      "tree": "96e85c0805050ba03a2df2a4278640da8f0454c5",
      "parents": [
        "1f074bd8eb7a4a210a5119cd7220f89da6c7a2c3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Sun Nov 06 14:13:34 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 09 16:14:09 2011 -0500"
      },
      "message": "mac80211: implement wifi TX status\n\nImplement the socket wifi TX status error\nqueue reflection in mac80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "06500736c5d26bff93a4f358713689073e66d0f5",
      "tree": "809fb3df5a058e5cedf276e75c25d033405602b3",
      "parents": [
        "7f6cf311a594c1e7ca8120367dd1d4c685aabff1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Nov 04 11:18:16 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 09 16:13:46 2011 -0500"
      },
      "message": "mac80211: support client probe\n\nSupport probing clients with null data frames\nin AP mode.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6096de7fd4eeda305e114e7d74e6f47404590425",
      "tree": "d1593ce73555299a8b209840f2db7437b9c94cc4",
      "parents": [
        "d0ce1855eab098c6257f1321b02b70f916064aaa"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Nov 04 11:18:10 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 09 16:05:48 2011 -0500"
      },
      "message": "mac80211: add helper to free TX skb\n\nDrivers that need to drop a frame before it\ncan be transmitted will usually simply free\nthat frame. This is currently fine, but in\nthe future it\u0027ll be needed to tell mac80211\nabout this case, so add a new routine that\nfrees a TX skb.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\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": "7f2a5e214d3f8daf1e9a5ad021c74528f970e673",
      "tree": "b71cbcdae3d7226e771b44576f2ca49ac85c3b97",
      "parents": [
        "a2fe81667410723d941a688e1958a49d67ca3346"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Tue Oct 11 18:08:55 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 14 14:48:14 2011 -0400"
      },
      "message": "mac80211: Populate radiotap header with MCS info for TX frames\n\nmac80211 already filled in the MCS rate info for rx\u0027ed frames but tx\u0027ed\nframes that are sent to a monitor interface during the status callback\nlack this information.\n\nAdd the radiotap fields for MCS info to ieee80211_tx_status_rtap_hdr\nand populate them when sending tx\u0027ed frames to the monitors.\n\nThe needed headroom is only extended by one byte since we don\u0027t include\nlegacy rate information in the rtap header for HT frames.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a2fe81667410723d941a688e1958a49d67ca3346",
      "tree": "4330d321d7a62f50f5ec7e7f14e4f258b721e7a7",
      "parents": [
        "7bd9897e1a07d97e6297f38f741e2d1851e243b8"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Tue Oct 11 18:08:54 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 14 14:48:14 2011 -0400"
      },
      "message": "mac80211: Build TX radiotap header dynamically\n\nGet rid of the ieee80211_tx_status_rtap_hdr struct and instead build the\nrtap header dynamically. This makes it easier to extend the rtap header\ngeneration in the future.\n\nAdd ieee80211_tx_radiotap_len to calculate the expected size of the\nrtap header before generating it. Since we can\u0027t check if the rtap\nheader fits into the requested headroom during compile time anymore\nadd a WARN_ON_ONCE.\n\nAlso move the actual rtap header generation into its own function.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "28a1bcdb57d50f3038a255741ecc83e391e5282e",
      "tree": "dec9177c1756343a7ba27db929e189c3726f26f9",
      "parents": [
        "af4dc88c56559c1ebf53628ddcc18dde23924e33"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Oct 04 18:27:10 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 11 16:41:08 2011 -0400"
      },
      "message": "mac80211: fix offchannel TX cookie matching\n\nWhen I introduced in-kernel off-channel TX I\nintroduced a bug -- the work can\u0027t be canceled\nagain because the code clear the skb pointer.\nFix this by keeping track separately of whether\nTX status has already been reported.\n\nCc: stable@kernel.org [2.6.38+]\nReported-by: Jouni Malinen \u003cj@w1.fi\u003e\nTested-by: Jouni Malinen \u003cj@w1.fi\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.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": "47086fc51aa2220f58049704a8b73e4fcdf372b9",
      "tree": "31f7ae0e59318352d772b62fa26316d349cde88e",
      "parents": [
        "4049e09acdf4ffd270cb8fbf1cf5b39c3d02357c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 29 16:04:33 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 30 15:57:15 2011 -0400"
      },
      "message": "mac80211: implement uAPSD\n\nAdd uAPSD support to mac80211. This is probably not\npossible with all devices, so advertising it with\nthe cfg80211 flag will be left up to drivers that\nwant it.\n\nDue to my previous patches it is now a fairly\nstraight-forward extension. Drivers need to have\naccurate TX status reporting for the EOSP frame.\nFor drivers that buffer themselves, the provided\nAPIs allow releasing the right number of frames,\nbut then drivers need to set EOSP and more-data\nthemselves. This is documented in more detail in\nthe new code itself.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8a8656fa5bbbc8568348d95184d374edb03a48b7",
      "tree": "a392ea00c6b9bfad4a68f0243cf827dd6047ba41",
      "parents": [
        "b0b97a8ad5c4640785f9a1c8e979f1c0fba147e1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 29 16:04:31 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 30 15:57:14 2011 -0400"
      },
      "message": "mac80211: clear more-data bit on filtered frames\n\nIt doesn\u0027t seem likely, but maybe possible, that the\nmore-data bit needs to be recomputed due to changes\nin the queued frames. Clear it for filtered frames\nto ensure that we never send it incorrectly. It\u0027ll\nbe set again as necessary when we retransmit this\nframe.\n\nThe more likely case is maybe where the station woke\nup after the filtered frame in which case more-data\nshould be clear when the frame is transmitted to the\nstation since it is now awake.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "948d887dec1042a7d78ae311908113e26502062f",
      "tree": "e4240d0f45c0200d3625693bd6d543d243859d0a",
      "parents": [
        "60750397122fe0fb81a6e52fd790b3f749b6e010"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 29 16:04:29 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 30 15:57:12 2011 -0400"
      },
      "message": "mac80211: split PS buffers into ACs\n\nFor uAPSD support we\u0027ll need to have per-AC PS\nbuffers. As this is a major undertaking, split\nthe buffers before really adding support for\nuAPSD. This already makes some reference to the\nuapsd_queues variable, but for now that will\nnever be non-zero.\n\nSince book-keeping is complicated, also change\nthe logic for keeping a maximum of frames only\nand allow 64 frames per AC (up from 128 for a\nstation).\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "60750397122fe0fb81a6e52fd790b3f749b6e010",
      "tree": "3efa9772e7428d800fd2d236c558ca37c0ef7bb4",
      "parents": [
        "c868cb35d013896ab6a80a554fb88baef06cedcd"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 29 16:04:28 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 30 15:57:11 2011 -0400"
      },
      "message": "mac80211: also expire filtered frames\n\nmac80211 will expire normal PS-buffered frames, but\nif the device rejected some frames for a sleeping\nstation, these won\u0027t be on the ps_tx_buf queue but\non the tx_filtered queue instead; this is done to\navoid reordering.\n\nHowever, mac80211 will not expire frames from the\nfiltered queue, let\u0027s fix that.\n\nAlso add a more comments to what all this expiry is\ndoing and how it works.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c868cb35d013896ab6a80a554fb88baef06cedcd",
      "tree": "48ed06dcf3c815e61f38f867e517d5a5dcfa6d79",
      "parents": [
        "042ec4533720122e6cb93dd9f3b6a75fe2fcff16"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 29 16:04:27 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 30 15:57:10 2011 -0400"
      },
      "message": "mac80211: unify TIM bit handling\n\nCurrently, the TIM bit for a given station is set\nand cleared all over the place. Since the logic to\nset/clear it will become much more complex when we\nadd uAPSD support, as a first step let\u0027s collect\nthe entire logic in one place. This requires a few\nsmall adjustments to other places.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7107676a3a46415c27186bc7d5ce988498897c66",
      "tree": "a70b00e5ab4646044cb47d9def3b204bde1ab437",
      "parents": [
        "4245d31347bdc99a608dc1d1cfe64e44aa3d1771"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Thu Sep 15 09:37:46 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 16 16:45:42 2011 -0400"
      },
      "message": "mac80211: fix endian issues and comments for BAR failure handling\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nCc: Helmut Schaa \u003chelmut.schaa@googlemail.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": "f0425beda4d404a6e751439b562100b902ba9c98",
      "tree": "5a8966c3172557e80fa0a4903ade8a76e5d21415",
      "parents": [
        "765b07e46725287ceb1be648b6cb5988fbb585f2"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sun Aug 28 21:11:01 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 13 15:42:30 2011 -0400"
      },
      "message": "mac80211: retry sending failed BAR frames later instead of tearing down aggr\n\nUnfortunately failed BAR tx attempts happen more frequently than I\nexpected, and the resulting aggregation teardowns cause performance\nissues, as the aggregation session does not always get re-established\nproperly.\nInstead of tearing down the entire aggr session, we can simply store the\nSSN of the last failed BAR tx attempt, wait for the first successful\ntx status event, and then send another BAR with the same SSN.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nCc: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e69deded2bc29e6dd176089252a11b1854012c76",
      "tree": "f20940462acaa806c859d1e7e28ee67bef1cb41b",
      "parents": [
        "c1407b6cb22245ae8653cfc195530a9b8eb52879"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Aug 11 16:17:42 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 22 14:45:58 2011 -0400"
      },
      "message": "mac80211: Tear down BA session on BAR tx failure\n\nAs described at [1] some STAs (i.e. Intel 5100 Windows) can end up\ncorrectly BlockAcking incoming frames without delivering them to user\nspace if a AMPDU subframe got lost and we don\u0027t flush the receipients\nreorder buffer with a BlockAckReq. This in turn results in stuck\nconnections.\n\nAccording to 802.11n-2009 it is not necessary to send a BAR to flush\nthe recepients RX reorder buffer but we still do that to be polite.\n\nHowever, assume the following frame exchange:\n\nAP -\u003e STA, AMPDU (failed)\nAP -\u003e STA, BAR (failed)\n\nThe client in question then ends up in the same situation and won\u0027t\ndeliver frames to userspace anymore since we weren\u0027t able to flush\nits reorder buffer.\n\nThis is not a hypothetical situation but I was able to observe this\nexact behavior during a stress test between a rt2800pci AP and a Intel\n5100 Windows client.\n\nIn order to work around this issue just tear down the BA session as\nsoon as a BAR failed to be TX\u0027ed.\n\n[1] http://comments.gmane.org/gmane.linux.kernel.wireless.general/66867\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b4ca6084a84d50c5b0986adff7fdf8244b84fe39",
      "tree": "4006e312678e864119ffbcc5bc51562ecabd7583",
      "parents": [
        "c6baf7fb40cb141c4b510372f7dac829621ccf3f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Sat Jul 23 10:24:48 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 08 16:04:05 2011 -0400"
      },
      "message": "mac80211: remove offchannel_tx API\n\nFor iwlwifi, I decided not to use this API since\nit just increased the complexity for little gain.\nSince nobody else intends to use it, let\u0027s kill\nit again. If anybody later needs to have it, we\ncan always revive it then.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8178d38b704f0a08a74b030c35e6eca5f5019d3d",
      "tree": "08b328c679baf16f6d52c457ae6b40656dba2524",
      "parents": [
        "c989bb15e95a93e20fc86783264f6298116e8651"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Mon Apr 18 14:22:28 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 28 14:50:00 2011 -0400"
      },
      "message": "mac80211: allow low level drivers to report packet loss\n\nAdd API that allows low level drivers to notify mac80211 about TX\npacket loss. This is useful when there are FW triggers to notify the\nlow level driver about these events.\n\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "be7974aa105dc47bb25013016d1fcad17da17783",
      "tree": "cd3b3f344de20720e7b65a84a88c8d1b4b99e3f3",
      "parents": [
        "a9cbe96d19861755680a712b709cccac5dc6aca8"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Mon Mar 21 15:07:55 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Mar 30 14:15:16 2011 -0400"
      },
      "message": "mac80211: Minor optimization in tx status handling\n\nieee80211_tx_status iterates over all tx rates the driver reports back\nin order to\n1) mark tx rates as invalid if the driver cannot have tried that rate\n2) find the actually used tx rate for the final retransmission\n\nBy leaving the for loop when the first invalid rate index is found we\ncan move the rates_idx assignment after the loop and therefore save\na few assignments and conditionals.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5f16a43617d46cf255a66f4dc193a7f5b2540aaf",
      "tree": "add5e551c9d1abeee57b1fbad632a0e23bdd39b1",
      "parents": [
        "8628172f45c839376bf2b70bbd326d56e68dadc3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Feb 25 15:36:57 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 25 15:33:40 2011 -0500"
      },
      "message": "mac80211: support direct offchannel TX offload\n\nFor devices supported by iwlwifi sometimes\noff-channel transmissions need to be handled\nby the device completely. To support this\nmac80211 needs to pass the frame directly\nto the driver and not through the TX path\nas the driver needs the frame and channel\ninformation at the same time.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f3e85b9edeaf8ad0446a37a40c873f3f8898c57d",
      "tree": "298ae716ab7215423a4bc1192783c475be769838",
      "parents": [
        "05db8c5729fac2788f45bf327d168f2ea397f6a1"
      ],
      "author": {
        "name": "Vivek Natarajan",
        "email": "vnatarajan@atheros.com",
        "time": "Wed Feb 23 13:04:32 2011 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 23 16:25:29 2011 -0500"
      },
      "message": "mac80211: Fix a race on enabling power save.\n\nThere is a race on sending a data frame before the tx completion\nof nullfunc frame for enabling power save. As the data quickly\nfollows the nullfunc frame, the AP thinks that the station is out\nof power save and continues to send the frames. Whereas in the\nstation, the nullfunc ack will be processed after the tx completion\nof data frame and mac80211 goes to powersave. Thus the power\nsave state mismatch between the station and the AP causes some\ndata loss and some applications fail because of that. This patch\nfixes this issue.\n\nSigned-off-by: Vivek Natarajan \u003cvnatarajan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b67afe7f43afd2f5cd98798993561920c1684c12",
      "tree": "e45a0e41c91a1d199fd865b011ed0d25f5497bb9",
      "parents": [
        "db28569adc692d9fb8a2d2d8e7ebab7fd5481f10",
        "28bec7b845e10b68e6ba1ade5de0fc566690fc61"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 18 17:03:41 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 18 17:03:41 2011 -0500"
      },
      "message": "Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tdrivers/bluetooth/ath3k.c\n\tdrivers/bluetooth/btusb.c\n"
    },
    {
      "commit": "d057e5a381cbaec5632117bf62ba49438ab16214",
      "tree": "723bd8c982747393b3f390b2c0ea75eb0c6bb62e",
      "parents": [
        "8fd369eeaa81d05969787c9ddf9cf3f1a8c4e084"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Mon Jan 31 22:29:13 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Feb 03 16:44:44 2011 -0500"
      },
      "message": "mac80211: add HW flag for disabling auto link-PS in AP mode\n\nWhen operating in AP mode the wl1271 hardware filters out null-data\npackets as well as management packets. This makes it impossible for\nmac80211 to monitor the PS mode by using the PM bit of incoming frames.\n\nImplement a HW flag to indicate that mac80211 should ignore the PM bit.\nIn addition, expose ieee80211_sta_ps_transition() to make low-level\ndrivers capable of controlling PS-mode.\n\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4334ec8518cec3f7a4feeb3dacb46acfb24904d4",
      "tree": "e00b87af0dc841a5bd2cf2af4fc0de7adeeaaff7",
      "parents": [
        "ff458edc0c5ec42b299547fb7eb9790a4aecc632"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Feb 02 16:58:06 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 02 16:38:59 2011 -0500"
      },
      "message": "mac80211: fix TX status cookie in HW offload case\n\nWhen the off-channel TX is done with remain-on-channel\noffloaded to hardware, the reported cookie is wrong as\nin that case we shouldn\u0027t use the SKB as the cookie but\nneed to instead use the corresponding r-o-c cookie\n(XOR\u0027ed with 2 to prevent API mismatches).\n\nFix this by keeping track of the hw_roc_skb pointer\njust for the status processing and use the correct\ncookie to report in this case. We can\u0027t use the\nhw_roc_skb pointer itself because it is NULL\u0027ed when\nthe frame is transmitted to prevent it being used\ntwice.\n\nThis fixes a bug where the P2P state machine in the\nsupplicant gets stuck because it never gets a correct\nresult for its transmitted frame.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "04ac3c0ee2c773c321ec472d892635a20556f34d",
      "tree": "e9a3bf81d8feec787fa5b4c5c156652de5313c83",
      "parents": [
        "75706d0e9d19601534446982b70102bb9327169b"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Thu Dec 02 21:01:08 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 06 15:58:44 2010 -0500"
      },
      "message": "mac80211: speed up AP probing using nullfunc frames\n\nIf the nullfunc frame used to probe the AP was not acked, there is no point\nin waiting for the probe timeout, so advance to the next try (or disconnect)\nimmediately.\nIf we do reach the probe timeout without having received a tx status, the\nconnection is probably really bad and worth disconnecting.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f30221e4ec62d905b56d5e8f7ccab6b406a97cf5",
      "tree": "07d3a4cf6da15a3622dd79c1d72e0e5c9201566a",
      "parents": [
        "f7ca38dfe58c20cb1aa2ed9643187e8b194b5bae"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Nov 25 10:02:30 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 29 15:24:35 2010 -0500"
      },
      "message": "mac80211: implement off-channel mgmt TX\n\nThis implements the new off-channel TX API\nin mac80211 with a new work item type. The\noperation doesn\u0027t add a new work item when\nwe\u0027re on the right channel and there\u0027s no\nwait time so that for example p2p probe\nresponses will be transmitted without delay.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "99ba2a14283be96a682e04455061c08a46bbf4ec",
      "tree": "120520c075528d7ef5a32bb8782c82b7c7e972eb",
      "parents": [
        "c063dbf52b998b852122dff07a8b8dd430b38437"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Nov 24 08:10:06 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:19:36 2010 -0500"
      },
      "message": "mac80211: implement packet loss notification\n\nFor drivers that have accurate TX status reporting\nwe can report the number of consecutive lost packets\nto userspace using the new cfg80211 CQM event. The\nthreshold is fixed right now, this may need to be\nimproved in the future.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4e5ff37692df35c8826f1291204841b174d3c3ce",
      "tree": "2a4cd6250de19b1e7b895e94136c537c78bcd928",
      "parents": [
        "dd5b4cc71cd09c33e1579cc6d5720656e94e52de"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Tue Nov 23 03:10:31 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:19:35 2010 -0500"
      },
      "message": "mac80211: use nullfunc instead of probe request for connection monitoring\n\nnullfunc frames are better for connection monitoring, because probe requests\nare answered even if the AP has already dropped the connection, whereas\nnullfunc frames from an unassociated station will trigger a disassoc/deauth\nframe from the AP (WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA), which allows\nthe station to reconnect immediately instead of waiting until it attempts to\ntransmit the next unicast frame.\n\nThis only works on hardware with reliable tx ACK reporting, any other hardware\nneeds to fall back to the probe request method.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7573eac762af253e0b61b60cce34ab80f2dd45c7",
      "tree": "2ffafaa1313b08ea2c4cdf0dd96aa9e008840179",
      "parents": [
        "a6d27d2ac89359f84c1a559b5530967ff671d269",
        "4efe7f51be508a13965f163006dcb32b38a914a3"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Oct 07 14:39:03 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Oct 07 14:39:03 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "4efe7f51be508a13965f163006dcb32b38a914a3",
      "tree": "017d0a4069c3502be9101701a58e8b5b78c22c5a",
      "parents": [
        "44271488b91c9eecf249e075a1805dd887e222d2"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Oct 07 11:35:40 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Oct 07 11:35:40 2010 -0400"
      },
      "message": "Revert \"mac80211: use netif_receive_skb in ieee80211_tx_status callpath\"\n\nThis reverts commit 5ed3bc7288487bd4f891f420a07319e0b538b4fe.\n\nIt turns-out that not all drivers are calling ieee80211_tx_status from a\ncompatible context.  Revert this for now and try again later...\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "78be49ec2a0df34de9441930fdced20311fd709f",
      "tree": "0eb6da18b78abc19e58b1cfd2375c548454186a8",
      "parents": [
        "5a5b6ed6ce46be128f2a5a9e56f47193c3ac3e32"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Sat Oct 02 11:31:55 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:28 2010 -0400"
      },
      "message": "mac80211: distinct between max rates and the number of rates the hw can report\n\nSome drivers cannot handle multiple retry rates specified by the rc\nalgorithm but instead use their own retry table (for example rt2800).\nHowever, if such a device registers itself with a max_rates value of 1\nthe rc algorithm cannot make use of the extended information the device\ncan provide about retried rates. On the other hand, if a device\nregisters itself with a max_rates value \u003e 1 the rc algorithm assumes\nthat the device can handle multi rate retries.\n\nFix this issue by introducing another hw parameter max_report_rates that\ncan be set to a different value then max_rates to indicate if a device\nis capable of reporting more rates then specified in max_rates.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "eb7d3066cf864342e8ae6a5c1126a1602c4d06c0",
      "tree": "85c7a4f11d06d1c90a3bcba05adc7df1eb3f2823",
      "parents": [
        "ed627be38a1a07c6986a9f17c299f6afc86ac6b7"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@googlemail.com",
        "time": "Tue Sep 21 21:36:18 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 24 15:54:30 2010 -0400"
      },
      "message": "mac80211: clear txflags for ps-filtered frames\n\nThis patch fixes stale mac80211_tx_control_flags for\nfiltered / retried frames.\n\nBecause ieee80211_handle_filtered_frame feeds skbs back\ninto the tx path, they have to be stripped of some tx\nflags so they won\u0027t confuse the stack, driver or device.\n\nCc: \u003cstable@kernel.org\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Christian Lamparter \u003cchunkeey@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0fb9a9ec27718fbf7fa3153bc94becefb716ceeb",
      "tree": "8f5d6a5fa9f2c6b8b08273dc198d6187d0a70361",
      "parents": [
        "b62177a0aa0521fd07cd7501534c0c3b256ebce6"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Aug 20 16:25:38 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:33:17 2010 -0400"
      },
      "message": "net/mac80211: Use wiphy_\u003clevel\u003e\n\nStandardize logging messages from\n\tprintk(KERN_\u003clevel\u003e \"%s: \" fmt , wiphy_name(foo), args);\nto\n\twiphy_\u003clevel\u003e(foo, fmt, args);\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2e161f78e5f63a7f9fd25a766bb7f816a01eb14a",
      "tree": "befd44feeb1f47da1f41e6fc310a223ad67030ff",
      "parents": [
        "ac4c977d16d843f12901595c91773dddb65768a9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Aug 12 15:38:38 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 24 16:27:56 2010 -0400"
      },
      "message": "cfg80211/mac80211: extensible frame processing\n\nAllow userspace to register for more than just\naction frames by giving the frame subtype, and\nmake it possible to use this in various modes\nas well.\n\nWith some tweaks and some added functionality\nthis will, in the future, also be usable in AP\nmode and be able to replace the cooked monitor\ninterface currently used in that case.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5ed3bc7288487bd4f891f420a07319e0b538b4fe",
      "tree": "28c68a74e7aaeef531444b1fac1287a2fbf59d4a",
      "parents": [
        "5548a8a1138c96e3e6f803c9f2c1f9389c2f0ee6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 24 14:38:30 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 28 15:14:51 2010 -0400"
      },
      "message": "mac80211: use netif_receive_skb in ieee80211_tx_status callpath\n\nThis avoids the extra queueing from calling netif_rx.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "77c2061d10a408d0220c2b0e7faefe52d9c41008",
      "tree": "e2b0ad1abb38cca9e0b9890836fc4290c28656b0",
      "parents": [
        "aed8e1f9910b216ab3e14cb286c431c870f9b78f"
      ],
      "author": {
        "name": "Walter Goldens",
        "email": "goldenstranger@yahoo.com",
        "time": "Tue May 18 04:44:54 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 02 16:13:18 2010 -0400"
      },
      "message": "wireless: fix several minor description typos\n\nSigned-off-by: Walter Goldens \u003cgoldenstranger@yahoo.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0c86980817853e4166f66c7cd18bc5fe1adeb5f7",
      "tree": "945d0486a2bb79e37ee7bde7ea9de510362f5c0d",
      "parents": [
        "5af55428858a45d94893fd6124d60988e89c0d59"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Thu Apr 22 10:27:48 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 26 14:11:40 2010 -0400"
      },
      "message": "mac80211: Fix sta-\u003elast_tx_rate setting with no-op rate control devices\n\nThe sta-\u003elast_tx_rate is traditionally updated just before transmitting a\nframe based on information from the rate control algorithm. However, for\nhardware drivers with IEEE80211_HW_HAS_RATE_CONTROL this is not performed,\nas the rate control algorithm is not executed, and because the used rate is\nnot known before the frame has actually been transmitted.\n\nThis causes atleast a fixed 1Mb/s to be reported to user space. A few other\ninstances of code also rely on this information.\n\nFix this by setting the sta-\u003elast_tx_rate in tx_status handling. There, look\nfor last rates entry set by the driver, and use that as value for\nsta-\u003elast_tx_rate.\n\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "eaf55530c94cb7adcd320c28ed6c7d463c9a3727",
      "tree": "0071ca8d20a17233cced7448f46b4888d6555b51",
      "parents": [
        "819cf15e7cde0a1b0fa4f831478f792434f55679"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Thu Mar 11 16:28:24 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 15 15:31:59 2010 -0400"
      },
      "message": "mac80211: optimize tx status processing\n\nWhen a cooked monitor interface is active, ieee80211_tx_status()\ngenerates a radiotap header for every single frame, even if it wasn\u0027t\ninjected and thus won\u0027t be sent to a monitor interface.\nThis patch reduces cpu utilization by moving the cooked monitor check a\nbit earlier, before it generates the rtap header.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "026331c4d9b526561ea96f95fac4bfc52b69e316",
      "tree": "a82b0a92a7f03a1d151a9db123320689c73d98c7",
      "parents": [
        "8404080568613d93ad7cf0a16dfb68459b42a264"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Mon Feb 15 12:53:10 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 15 16:14:15 2010 -0500"
      },
      "message": "cfg80211/mac80211: allow registering for and sending action frames\n\nThis implements a new command to register for action frames\nthat userspace wants to handle instead of the in-kernel\nrejection. It is then responsible for rejecting ones that\nit decided not to handle. There is no unregistration, but\nthe socket can be closed for that.\n\nFrames that are not registered for will not be forwarded\nto userspace and will be rejected by the kernel, the\ncfg80211 API helps implementing that.\n\nAdditionally, this patch adds a new command that allows\ndoing action frame transmission from userspace. It can be\nused either to exchange action frames on the current\noperational channel (e.g., with the AP with which we are\ncurrently associated) or to exchange off-channel Public\nAction frames with the remain-on-channel command.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "375177bf35efc08e1bd37bbda4cc0c8cc4db8500",
      "tree": "88774b1a46072fd3b0418b36d39d447b78fbfc51",
      "parents": [
        "e15276a4b220c54db665cf46a92bd9ceb9aeb052"
      ],
      "author": {
        "name": "Vivek Natarajan",
        "email": "vnatarajan@atheros.com",
        "time": "Tue Feb 09 14:50:28 2010 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Feb 09 14:10:05 2010 -0500"
      },
      "message": "mac80211: Retry null data frame for power save.\n\nEven if the null data frame is not acked by the AP, mac80211\ngoes into power save. This might lead to loss of frames\nfrom the AP.\nPrevent this by restarting dynamic_ps_timer when ack is not\nreceived for null data frames.\n\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Vivek Natarajan \u003cvnatarajan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "18c949070b57d2cbcc0b25c5cfa003ece204e468",
      "tree": "7f4c82063105476ba96a78a7a9f1d91248d8193f",
      "parents": [
        "f2982181e0531c0b12752336a1578626f99e7828"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Jan 25 19:07:39 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 25 16:40:49 2010 -0500"
      },
      "message": "mac80211: fill jiffies/vif on filtered frames\n\nFiltered frames not only need their control information\ncleared to avoid wrong checks, but also need to have\njiffies and vif assigned so they can be processed or\nexpired.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c6fcf6bcfc3cfc1c00cc7fd9610cfa2b1a18041f",
      "tree": "301713d3f65f3cc9cb99e374c655d6f8bf99c741",
      "parents": [
        "813d76694043d00b59475baa1fbfaf54a2eb7fad"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Jan 17 01:47:59 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 19 16:25:21 2010 -0500"
      },
      "message": "mac80211: re-enable re-transmission of filtered frames\n\nIn an earlier commit,\n\n    mac80211: disable software retry for now\n\n    Pavel Roskin reported a problem that seems to be due to\n    software retry of already transmitted frames. It turns\n    out that we\u0027ve never done that correctly, but due to\n    some recent changes it now crashes in the TX code. I\u0027ve\n    added a comment in the patch that explains the problem\n    better and also points to possible solutions -- which\n    I can\u0027t implement right now.\n\nI disabled software retry of failed/filtered frames\nbecause it was broken. With the work of the previous\npatches, it now becomes fairly easy to re-enable it\nby adding a flag indicating that the frame shouldn\u0027t\nbe modified, but still running it through the transmit\nhandlers to populate the control information.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "697e6a0fb0c8783695d4b4a5d7131476b296d623",
      "tree": "fb64bc9a92a200405736683843a58209230b4056",
      "parents": [
        "edc6ccb7b992bd9ea5db4555c8f0bf74c656f964"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Jan 17 01:47:56 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 19 16:25:16 2010 -0500"
      },
      "message": "mac80211: clear TX control on filtered frames\n\nWhen an skb survived a round-trip through the driver\nand needs to be re-used, its control information is\ndefinitely not valid any more, the driver will have\noverwritten it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9607e6b66a0d25ca63b70d54a4283fa13d8f7c9d",
      "tree": "706cb2c2db2df69fa446eb3848b27107b67f2d25",
      "parents": [
        "d30506e0357e5448c7d38bb3739c451dbe4c174e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:31 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:54:49 2009 -0500"
      },
      "message": "mac80211: add ieee80211_sdata_running\n\nInstead of always using netif_running(sdata-\u003edev)\nuse ieee80211_sdata_running(sdata) now which is\njust an inline containing netif_running() for now.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0f78231bffb868a30e8533aace142213266bb811",
      "tree": "317f65dc6d89e9a89ad83f94fadd780dd1e0ca83",
      "parents": [
        "18974b5b0b5e758d416c550553b143e5c8038281"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Dec 01 13:37:02 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 22 13:31:16 2009 -0500"
      },
      "message": "mac80211: enable spatial multiplexing powersave\n\nEnable spatial multiplexing in mac80211 by telling the\ndriver what to do and, where necessary, sending action\nframes to the AP to update the requested SMPS mode.\n\nAlso includes a trivial implementation for hwsim that\njust logs the requested mode.\n\nFor now, the userspace interface is in debugfs only,\nand let you toggle the requested mode at any time.\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": "914828fad09269292be1bfa3dfbe78d064f76068",
      "tree": "115bd36b908e4e9d2a916af386cec32392e08d00",
      "parents": [
        "a9a29ce674ac62e7bfcb6c1404ca86cda4782988"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Sun Nov 29 14:29:42 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 04 14:16:23 2009 -0500"
      },
      "message": "mac80211: Fix TX status reporting for injected data frames\n\nAn earlier optimization on removing unnecessary traffic on cooked\nmonitor interfaces (\"mac80211: reduce the amount of unnecessary traffic\non cooked monitor interfaces \") ended up removing quite a bit more\nthan just unnecessary traffic. It was not supposed to remove TX status\nreporting for injected frames, but ended up doing it by checking the\ninjected flag in skb-\u003ecb only after that field had been cleared with\nmemset.. Fix this by taking a local copy of the injected flag before\nskb-\u003ecb is cleared.\n\nThis broke user space applications that depend on getting TX status\nnotifications for injected data frames. For example, STA inactivity\npoll from hostapd did not work and ended up kicking out stations even\nif they were still present.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fe7a5d5c1ad659bf0ec7dc171e122aeefa16ac25",
      "tree": "aefd9ef2b3220f1a6dc701ebf208ec951221de45",
      "parents": [
        "62ae67be31c2346b6d74653a148ddbd1b9a94424"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 18 18:42:47 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:27 2009 -0500"
      },
      "message": "mac80211: move TX status handling\n\nIt\u0027s enough code to have its own file, I think.\nEspecially since I\u0027m going to add to it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ]
}
