)]}'
{
  "log": [
    {
      "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": "55182e4adfffa808a1d07a515637c05c67028a5f",
      "tree": "b07870ed475792815cafafabb3dce51f192143aa",
      "parents": [
        "107ef97a170dec95893f34614edd92eb8cb9b5d0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Oct 12 17:28:21 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 14 14:48:16 2011 -0400"
      },
      "message": "mac80211: reformat TX unauthorised check\n\nReformat the check, the indentation is completely strange.\nAlso change the last part of the condition to make the\ncode shorter.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d5294971f11fc2b150437e43a4057c867c2bf413",
      "tree": "34acbba5d71e15793a8e179edc2478c144b08706",
      "parents": [
        "72267e5cfefb2b54b6a16e5775da01e26ede2953"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Oct 07 14:55:40 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 11 16:41:21 2011 -0400"
      },
      "message": "mac80211: dont orphan TX skb\n\nThis was another workaround for truesize \"bugs\".\nThe reason we did this was that when we orphaned\nthe SKB it wouldn\u0027t be truesize-checked later.\nNow that the check is gone (and we just charge\nthe former smaller size to the socket) there\u0027s\nno longer a reason to orphan the skb here.\n\nKeep the skb charged to the socket until it is\nreally freed (or orphaned in TX status). This\nhelps flow control and allows us to get at the\nsocket later for other purposes.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "72267e5cfefb2b54b6a16e5775da01e26ede2953",
      "tree": "d69c7684f6040ee2392a9158bc6d5c346446dece",
      "parents": [
        "73b9f03a813d66484105c4ed648a1aa66fa267aa"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Oct 07 14:55:39 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 11 16:41:20 2011 -0400"
      },
      "message": "mac80211: dont adjust truesize\n\nThere\u0027s no need to adjust truesize.\n\nThe history of this was that we always ran into\nskb_truesize_bug (via skb_truesize_check) which\nhas since been removed in commit 92a0acce186cd.\nskb_truesize_check() checked that truesize  was\nbigger or equal to the actual allocation, which\nwould trigger in mac80211 due to header adding.\nThe check no longer exists and we shouldn\u0027t be\nmessing with the truesize anwyay.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "73b9f03a813d66484105c4ed648a1aa66fa267aa",
      "tree": "37a60a9c61f4537c898a5d863e93f1b445864d7d",
      "parents": [
        "a26eb27ab430147a82e4a9f2f1ebfadf03d99550"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Oct 07 14:01:26 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 11 16:41:19 2011 -0400"
      },
      "message": "mac80211: parse radiotap header earlier\n\nWe can now move the radiotap header parsing into\nieee80211_monitor_start_xmit(). This moves it out of\nthe hotpath, and also helps the code since now the\nradiotap header will no longer be present in\nieee80211_xmit() etc. which is easier to understand.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a26eb27ab430147a82e4a9f2f1ebfadf03d99550",
      "tree": "105c1b9db15ae37f4d69e22bf666861ed78a540e",
      "parents": [
        "68f2b517bcbd81cb19321d5ca208d4c0f13b8728"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Oct 07 14:01:25 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 11 16:41:19 2011 -0400"
      },
      "message": "mac80211: move fragment flag to info flag as dont-fragment\n\nThe purpose of this is two-fold:\n 1) by moving it out of tx_data.flags, we can in\n    another patch move the radiotap parsing so it\n    no longer is in the hotpath\n 2) if a device implements fragmentation but can\n    optionally skip it, the radiotap request for\n    not doing fragmentation may be honoured\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "68f2b517bcbd81cb19321d5ca208d4c0f13b8728",
      "tree": "7613b501332a00bdd43df5a0bcc24d41bd2437fe",
      "parents": [
        "5d9cf4a5d7d46e412bc43b20c79743d81a0328cb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Oct 07 14:01:24 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 11 16:41:18 2011 -0400"
      },
      "message": "mac80211: remove tx_data ethertype\n\nIt\u0027s set, but never used, so kill it.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5d9cf4a5d7d46e412bc43b20c79743d81a0328cb",
      "tree": "5481f798c9407c16ee7958b24559f23d8808a888",
      "parents": [
        "d9cd48f95c5ba9e5f1d5287ed74630607471031c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Oct 07 14:01:23 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 11 16:41:17 2011 -0400"
      },
      "message": "mac80211: optimise monitor xmit\n\nSince the only way the interface can be a monitor\ninterface in ieee80211_xmit() is because the frame\ncame from ieee80211_monitor_start_xmit() we can\nmove all the code there.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "893d73f4a15bda966cb72f84897898eb235e134c",
      "tree": "001d5b58d5c45f3d0c12a5de0bd0eb4290dd2819",
      "parents": [
        "a5abbcb2206953eb1bf86281626363f2fd7a8ceb"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Sep 29 13:42:25 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 03 15:19:17 2011 -0400"
      },
      "message": "mac80211: Allow noack flag overwrite for injected frames\n\nAllow injected unicast frames to be sent without having to wait\nfor an ACK.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "49a59543eb5a5d268b3d11747f9c3c557ae271a0",
      "tree": "cee8bf84d162eb423833ebddf12211b94161618f",
      "parents": [
        "4b801bc969364a980c1366e48155d1a29d20661b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 29 16:04:41 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 30 15:57:25 2011 -0400"
      },
      "message": "mac80211: dont assign seqno to or aggregate QoS Null frames\n\n802.11 says:\n\"Sequence numbers for QoS (+)Null frames may be\nset to any value.\"\n\nHowever, if we use the normal counters then peers\nwill get confused with aggregation since there\u0027ll\nbe holes in the sequence number sequence.\n\nTo avoid that, neither assign a sequence number\nto QoS null frames nor put them on aggregation.\n\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": "ce662b44ce22e3e8886104d5feb2a451d7ba560f",
      "tree": "eb584058dec73807f192fc19725adfece5bad539",
      "parents": [
        "47086fc51aa2220f58049704a8b73e4fcdf372b9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 29 16:04:34 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 30 15:57:16 2011 -0400"
      },
      "message": "mac80211: send (QoS) Null if no buffered frames\n\nFor PS-poll, there\u0027s a possible race between\nus expiring a frame and the station polling\nfor it -- send it a null frame in that case.\n\nFor uAPSD, the standard says that we have to\nsend a frame in each SP, so send null if we\ndon\u0027t have any other frames.\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": "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": "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": "941c93cd039852b7ab02c74f4698c99d82bd6cfe",
      "tree": "8f527535dcb145877ac8cb68f43723b05d574e6e",
      "parents": [
        "07ba55d7f1d0da174c9bc545c713b44cee760197"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Wed Sep 28 14:12:54 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 30 15:57:09 2011 -0400"
      },
      "message": "mac80211: data path modification for TDLS peers\n\nMark the STA entries of enabled TDLS peers with a new \"peer authorized\"\nflag.\n\nDuring link setup, allow special TDLS setup frames through the AP, but\notherwise drop all packets destined to the peer. This is required by the\nTDLS (802.11z) specification in order to prevent reordering of MSDUs\nbetween the AP and direct paths.\n\nWhen setup completes and the peer is authorized, send data directly,\nbypassing the AP.\n\nIn the Rx path, allow data to be received directly from TDLS peers.\n\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nCc: Kalyan C Gaddam \u003cchakkal@iit.edu\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "768db3438b4b48a33d073093bb364e624409cab7",
      "tree": "72e2d33d14484d46c16a2880df9c5d633ce7683c",
      "parents": [
        "109086ce0b0f94760bdb0e8e2566ff8a2d673639"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Wed Sep 28 14:12:51 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 30 15:57:06 2011 -0400"
      },
      "message": "mac80211: standardize adding supported rates IEs\n\nRelocate the mesh implementation of adding the (extended) supported\nrates IE to util.c, anticipating its use by other parts of mac80211.\n\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nCc: Kalyan C Gaddam \u003cchakkal@iit.edu\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2154c81c32fa44364f83218a10d8dbec4e76d4f5",
      "tree": "d51234e55d24c6ff5f4849d2757b57f1d6accaac",
      "parents": [
        "4777be41638cfab56c78b2a764a5f83beb6cfdd2"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Wed Sep 07 17:49:53 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 14 13:56:50 2011 -0400"
      },
      "message": "mac80211: Mesh data frames must have the QoS header\n\nPer sec 7.1.3.5 of draft 12.0 of 802.11s, mesh frames indicate the\npresence of the mesh control header in their QoS header.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4777be41638cfab56c78b2a764a5f83beb6cfdd2",
      "tree": "9b041c2ffdaccf13a24b8bdb62c817cc87942a01",
      "parents": [
        "3de3d966007592693e68a973f62a1e3828565af0"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Wed Sep 07 17:49:52 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 14 13:56:48 2011 -0400"
      },
      "message": "mac80211: Start implementing QoS support for mesh interfaces\n\nIn order to support QoS in mesh, we need to assign queue mapping only\nafter the next hop has been resolved, both for forwarded and locally\noriginated frames.  Also, now that this is fixed, remove the XXX comment\nin ieee80211_select_queue().\n\nAlso, V-Shy Ho reported that the queue mapping was not being applied to\nthe forwarded frame (fwd_skb instead of skb).  Fixed that as well.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "edf6b784c0e574696915e7b04fe42158f3112d0d",
      "tree": "d423c979f0c87ba04891349c08d95573b43f90aa",
      "parents": [
        "24616152b1d184864370c5ea21f8fdbd5a90d58d"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Tue Aug 30 09:32:38 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 13 15:45:03 2011 -0400"
      },
      "message": "mac80211: add flag to indicate HW only Tx-agg setup support\n\nWhen this flag is set, Tx A-MPDU sessions will not be started by\nmac80211. This flag is required for devices that support Tx A-MPDU setup\nin hardware.\n\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d15b84590a1d2ec021ada00a0e67ee5851a0ea2b",
      "tree": "2a05aed04345641fec0647c409779345ef0166f3",
      "parents": [
        "239289e446d4e86ae94b1ca57e358b106cc4bee6"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Aug 29 14:17:31 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 13 15:45:02 2011 -0400"
      },
      "message": "mac80211: Remove unnecessary OOM logging messages\n\nRemoving unnecessary messages saves code and text.\n\nSite specific OOM messages are duplications of a generic MM\nout of memory message and aren\u0027t really useful, so just\ndelete them.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "082ebb0c258d28af7452b19df9ef8b7553f37690",
      "tree": "a7cb2f8e5cf55c4000b549b6ff29c1c99f447825",
      "parents": [
        "f6a3e99da82167e066ebde975ec604638b42d816"
      ],
      "author": {
        "name": "Thomas Pedersen",
        "email": "thomas@cozybit.com",
        "time": "Thu Aug 11 19:35:10 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 22 14:45:59 2011 -0400"
      },
      "message": "mac80211: fix mesh beacon format\n\nCorrect ordering of IEs in the mesh beacon while removing unneeded IEs\nfrom mesh peering frames. Set privacy bit in capability info if security\nis enabled. Add utility functions to aid in construction\nof IEs and reduce code duplication.\n\nSigned-off-by: Thomas Pedersen \u003cthomas@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f75f5c6f61b4d34bf92625fcd1131dd58921e1b5",
      "tree": "509f5c5361ca793c43ccc87d130580638cb38820",
      "parents": [
        "12c5ffb5c4601a11b08533609d4bf119e2f22cf5"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Mon Aug 01 11:32:52 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 09 15:52:01 2011 -0400"
      },
      "message": "mac80211: Fill in skb-\u003eprotocol information for injected frames\n\nSome drivers (ath9k for example) are using skb-\u003eprotocol to treat EAPOL\nframes somehow special (disallow aggregation for example).\n\nWhen running in AP mode hostapd injects the EAPOL frames through a\nmonitor interface and thus skb-\u003eprotocol isn\u0027t set at all. Hence, if the\ninjected frame is a data frame and carries a rfc1042 headaer update the\nskb-\u003eprotocol field accordingly.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "95acac61ba66c4abd40e038dae8c1ed2e176c7b1",
      "tree": "8a1737bc3a2ca8af0031e1c2cda07608965ad282",
      "parents": [
        "2fcf282471f04f465d0368e46e973e01504292b3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jul 12 12:30:59 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 13 14:49:43 2011 -0400"
      },
      "message": "mac80211: allow driver to disconnect after resume\n\nIn WoWLAN, devices may use crypto keys for TX/RX\nand could also implement GTK rekeying. If the\ndriver isn\u0027t able to retrieve replay counters and\nsimilar information from the device upon resume,\nor if the device isn\u0027t responsive due to platform\nissues, it isn\u0027t safe to keep the connection up\nas GTK rekey messages from during the sleep time\ncould be replayed against it.\n\nThe only protection against that is disconnecting\nfrom the AP. Modifying mac80211 to do that while\nit is resuming would be very complex and invasive\nin the case that the driver requires a reconfig,\nso do it after it has resumed completely. In that\ncase, however, packets might be replayed since it\ncan then only happen after TX/RX are up again, so\nmark keys for interfaces that need to disconnect\nas \"tainted\" and drop all packets that are sent\nor received with those keys.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3bff1865186c6bb97855f0c13e3850543dce9cef",
      "tree": "4a9150f82cbb83a01f8fb82b3bf2d69028230928",
      "parents": [
        "252e735d64880b011f6cdeb41ebcac2eaeb58fd3"
      ],
      "author": {
        "name": "Yogesh Ashok Powar",
        "email": "yogeshp@marvell.com",
        "time": "Tue Jun 28 18:41:37 2011 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 05 15:26:50 2011 -0400"
      },
      "message": "mac80211: Skip tailroom reservation for full HW-crypto devices with race fix\n\nBased on inputs from Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nfrom http://article.gmane.org/gmane.linux.kernel.wireless.general/68193\nand http://article.gmane.org/gmane.linux.kernel.wireless.general/71702\n\nIn xmit path, devices that do full hardware crypto (including\nMMIC and ICV) need no tailroom. For such devices, tailroom\nreservation can be skipped if all the keys are programmed into\nthe hardware (i.e software crypto is not used for any of the\nkeys) and none of the keys wants software to generate Michael\nMIC and IV.\n\nv2: Added check for IV along with MMIC.\nReported-by: Fabio Rossi \u003crossi.f@inwind.it\u003e\nTested-by: Fabio Rossi \u003crossi.f@inwind.it\u003e\nSigned-off-by: Mohammed Shafi Shajakhan \u003cmshajakhan@atheros.com\u003e\nCc: Mohammed Shafi Shajakhan \u003cmshajakhan@atheros.com\u003e\n\nv3: Fixing races to avoid WARNING: at net/mac80211/wpa.c:397\n    ccmp_encrypt_skb+0xc4/0x1f0\nReported-by: Andreas Hartmann \u003candihartmann@01019freenet.de\u003e\nTested-by: Andreas Hartmann \u003candihartmann@01019freenet.de\u003e\n\nv4: Added links with message ID\n\nSigned-off-by: Yogesh Ashok Powar \u003cyogeshp@marvell.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ab6a44ce1da48d35fe7ec95fa068aa617bd7e8dd",
      "tree": "fa8cc877e369e5da15a6daead490d3a87f15909f",
      "parents": [
        "d2ac49fe3c7c4730323c1042fb53a2e008643b6a"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 06 14:35:27 2011 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 06 15:23:53 2011 -0400"
      },
      "message": "Revert \"mac80211: Skip tailroom reservation for full HW-crypto devices\"\n\nThis reverts commit aac6af5534fade2b18682a0b9efad1a6c04c34c6.\n\nConflicts:\n\n\tnet/mac80211/key.c\n\nThat commit has a race that causes a warning, as documented in the thread\nhere:\n\n\thttp://marc.info/?l\u003dlinux-wireless\u0026m\u003d130717684914101\u0026w\u003d2\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9cbc94eabb0791906051bbfac024ef2c2be8e079",
      "tree": "41ba194e687c6c60f5c883f98737ac83257d0c00",
      "parents": [
        "1d1652cbdb9885e4d73972263e4cdbe1b0beebfe",
        "7cc31a9ae1477abc79d5992b3afe889f25c50c99"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 17 17:33:11 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 17 17:33:11 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/vmxnet3/vmxnet3_ethtool.c\n\tnet/core/dev.c\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": "28104cae63708d1790cd71db8a45af50d5ea5a92",
      "tree": "035b490c6db1cf1f17e38adf66aab103540ff735",
      "parents": [
        "9b84b80891e5e25ae21c855bb135b05274125a29"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Tue May 03 16:57:17 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 11 14:50:35 2011 -0400"
      },
      "message": "mac80211: Move call to mpp_path_lookup inside RCU-read section\n\nPROVE_RCU caught that one:\n\n[  431.214070] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[  431.215341] [ INFO: suspicious rcu_dereference_check() usage. ]\n[  431.215674] ---------------------------------------------------\n[  431.216043] net/mac80211/mesh_pathtbl.c:184 invoked\nrcu_dereference_check() without protection!\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5db1c07ced19b2eec3a149a3c624d88e02e246ae",
      "tree": "873165bf02bfdbb5822fe6e9a5f0ba96dd70f2db",
      "parents": [
        "16b345d89686ca0482a9ca741a1167def1abdd7f"
      ],
      "author": {
        "name": "Luciano Coelho",
        "email": "coelho@ti.com",
        "time": "Tue May 03 21:40:08 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 10 15:35:43 2011 -0400"
      },
      "message": "mac80211: don\u0027t start the dynamic ps timer if not associated\n\nWhen we are disconnecting, we set PS off, but this happens before we\nsend the deauth/disassoc request.  When the deauth/disassoc frames are\nsent, we trigger the dynamic ps timer, which then times out and turns\nPS back on.  Thus, PS remains on after disconnecting, causing problems\nwhen associating again.\n\nThis can be fixed by preventing the timer to start when we\u0027re not\nassociated anymore.\n\nSigned-off-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4c468fe559f7910b1c6b10d3d223943fdd1b653c",
      "tree": "fb7293c13da3fa79d2472aa2adff8c4341a6e6e3",
      "parents": [
        "cbe8c735f1af88037c3dab570f816e3a77896cc7"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Tue May 03 11:53:07 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu May 05 14:59:06 2011 -0400"
      },
      "message": "mac80211: set TID of internal mgmt packets to 7\n\nThe queue mapping of internal mgmt packets is set to VO. Set the TID\nvalue to match the queue mapping. Otherwise drivers that only look at\nthe TID might get confused.\n\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "aac6af5534fade2b18682a0b9efad1a6c04c34c6",
      "tree": "786840d7b3dc0ea942e91075ffe6f2cf5ba9d5d9",
      "parents": [
        "e2186b7c25ef9cdb6d631c8dd6a672f41abe22d5"
      ],
      "author": {
        "name": "Yogesh Ashok Powar",
        "email": "yogeshp@marvell.com",
        "time": "Wed Apr 27 18:40:29 2011 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 28 14:53:21 2011 -0400"
      },
      "message": "mac80211: Skip tailroom reservation for full HW-crypto devices\n\nIn xmit path, devices that do full hardware crypto (including\nTKIP MMIC) need no tailroom. For such devices, tailroom\nreservation can be skipped if all the keys are programmed into\nthe hardware (i.e software crypto is not used for any of the\nkeys) and none of the keys wants software to generate Michael\nMIC.\n\nSigned-off-by: Yogesh Ashok Powar \u003cyogeshp@marvell.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0915cba394268e68b6a8242b15f8c7283453df43",
      "tree": "184498cf778c3feefd6b78d2856f082135e14f04",
      "parents": [
        "334df731976ee4042c9bf18b2eec9c0a71f45389"
      ],
      "author": {
        "name": "Rajkumar Manoharan",
        "email": "rmanoharan@atheros.com",
        "time": "Mon Apr 25 15:56:17 2011 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 26 15:50:31 2011 -0400"
      },
      "message": "mac80211: Fix warnings due to -Wunused-but-set-variable\n\nThese warnings are exposed by gcc 4.6.\nnet/mac80211/sta_info.c: In function \u0027sta_info_cleanup_expire_buffered\u0027:\nnet/mac80211/sta_info.c:590:32: warning: variable \u0027sdata\u0027 set but not used\nnet/mac80211/ibss.c: In function \u0027ieee80211_rx_mgmt_auth_ibss\u0027:\nnet/mac80211/ibss.c:43:34: warning: variable \u0027status_code\u0027 set but not used\nnet/mac80211/work.c: In function \u0027ieee80211_send_assoc\u0027:\nnet/mac80211/work.c:203:9: warning: variable \u0027len\u0027 set but not used\nnet/mac80211/tx.c: In function \u0027__ieee80211_parse_tx_radiotap\u0027:\nnet/mac80211/tx.c:1039:35: warning: variable \u0027sband\u0027 set but not used\nnet/mac80211/mesh.c: In function \u0027ieee80211_mesh_rx_queued_mgmt\u0027:\nnet/mac80211/mesh.c:616:28: warning: variable \u0027ifmsh\u0027 set but not used\n ...\n\nSigned-off-by: Rajkumar Manoharan \u003crmanoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "581a8b0feeed8877aab3a8ca4c972419790cd07f",
      "tree": "36ef0e86b367e0abeb0a50fbf59840f125efdbc7",
      "parents": [
        "a22e93f5d819f11d2a2d6332e20ff5b462e5c208"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Thu Apr 07 15:08:27 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 12 16:57:37 2011 -0400"
      },
      "message": "nl80211: rename NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE\n\nTo NL80211_MESH_SETUP_IE. This reflects our ability to insert any ie\ninto a mesh beacon, not simply path selection ies.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e16b396ce314b2bcdfe6c173fe075bf8e3432368",
      "tree": "640f0f56f2ea676647af4eb42d32fa56be2ee549",
      "parents": [
        "7fd23a24717a327a66f3c32d11a20a2f169c824f",
        "e6e8dd5055a974935af1398c8648d4a9359b0ecb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 18 10:37:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 18 10:37:40 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (47 commits)\n  doc: CONFIG_UNEVICTABLE_LRU doesn\u0027t exist anymore\n  Update cpuset info \u0026 webiste for cgroups\n  dcdbas: force SMI to happen when expected\n  arch/arm/Kconfig: remove one to many l\u0027s in the word.\n  asm-generic/user.h: Fix spelling in comment\n  drm: fix printk typo \u0027sracth\u0027\n  Remove one to many n\u0027s in a word\n  Documentation/filesystems/romfs.txt: fixing link to genromfs\n  drivers:scsi Change printk typo initate -\u003e initiate\n  serial, pch uart: Remove duplicate inclusion of linux/pci.h header\n  fs/eventpoll.c: fix spelling\n  mm: Fix out-of-date comments which refers non-existent functions\n  drm: Fix printk typo \u0027failled\u0027\n  coh901318.c: Change initate to initiate.\n  mbox-db5500.c Change initate to initiate.\n  edac: correct i82975x error-info reported\n  edac: correct i82975x mci initialisation\n  edac: correct commented info\n  fs: update comments to point correct document\n  target: remove duplicate include of target/target_core_device.h from drivers/target/target_core_hba.c\n  ...\n\nTrivial conflict in fs/eventpoll.c (spelling vs addition)\n"
    },
    {
      "commit": "7bb4568372856688bc070917265bce0b88bb7d4d",
      "tree": "e3ca3e7d233944bbc271c650c8b037c3a6652d98",
      "parents": [
        "43f12d47f0580e04e26c14c03cb19cea9687854e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Feb 24 14:42:06 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 25 15:32:34 2011 -0500"
      },
      "message": "mac80211: make tx() operation return void\n\nThe return value of the tx operation is commonly\nmisused by drivers, leading to errors. All drivers\nwill drop frames if they fail to TX the frame, and\nthey must also properly manage the queues (if they\ndidn\u0027t, mac80211 would already warn).\n\nRemoving the ability for drivers to return a BUSY\nvalue also allows significant cleanups of the TX\nTX handling code in mac80211.\n\nNote that this also fixes a bug in ath9k_htc, the\nold \"return -1\" there was wrong.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nTested-by: Sedat Dilek \u003csedat.dilek@googlemail.com\u003e [ath5k]\nAcked-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e [rt2x00]\nAcked-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e [b43, rtl8187, rtlwifi]\nAcked-by: Luciano Coelho \u003ccoelho@ti.com\u003e [wl12xx]\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": "db28569adc692d9fb8a2d2d8e7ebab7fd5481f10",
      "tree": "2e16f74ef5c73bc0735f43bc223c4330c57e1108",
      "parents": [
        "1a63e2ce4e67f6df74f032ec302314141816e432"
      ],
      "author": {
        "name": "Vivek Natarajan",
        "email": "vnatarajan@atheros.com",
        "time": "Fri Feb 18 17:18:03 2011 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 18 16:54:57 2011 -0500"
      },
      "message": "mac80211: Clear PS related flag on disabling power save.\n\nClear IEEE80211_STA_NULLFUNC_ACKED flag on disabling power\nsave. Without this fix, there is a chance of setting CONF_PS\nbefore sending nullfunc frame.\n\nSigned-off-by: Vivek Natarajan \u003cvnatarajan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0a9d59a2461477bd9ed143c01af9df3f8f00fa81",
      "tree": "df997d1cfb0786427a0df1fbd6f0640fa4248cf4",
      "parents": [
        "a23ce6da9677d245aa0aadc99f4197030350ab54",
        "795abaf1e4e188c4171e3cd3dbb11a9fcacaf505"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Feb 15 10:24:31 2011 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Feb 15 10:24:31 2011 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n"
    },
    {
      "commit": "3ad97fbcc233a295f2ccc2c6bdeb32323e360a5e",
      "tree": "afd41efc01403af33b5c86bd21e74cb881a57571",
      "parents": [
        "3a2329f2680796b0c09ff207803ea880a481c3a4"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Feb 07 22:03:35 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 07 16:18:28 2011 -0500"
      },
      "message": "mac80211: remove unneeded check\n\n\"ap\" is the address of sdata-\u003eu.ap so it can never be NULL here.  Also\nwe dereferenced it on the previous line.  I removed the check.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fc7c976dc7a565213393ce700d4a6105f037bf20",
      "tree": "ab7b069f25f0d6ddce88be4a1c898d3101ed1c09",
      "parents": [
        "3dd823e6b86407aed1a025041d8f1df77e43a9c8"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Mon Feb 07 12:05:00 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 07 16:02:14 2011 -0500"
      },
      "message": "mac80211: fix the skb cloned check in the tx path\n\nUsing skb_header_cloned to check if it\u0027s safe to write to the skb is not\nenough - mac80211 also touches the tailroom of the skb.\nInitially this check was only used to increase a counter, however this\ncommit changed the code to also skip skb data reallocation if no extra\nhead/tailroom was needed:\n\ncommit 4cd06a344db752f513437138953af191cbe9a691\nmac80211: skip unnecessary pskb_expand_head calls\n\nIt added a regression at least with iwl3945, which is fixed by this patch.\n\nReported-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nTested-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b23b025fe246f3acc2988eb6d400df34c27cb8ae",
      "tree": "e1c8cd163dc4dc7c603652a9e101f8381cf66fdc",
      "parents": [
        "cb8d61de2d7f074654057b2b924da1efbf625ad4"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Fri Feb 04 11:54:17 2011 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 04 16:30:32 2011 -0500"
      },
      "message": "mac80211: Optimize scans on current operating channel.\n\nThis should decrease un-necessary flushes, on/off channel work,\nand channel changes in cases where the only scanned channel is\nthe current operating channel.\n\n* Removes SCAN_OFF_CHANNEL flag, uses SDATA_STATE_OFFCHANNEL\n  and is-scanning flags instead.\n\n* Add helper method to determine if we are currently configured\n  for the operating channel.\n\n* Do no blindly go off/on channel in work.c  Instead, only call\n  appropriate on/off code when we really need to change channels.\n  Always enable offchannel-ps mode when starting work,\n  and disable it when we are done.\n\n* Consolidate ieee80211_offchannel_stop_station and\n  ieee80211_offchannel_stop_beaconing, call it\n  ieee80211_offchannel_stop_vifs instead.\n\n* Accept non-beacon frames when scanning on operating channel.\n\n* Scan state machine optimized to minimize on/off channel\n  transitions.  Also, when going on-channel, go ahead and\n  re-enable beaconing.  We\u0027re going to be there for 200ms,\n  so seems like some useful beaconing could happen.\n  Always enable offchannel-ps mode when starting software\n  scan, and disable it when we are done.\n\n* Grab local-\u003emtx earlier in __ieee80211_scan_completed_finish\n  so that we are protected when calling hw_config(), etc.\n\n* Pass probe-responses up the stack if scanning on local\n  channel, so that mlme can take a look.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "512119b36f7945a650877cbc7e9b5f4cc4d92e4c",
      "tree": "324117fb41bff372ac9a5e669cf279106731cac1",
      "parents": [
        "4099e2f4404762add8ef2b0dadef3c5122117210"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@googlemail.com",
        "time": "Mon Jan 31 20:48:44 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 04 16:29:49 2011 -0500"
      },
      "message": "mac80211: fix race between next beacon dtim and ieee80211_get_buffered_bc\n\nOn review of \u0027zd1211rw: implement beacon fetching and handling\nieee80211_get_buffered_bc()\u0027, Christian Lamparter noted that [1]:\n\n   Since zd_beacon_done also uploads the next beacon so long in advance,\n   there could be an equally long race between the outdated state of the\n   next beacon\u0027s DTIM broadcast traffic indicator (802.11-2007 7.3.2.6)\n   which -in your case- was uploaded almost a beacon interval ago and\n   the xmit of ieee80211_get_buffered_bc *now*.\n\n   The dtim bc/mc bit might be not set, when a mc/bc arrived after the\n   beacon was uploaded, but before the \"beacon done event\" from the\n   hardware. So, dozing stations don\u0027t expect the broadcast traffic\n   and of course, they might miss it completely.\n\n   It\u0027s probably better to fix this in mac80211 (see the attached hack).\n\n[1] http://marc.info/?l\u003dlinux-wireless\u0026m\u003d129435041117256\u0026w\u003d2\n\nCC: Christian Lamparter \u003cchunkeey@googlemail.com\u003e\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8fd369eeaa81d05969787c9ddf9cf3f1a8c4e084",
      "tree": "9ab29670407547e03b00b4671687de151bbe0980",
      "parents": [
        "2cf22b897c63df65e7360a1897e5312c58617fbd"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Mon Jan 31 22:29:12 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Feb 03 16:44:44 2011 -0500"
      },
      "message": "mac80211: do not calc frame duration when using HW rate-control\n\nWhen rate-control is performed in HW, we cannot calculate frame\nduration as we do not have the skb transmission rate in SW.\n\nieee80211_tx_h_calculate_duration() should only be called when\nieee80211_tx_h_rate_ctrl() has been called before to initialize data\nin skb-\u003ecb. This doesn\u0027t happen for drivers with HW rate-control.\n\nFixes the following warning when operating in AP-mode\nin a driver with HW rate-control.\n\nWARNING: at net/mac80211/tx.c:57 ieee80211_duration+0x54/0x1d8 [mac80211]()\nModules linked in: wl1271_sdio wl1271 firmware_class crc7 mac80211 cfg80211\n[\u003cc0046090\u003e] (unwind_backtrace+0x0/0x124) from [\u003cc0064c10\u003e] (warn_slowpath_common+0x4c/0x64)\n[\u003cc0064c10\u003e] (warn_slowpath_common+0x4c/0x64) from [\u003cc0064c40\u003e] (warn_slowpath_null+0x18/0x1c)\n[\u003cc0064c40\u003e] (warn_slowpath_null+0x18/0x1c) from [\u003cbf040e34\u003e] (ieee80211_duration+0x54/0x1d8 [mac80211])\n[\u003cbf040e34\u003e] (ieee80211_duration+0x54/0x1d8 [mac80211]) from [\u003cbf04200c\u003e] (invoke_tx_handlers+0xfa0/0x1088 [mac80211])\n[\u003cbf04200c\u003e] (invoke_tx_handlers+0xfa0/0x1088 [mac80211]) from [\u003cbf042178\u003e] (ieee80211_tx+0x84/0x248 [mac80211])\n[\u003cbf042178\u003e] (ieee80211_tx+0x84/0x248 [mac80211]) from [\u003cbf042f44\u003e] (ieee80211_tx_pending+0x12c/0x278 [mac80211])\n[\u003cbf042f44\u003e] (ieee80211_tx_pending+0x12c/0x278 [mac80211]) from [\u003cc0069a9c\u003e] (tasklet_action+0x68/0xbc)\n[\u003cc0069a9c\u003e] (tasklet_action+0x68/0xbc) from [\u003cc006a044\u003e] (__do_softirq+0x84/0x114)\n[\u003cc006a044\u003e] (__do_softirq+0x84/0x114) from [\u003cc006a1b8\u003e] (do_softirq+0x48/0x54)\n[\u003cc006a1b8\u003e] (do_softirq+0x48/0x54) from [\u003cc006a4f8\u003e] (local_bh_enable+0x98/0xcc)\n[\u003cc006a4f8\u003e] (local_bh_enable+0x98/0xcc) from [\u003cbf074e60\u003e] (wl1271_rx+0x2e8/0x3a4 [wl1271])\n[\u003cbf074e60\u003e] (wl1271_rx+0x2e8/0x3a4 [wl1271]) from [\u003cbf071ae4\u003e] (wl1271_irq_work+0x230/0x310 [wl1271])\n[\u003cbf071ae4\u003e] (wl1271_irq_work+0x230/0x310 [wl1271]) from [\u003cc0076864\u003e] (process_one_work+0x208/0x350)\n[\u003cc0076864\u003e] (process_one_work+0x208/0x350) from [\u003cc0076e14\u003e] (worker_thread+0x1cc/0x300)\n[\u003cc0076e14\u003e] (worker_thread+0x1cc/0x300) from [\u003cc007bb88\u003e] (kthread+0x84/0x8c)\n[\u003cc007bb88\u003e] (kthread+0x84/0x8c) from [\u003cc0041494\u003e] (kernel_thread_exit+0x0/0x8)\n\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3e11210d46a4f252f41db6e442b46026aeddbb59",
      "tree": "b258375de649a5e04e8d567c850b47c41f8ceb11",
      "parents": [
        "3bf63e59e577cbecd41334c866f501c4cc5d54c5",
        "c7c1806098752c1f46943d8db2c69aff07f5d4bc"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 28 16:23:14 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 28 16:23:14 2011 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/init.c\n"
    },
    {
      "commit": "eb3e554b4b3a56386ef5214dbe0e3935a350178b",
      "tree": "7c107dadb64f044c7747c41e369f9780ab611cb1",
      "parents": [
        "bdc4bf652bc0271ba8f1f25bbd3dbac90bead44e"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Mon Jan 24 19:28:49 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 25 16:28:56 2011 -0500"
      },
      "message": "mac80211: fix a crash in ieee80211_beacon_get_tim on change_interface\n\nSome drivers (e.g. ath9k) do not always disable beacons when they\u0027re\nsupposed to. When an interface is changed using the change_interface op,\nthe mode specific sdata part is in an undefined state and trying to\nget a beacon at this point can produce weird crashes.\n\nTo fix this, add a check for ieee80211_sdata_running before using\nanything from the sdata.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ac1bd8464f161ed1475ef73c431b926256c6b5bb",
      "tree": "6a755cadfd24e1c988e75383d30c789c5b149b3d",
      "parents": [
        "4801416c76a3a355076d6d371c00270dfe332e1c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jan 18 13:45:32 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 19 11:36:11 2011 -0500"
      },
      "message": "mac80211: don\u0027t return beacons when mesh is disabled\n\nWhen mesh is disabled, mac80211 was returning\nbeacons with an empty mesh ID. That isn\u0027t\ndesirable, even if drivers shouldn\u0027t be trying\nto get beacons to start with.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0a65169b1f602b955176cb5f0789139d0fccb041",
      "tree": "be2fcda442db0d8e678a79d8a346224a03afa528",
      "parents": [
        "115dad7a7f42e68840392767323ceb9306dbdb36"
      ],
      "author": {
        "name": "Wey-Yi Guy",
        "email": "wey-yi.w.guy@intel.com",
        "time": "Fri Jan 14 08:07:56 2011 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 19 11:36:09 2011 -0500"
      },
      "message": "mac80211: mesh only parameter mppath maybe unused\n\nmppath is mesh related parameter and maybe unused\n\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9d52501b421450ddd9e000c9788ac3be0e44ef1c",
      "tree": "e0a1c5a7b9fc179a5fd4822e4a7dff954084e56a",
      "parents": [
        "04cf53f465049c7c509aac7b776f75d38ef68e69"
      ],
      "author": {
        "name": "Joel A Fernandes",
        "email": "agnel.joel@gmail.com",
        "time": "Mon Jan 10 00:44:23 2011 -0600"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 19 11:36:07 2011 -0500"
      },
      "message": "mac80211: Rewrote code for checking if destinations are proxied.\n\nRewrote code for checking if the destination is proxied by a mesh portal, to facilitate better\nunderstanding of the functionality.\n\nSigned-off-by: Joel A Fernandes \u003cagnel.joel@gmail.com\u003e\nAcked-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "42b16b3fbb5ee4555f5dee6220f3ccaa6e1ebe47",
      "tree": "966c1266afca5dd0e59cace37f7cd49577bdf0e2",
      "parents": [
        "f0940cee222790e6e995a23f25c4ffb23f939a24"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Mon Jan 17 00:09:38 2011 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Jan 19 15:43:08 2011 +0100"
      },
      "message": "Kill off warning: ‘inline’ is not at beginning of declaration\n\nFix a bunch of\n\twarning: ‘inline’ is not at beginning of declaration\nmessages when building a \u0027make allyesconfig\u0027 kernel with -Wextra.\n\nThese warnings are trivial to kill, yet rather annoying when building with\n-Wextra.\nThe more we can cut down on pointless crap like this the better (IMHO).\n\nA previous patch to do this for a \u0027allnoconfig\u0027 build has already been\nmerged. This just takes the cleanup a little further.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "c96e96354a6c9456cdf1f150eca504e2ea35301e",
      "tree": "751bec601fb8152116b8e31e0f1f83d687a37d6f",
      "parents": [
        "dbbe68bb12b34f3e450da7a73c20e6fa1f85d63a",
        "33af88138b859f515b365a074e0a014d7cdbf846"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 05 16:06:25 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 05 16:06:25 2011 -0500"
      },
      "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\tnet/bluetooth/Makefile\n"
    },
    {
      "commit": "f76b57b47e5fd423f9827c7b0ba7bbd06cca6b9b",
      "tree": "8ff2b50bb0e57611f5d37fe6abaef75f9fcd34a6",
      "parents": [
        "1c30cc19081c16b1fe73ac13f2cb2abc009cdcc4"
      ],
      "author": {
        "name": "Joel A Fernandes",
        "email": "agnel.joel@gmail.com",
        "time": "Tue Dec 28 19:28:11 2010 -0600"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 04 14:43:01 2011 -0500"
      },
      "message": "mac80211: Fix mesh portal communication with other mesh nodes.\n\nFixed a bug where if a mesh interface has a different MAC address from its bridge\ninterface, then it would not be able to send data traffic to any other mesh node.\nThis also adds support for communication between mesh nodes and external bridged\nnodes by using a 6 address format if the source is a node within the mesh and the\ndestination is an external node proxied by a mesh portal.\n\nSigned-off-by: Joel A Fernandes \u003cagnel.joel@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e1e5406854378dfada3f33c7192b012083a5b8e0",
      "tree": "e878058f28b8f6db50ef5d73d09aed66dd9ad9f2",
      "parents": [
        "fe67c913f1ec2a01aaa9176c80ef36eaf87d705d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 30 08:58:45 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 22 14:33:37 2010 -0500"
      },
      "message": "mac80211: add throughput based LED blink trigger\n\niwlwifi and other drivers like to blink their LED\nbased on throughput. Implement this generically in\nmac80211, based on a throughput table the driver\nspecifies. That way, drivers can set the blink\nfrequencies depending on their desired behaviour\nand max throughput.\n\nAll the drivers need to do is provide an LED class\ndevice, best with blink hardware offload.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f8a0a781488ec7288d1049e5d2022850aa98f7b6",
      "tree": "3acab2f7a781ce3ed83bcd5350ac14b133dc0e45",
      "parents": [
        "4cd06a344db752f513437138953af191cbe9a691"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sat Dec 18 19:30:50 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 20 14:52:17 2010 -0500"
      },
      "message": "mac80211: fix potentially redundant skb data copying\n\nWhen an skb is shared, it needs to be duplicated, along with its data buffer.\nIf the skb does not have enough headroom, using skb_copy might cause the data\nbuffer to be copied twice (once by skb_copy and once by pskb_expand_head).\nFix this by using skb_clone initially and letting ieee80211_skb_resize sort\nout the rest.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4cd06a344db752f513437138953af191cbe9a691",
      "tree": "ec6a52da07449e20a10e59f2ee669467dd56089e",
      "parents": [
        "489ee9195a7de9e6bc833d639ff6b553ffdad90e"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sat Dec 18 19:30:49 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 20 14:52:17 2010 -0500"
      },
      "message": "mac80211: skip unnecessary pskb_expand_head calls\n\nIf the skb is not cloned and we don\u0027t need any extra headroom, there\nis no point in reallocating the skb head.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "489ee9195a7de9e6bc833d639ff6b553ffdad90e",
      "tree": "fe32219b2530610e70f5fe2923f96f565b8b987a",
      "parents": [
        "ae29fbb189c7a80677500c718c9ce08095ccde01"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sat Dec 18 19:30:48 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 20 14:52:17 2010 -0500"
      },
      "message": "mac80211: fix initialization of skb-\u003ecb in ieee80211_subif_start_xmit\n\nThe change \u0027mac80211: Fix BUG in pskb_expand_head when transmitting shared skbs\u0027\nadded a check for copying the skb if it\u0027s shared, however the tx info variable\nstill points at the cb of the old skb\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nAcked-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "61ad5394590c5c5338ab4ec50553d809a9996d50",
      "tree": "e10a19ac4a14124ff223c29ed18a97b624e5244b",
      "parents": [
        "3de135dba9341a3d10a7a5b9533ce11cb77d4f4d"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Thu Dec 16 17:23:34 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 20 14:49:47 2010 -0500"
      },
      "message": "mac80211: Remove unused third address from mesh address extension header.\n\nThe Mesh Control header only includes 0, 1 or 2 addresses. If there is\none address, it should be interpreted as Address 4.  If there are 2,\nthey are interpreted as Addresses 5 and 6 (Address 4 being the 4th\naddress in the 802.11 header).\n\nThe address extension used to hold up to 3 addresses instead of the current 2.\nI\u0027m not sure which draft version changed this, but it is very unlikely that it\nwill change again given the state of the approval process of this draft.  See\nsection 7.1.3.6.3 in current draft (8.0).\n\nAlso, note that the extra address that I\u0027m removing was not being used, so this\nchange has no effect on over-the-air frame formats.  But I thought I better\nremove it before someone does start using it.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c80d545da3f7c0e534ccd4a780f322f80a92cff1",
      "tree": "edd5c51676b4677fc1a0b2fc692ffe97df863f25",
      "parents": [
        "24bdd9f4c9af75b33b438d60381a67626de0128d"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Thu Dec 16 17:37:49 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 20 14:46:57 2010 -0500"
      },
      "message": "mac80211: Let userspace enable and configure vendor specific path selection.\n\nUserspace will now be allowed to toggle between the default path\nselection algorithm (HWMP, implemented in the kernel), and a vendor\nspecific alternative.  Also in the same patch, allow userspace to add\ninformation elements to mesh beacons.  This is accordance with the\nExtensible Path Selection Framework specified in version 7.0 of the\n802.11s draft.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f7e0104c1a4e77cc4f23d5969b0677bdc4f62c63",
      "tree": "6d1622ec2f6152b611867df1b7a0269471655b53",
      "parents": [
        "dbd2fd656f2060abfd3a16257f8b51ec60f6d2ed"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Dec 09 19:49:02 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 13 15:23:29 2010 -0500"
      },
      "message": "mac80211: support separate default keys\n\nAdd support for split default keys (unicast\nand multicast) 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": "393934c6b5c8d00f9d1ae20670d4a770f07a418a",
      "tree": "dad33cd2e4fc0e3d3b28dcbc36cfb44178cb046c",
      "parents": [
        "69f4aab1157d2a386e7ea4de77cc253629d1b4f2",
        "0a54917c3fc295cb61f3fb52373c173fd3b69f48"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 08 16:23:31 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 08 16:23:31 2010 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/ath9k.h\n\tdrivers/net/wireless/ath/ath9k/main.c\n\tdrivers/net/wireless/ath/ath9k/xmit.c\n"
    },
    {
      "commit": "7e2447075690860e2cea96b119fc9cadbaa7e83c",
      "tree": "1bede27944240867d96e0440fbadb254b04368cd",
      "parents": [
        "f933ebed7888a9a7d73ebeeb6bcbb3f710c423b4"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Dec 02 18:44:09 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 08 15:23:48 2010 -0500"
      },
      "message": "mac80211: Fix BUG in pskb_expand_head when transmitting shared skbs\n\nmac80211 doesn\u0027t handle shared skbs correctly at the moment. As a result\na possible resize can trigger a BUG in pskb_expand_head.\n\n[  676.030000] Kernel bug detected[#1]:\n[  676.030000] Cpu 0\n[  676.030000] $ 0   : 00000000 00000000 819662ff 00000002\n[  676.030000] $ 4   : 81966200 00000020 00000000 00000020\n[  676.030000] $ 8   : 819662e0 800043c0 00000002 00020000\n[  676.030000] $12   : 3b9aca00 00000000 00000000 00470000\n[  676.030000] $16   : 80ea2000 00000000 00000000 00000000\n[  676.030000] $20   : 818aa200 80ea2018 80ea2000 00000008\n[  676.030000] $24   : 00000002 800ace5c\n[  676.030000] $28   : 8199a000 8199bd20 81938f88 80f180d4\n[  676.030000] Hi    : 0000026e\n[  676.030000] Lo    : 0000757e\n[  676.030000] epc   : 801245e4 pskb_expand_head+0x44/0x1d8\n[  676.030000]     Not tainted\n[  676.030000] ra    : 80f180d4 ieee80211_skb_resize+0xb0/0x114 [mac80211]\n[  676.030000] Status: 1000a403    KERNEL EXL IE\n[  676.030000] Cause : 10800024\n[  676.030000] PrId  : 0001964c (MIPS 24Kc)\n[  676.030000] Modules linked in: mac80211_hwsim rt2800lib rt2x00soc rt2x00pci rt2x00lib mac80211 crc_itu_t crc_ccitt cfg80211 compat arc4 aes_generic deflate ecb cbc [last unloaded: rt2800pci]\n[  676.030000] Process kpktgend_0 (pid: 97, threadinfo\u003d8199a000, task\u003d81879f48, tls\u003d00000000)\n[  676.030000] Stack : ffffffff 00000000 00000000 00000014 00000004 80ea2000 00000000 00000000\n[  676.030000]         818aa200 80f180d4 ffffffff 0000000a 81879f78 81879f48 81879f48 00000018\n[  676.030000]         81966246 80ea2000 818432e0 80f1a420 80203050 81814d98 00000001 81879f48\n[  676.030000]         81879f48 00000018 81966246 818432e0 0000001a 8199bdd4 0000001c 80f1b72c\n[  676.030000]         80203020 8001292c 80ef4aa2 7f10b55d 801ab5b8 81879f48 00000188 80005c90\n[  676.030000]         ...\n[  676.030000] Call Trace:\n[  676.030000] [\u003c801245e4\u003e] pskb_expand_head+0x44/0x1d8\n[  676.030000] [\u003c80f180d4\u003e] ieee80211_skb_resize+0xb0/0x114 [mac80211]\n[  676.030000] [\u003c80f1a420\u003e] ieee80211_xmit+0x150/0x22c [mac80211]\n[  676.030000] [\u003c80f1b72c\u003e] ieee80211_subif_start_xmit+0x6f4/0x73c [mac80211]\n[  676.030000] [\u003c8014361c\u003e] pktgen_thread_worker+0xfac/0x16f8\n[  676.030000] [\u003c8002ebe8\u003e] kthread+0x7c/0x88\n[  676.030000] [\u003c80008e0c\u003e] kernel_thread_helper+0x10/0x18\n[  676.030000]\n[  676.030000]\n[  676.030000] Code: 24020001  10620005  2502001f \u003c0200000d\u003e 0804917a  00000000  2502001f  00441023  00531021\n\nFix this by making a local copy of shared skbs prior to mangeling them.\nTo avoid copying the skb unnecessarily move the skb_copy call below the\nchecks that don\u0027t need write access to the skb.\n\nAlso, move the assignment of nh_pos and h_pos below the skb_copy to point\nto the correct skb.\n\nIt would be possible to avoid another resize of the copied skb by using\nskb_copy_expand instead of skb_copy but that would make the patch more\ncomplex. Also, shared skbs are a corner case right now, so the resize\nshouldn\u0027t matter much.\n\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c1ce5a74d113f221d40625bd3ad83df2db2695b7",
      "tree": "29456d61473f3273d83420e3fa12f7476657adfd",
      "parents": [
        "5f79ed3b1aa7af260c82ba714b90907070aeca7a"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Wed Dec 01 16:34:45 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 06 15:58:43 2010 -0500"
      },
      "message": "mac80211: Update last_tx_rate only for data frames\n\nThe last_tx_rate field was also updated for non-data frames that are\noften sent with a lower rate (for example management frames at 1 Mbps).\nThis is confusing when the data rate is actually much higher.\n\nHence, only update the last_tx_rate field with tx rate information\ngathered from last data frames.\n\nIf the rate control algorithm filled in txrc.reported_rate we don\u0027t need\nto verify this information.\n\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "09f921f83faa49cdea25abfb98c439c01526b89d",
      "tree": "1e8ee5c8f14e0e57965eca81bc6725288fd3597b",
      "parents": [
        "4cebb34caa5122216a1e2451eae9e0fc47ec2589",
        "d89197c7f34934fbb0f96d938a0d6cfe0b8bcb1c"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Dec 02 15:46:37 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Dec 02 15:46:37 2010 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/ar9003_eeprom.c\n"
    },
    {
      "commit": "7dff3125534c1d035a910052335a3a39fbb31aa7",
      "tree": "533142aacfc3d49067449173fb006225f41bc459",
      "parents": [
        "46047784b8cdcfc916f6c1cccee0c18dd1223dfd"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Fri Nov 26 20:41:55 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 29 14:41:28 2010 -0500"
      },
      "message": "mac80211: Fix frame injection using non-AP vif\n\nIn order for frame injection to work properly for some use cases\n(e.g., finding the station entry and keys for encryption), mac80211\nneeds to find the correct sdata entry. This works when the main vif\nis in AP mode, but commit a2c1e3dad516618cb0fbfb1a62c36d0b0744573a\nbroke this particular use case for station main vif. While this type of\ninjection is quite unusual operation, it has some uses and we should fix\nit. Do this by changing the monitor vif sdata selection to allow station\nvif to be selected instead of limiting it to just AP vifs. We still need\nto skip some iftypes to avoid selecting unsuitable vif for injection.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8f0729b16ae354f9db89394fc1d2d65003455d56",
      "tree": "260a562d0c0079ebfc1c507c9aa50e55a1592b6d",
      "parents": [
        "885a46d0f7942d76c2f3860acb45f75237d3bb42"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Thu Nov 11 15:07:23 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:39:08 2010 -0500"
      },
      "message": "mac80211: add support for setting the ad-hoc multicast rate\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f23a478075659db8a4fd62fa6e264a8bb052cc5b",
      "tree": "ba1492a4a781770644359b88e8ca2d8d3a00adc2",
      "parents": [
        "ca4a0831917d6541b45f03542257fcb20dc9cf4a"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Mon Nov 08 11:51:06 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:37:04 2010 -0500"
      },
      "message": "mac80211: support hardware TX fragmentation offload\n\nThe lower driver is notified when the fragmentation threshold changes\nand upon a reconfig of the interface.\n\nIf the driver supports hardware TX fragmentation, don\u0027t fragment\npackets in the stack.\n\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e31b82136d1adc7a599b6e99d3321e5831841f5a",
      "tree": "c72d78d4cccfd08587e909c7efe59956f1cbc23e",
      "parents": [
        "53f73c09d64f1fa7d7e6e8b6bb7468d42eddc92d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Oct 05 19:39:30 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 06 16:30:40 2010 -0400"
      },
      "message": "cfg80211/mac80211: allow per-station GTKs\n\nThis adds API to allow adding per-station GTKs,\nupdates mac80211 to support it, and also allows\ndrivers to remove a key from hwaccel again when\nthis may be necessary due to multiple GTKs.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1be7fe8de9f25e173282f8f989f83bc5b5decfe9",
      "tree": "e7b45e034560f6dc0f0403d098d85e1c94a3b3e1",
      "parents": [
        "e8347ebad2f1b15bddb6ed3ed5f767531eb52dc3"
      ],
      "author": {
        "name": "Bill Jordan",
        "email": "bjordan@rajant.com",
        "time": "Fri Oct 01 11:20:41 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:25 2010 -0400"
      },
      "message": "mac80211: fix for WDS interfaces\n\nInitialize the rate table for WDS interfaces, and\nadd cases to allow WDS packets to pass the xmit and receive\ntests.\n\nSigned-off-by: Bill Jordan \u003cbjordan@rajant.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "740c1aa3b01251c3c324743f395621749b099065",
      "tree": "9fe20602ca607b45a93a4d3a595f48456ac7232d",
      "parents": [
        "a1e567c83f541432e687142570215b75bebb1338"
      ],
      "author": {
        "name": "Steve deRosier",
        "email": "steve@cozybit.com",
        "time": "Sat Sep 11 20:01:31 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 14 16:08:03 2010 -0400"
      },
      "message": "mac80211: Fix dangling pointer in ieee80211_xmit\n\nhdr pointer is left dangling after call to ieee80211_skb_resize. This\ncan cause guards around mesh path selection to fail.\n\nSigned-off-by: Steve deRosier \u003csteve@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2337db8db845ece2d4ab7673a343e285f1bfda85",
      "tree": "ec1a3c806b8638c08caf8acef1b9d411e1e612fd",
      "parents": [
        "a621fa4d6a7fdf9d34938d2e129a72624833eeeb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 13:36:49 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:27:08 2010 -0400"
      },
      "message": "mac80211: use subqueue helpers\n\nThere are subqueue helpers so that we don\u0027t\nneed to get the TX queue and then wake/stop\nit, use those helpers.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a621fa4d6a7fdf9d34938d2e129a72624833eeeb",
      "tree": "1b15e9fabbec3b2bdf04f5cd60526c0154a0dcc1",
      "parents": [
        "c0692b8fe29fb4d4dad33487aabf3ed7e1e880c0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 14:26:54 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:27:07 2010 -0400"
      },
      "message": "mac80211: allow changing port control protocol\n\nSome vendor specified mechanisms for 802.1X-style\nfunctionality use a different protocol than EAP\n(even if EAP is vendor-extensible). Support this\nin mac80211 via the cfg80211 API for it.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3ffc2a905b1faae4c0fe39d66f0752c3a4cbb3c7",
      "tree": "d50902e1e171877e4fb034e36c837f16984ab9b4",
      "parents": [
        "7d64b7cc1fc33bab24567903a93f699d11649c0b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 14:26:52 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:27:07 2010 -0400"
      },
      "message": "mac80211: allow vendor specific cipher suites\n\nAllow drivers to specify their own set of cipher\nsuites to advertise vendor-specific ciphers. The\ndriver is then required to implement hardware\ncrypto offload for it.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ff67bb86d448c26cb9110e9681669dc4a8aa5e0a",
      "tree": "b8fed75d276b69d3265713469aebcfb60b51400e",
      "parents": [
        "3a59babbee409fa5f1b2dd8a14c40803b5eb288b"
      ],
      "author": {
        "name": "Wey-Yi Guy",
        "email": "wey-yi.w.guy@intel.com",
        "time": "Sat Aug 21 07:23:29 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:33:17 2010 -0400"
      },
      "message": "mac80211: fix warning for un-used parameter\n\nmesh_hdr only used when CONFIG_MAC80211_MESH is defined\n\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.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": "97359d1235eaf634fe706c9faa6e40181cc95fb8",
      "tree": "5799455c94622eaa6a4fb065bd3b5c350bb705e0",
      "parents": [
        "915a824e30c503157c38115eb6a85f60bb653738"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Aug 10 09:46:38 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 16 16:45:11 2010 -0400"
      },
      "message": "mac80211: use cipher suite selectors\n\nCurrently, mac80211 translates the cfg80211\ncipher suite selectors into ALG_* values.\nThat isn\u0027t all too useful, and some drivers\nbenefit from the distinction between WEP40\nand WEP104 as well. Therefore, convert it\nall to use the cipher suite selectors.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e4ab7eb0aecbe56ac280486c61cd3f0f6c42870b",
      "tree": "10a03d37bc640f1c572541806e2a6541b5ea019b",
      "parents": [
        "099284bdecf6e0af78662371ed3f45b71d796aad"
      ],
      "author": {
        "name": "Yuri Ershov",
        "email": "ext-yuri.ershov@nokia.com",
        "time": "Tue Jun 29 15:08:06 2010 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 28 16:24:01 2010 -0400"
      },
      "message": "mac80211: Put some code under MESH macro\n\nIn the function ieee80211_subif_start_xmit the logic related with\nmeshdrlen is under CONFIG_MAC80211_MESH macro, but in one place it isn\u0027t.\nThis is some update for this\n\nSigned-off-by: Yuri Ershov \u003cext-yuri.ershov@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ec25acc46a62db98baaa9b221f33b66af09a1964",
      "tree": "78e577f444850b70415120bf9a68a642ee8960fa",
      "parents": [
        "bd75eb854300c7e09eaf067572498abdeb9d3424"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jul 22 17:11:28 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 26 15:32:42 2010 -0400"
      },
      "message": "mac80211: fix sta assignment\n\nI just had the following:\nWARNING: at drivers/net/wireless/iwlwifi/iwl-agn-tx.c:574 iwlagn_tx_skb+0x1576/0x15f0 [iwlagn]()\nCall Trace:\n \u003cIRQ\u003e  [\u003cffffffff8105c5df\u003e] warn_slowpath_common+0x7f/0xc0\n [\u003cffffffff8105c63a\u003e] warn_slowpath_null+0x1a/0x20\n [\u003cffffffffa0290b46\u003e] iwlagn_tx_skb+0x1576/0x15f0 [iwlagn]\n [\u003cffffffffa027076c\u003e] iwl_mac_tx+0x5c/0x260 [iwlagn]\n [\u003cffffffffa01bdf5b\u003e] __ieee80211_tx+0x10b/0x1a0 [mac80211]\n [\u003cffffffffa01bfb86\u003e] ieee80211_tx_pending+0x186/0x2d0 [mac80211]\n [\u003cffffffff81062ea5\u003e] tasklet_action+0x125/0x130\n [\u003cffffffff810634a6\u003e] __do_softirq+0x106/0x270\n [\u003cffffffff8100c09c\u003e] call_softirq+0x1c/0x30\niwlagn 0000:02:00.0: Attempting to modify non-existing station 107\n\nNote that 107 \u003d\u003d 0x6b which is slab poison.\n\nThe reason is that mac80211 passed a freed station\npointer to mac80211, because as it happened iwlwifi\nreset itself while mac80211 was disconnecting from\nthe network.\n\nIt turns out that we do take care to look up the\nstation pointer in ieee80211_tx_pending_skb, but\nthen don\u0027t use it, which obviously is a bug. Fix\nthis by removing the ieee80211_tx_h_sta handler\nand assigning the station pointer directly.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0ab337032a0dfcd5f2527d3306d3deeba5f95b59",
      "tree": "88795edc149fd88574fece0c8f23774ee8a9155c",
      "parents": [
        "a6a67db2bc89d2b1ff07e0817f11235c20d2c329"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:42 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:27 2010 -0400"
      },
      "message": "mac80211: make TX aggregation start/stop request async\n\nWhen the driver or rate control requests starting\nor stopping an aggregation session, that currently\ncauses a direct callback into the driver, which\ncould potentially cause locking problems. Also,\nthe functions need to be callable from contexts\nthat cannot sleep, and thus will interfere with\nmaking the ampdu_action callback sleeping.\n\nTo address these issues, add a new work item for\neach station that will process any start or stop\nrequests out of line.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a622ab72b4dcfdf53e24b16e9530cb876979a00c",
      "tree": "170d2ccf3a594f3675b5fa58378319031054e806",
      "parents": [
        "a87f736d942c86255e3088c606f0e3eab6bbf784"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:39 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:27 2010 -0400"
      },
      "message": "mac80211: use RCU for TX aggregation\n\nCurrently we allocate some memory for each TX\naggregation session and additionally keep a\nstate bitmap indicating the state it is in.\nBy using RCU to protect the pointer, moving\nthe state into the structure and some locking\ntrickery we can avoid locking when the TX agg\nsession is fully operational.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a472e71b3c71619087d2485282955c3b62ebfde9",
      "tree": "7fb74948011e568c791de4686df0f48f86b71fb5",
      "parents": [
        "55f9321a024a2d03f71a23b74003792692ca1a38"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu May 06 14:45:17 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri May 07 14:55:55 2010 -0400"
      },
      "message": "mac80211: set IEEE80211_TX_CTL_FIRST_FRAGMENT for beacons\n\nAlso simplify the flags assignment into a single statement at the\nend of ieee80211_beacon_get_tim.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a2c40249a36d0b4d76d1caf6bf806e4ae5b06e8a",
      "tree": "5184590de0d70625572e8a7385e30fe26e4d42e4",
      "parents": [
        "a060bbfe4ee95d115e8f9705a66894ac34e2c475"
      ],
      "author": {
        "name": "Shanyu Zhao",
        "email": "shanyu.zhao@intel.com",
        "time": "Tue Apr 27 11:15:12 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 27 16:09:23 2010 -0400"
      },
      "message": "mac80211: fix rts threshold check\n\nCurrently whenever rts thresold is set, every packet will use RTS\nprotection no matter its size exceeds the threshold or not. This is\ndue to a bug in the rts threshold check.\n\tif (len \u003e tx-\u003elocal-\u003ehw.wiphy-\u003erts_threshold) {\n\t\ttxrc.rts \u003d rts \u003d true;\n\t}\nBasically it is comparing an int (len) and a u32 (rts_threshold),\nand the variable len is assigned as:\n\tlen \u003d min_t(int, tx-\u003eskb-\u003elen + FCS_LEN,\n\t\t\t tx-\u003elocal-\u003ehw.wiphy-\u003efrag_threshold);\nHowever, when frag_threshold is \"-1\", len is always \"-1\", which is\n0xffffffff therefore rts is always set to true.\n\nCC: stable@kernel.org\nSigned-off-by: Shanyu Zhao \u003cshanyu.zhao@intel.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3393a608c4979a94d1887efc05b792849d361a65",
      "tree": "0aceeb1e67fd23f82844086fcc5fb6c16b24dafc",
      "parents": [
        "2aab4c273ad837fbcf2955aee32b9ec4706c2521"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Mon Apr 19 10:12:52 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 19 16:41:42 2010 -0400"
      },
      "message": "mac80211: Prevent running sta_cleanup timer unnecessarily\n\nThe sta_cleanup timer is used to periodically expire buffered frames from the\ntx buf. The timer is executing periodically, regardless of the need for it.\nThis is wasting resources.\n\nFix this simply by not restarting the sta_cleanup timer if the tx buffer was\nempty. Restart the timer when there is some more tx-traffic.\n\nCc: Janne Ylälehto \u003cjanne.ylalehto@nokia.com\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0f2df9eac70423838a1f8d410fd3899ddd88317b",
      "tree": "0617f723320d83eca5cef9c964c001014e74213f",
      "parents": [
        "8c11e4ab09ffb975a89802dde0e9aa52a53b8aa5",
        "1144601118507f8b3b676a9a392584d216d3f2cc"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 08 13:34:54 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 08 13:34:54 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into merge\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ath/ath5k/phy.c\n\tdrivers/net/wireless/iwlwifi/iwl-4965.c\n\tdrivers/net/wireless/iwlwifi/iwl-agn.c\n\tdrivers/net/wireless/iwlwifi/iwl-core.c\n\tdrivers/net/wireless/iwlwifi/iwl-core.h\n\tdrivers/net/wireless/iwlwifi/iwl-tx.c\n"
    },
    {
      "commit": "2b43ae6daf26f29cec49fa3a3f18025355495500",
      "tree": "00fe8423ecd266f55df3ad59ea18dc86cffb4e3f",
      "parents": [
        "e64b379574d6c92c15b4239ee0a5173317176547"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 06 11:18:44 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 07 14:38:01 2010 -0400"
      },
      "message": "mac80211: remove irq disabling for sta lock\n\nAll other places except one in the TX path, which\nhas BHs disabled, and it also cannot be locked from\ninterrupts so disabling IRQs is not necessary.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ecbcd3243651ae8ac2b73a96c320992a4cf01c5b",
      "tree": "6bdb7da8ea5bdbffca4eb9246162e84dbc6b2b67",
      "parents": [
        "e69e95dbecfb73f76765cdd16dadc6219a9068e3"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Mon Mar 29 23:35:23 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Mar 31 14:46:42 2010 -0400"
      },
      "message": "mac80211: Fix BIP to be used only with group-addressed frames\n\nBIP (part of IEEE 802.11w) is only supposed to be used with\ngroup-addressed frames. We ended up picking it as a default mechanism\nfor every management whenever we did not have a STA entry for the\ndestination (e.g., for Probe Response to a STA that is not\nassociated). While the extra MMIE in the end of management frames\nshould not break frames completed in most cases, there is no point in\ndoing this. Fix key selection to pick the default management key only\nif the frame is sent to multicast/broadcast address and the frame is a\nrobust management frame.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7236fe29fd72d17074574ba312e7f1bb9d10abaa",
      "tree": "6afd1fed2871daca52f5a8b3070337ae1b6ada0d",
      "parents": [
        "05a9a1617026977422c7c5ed3aeac6f46fa2132c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Mar 22 13:42:43 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Mar 30 15:37:28 2010 -0400"
      },
      "message": "mac80211: move netdev queue enabling to correct spot\n\n\"mac80211: fix skb buffering issue\" still left a race\nbetween enabling the hardware queues and the virtual\ninterface queues. In hindsight it\u0027s totally obvious\nthat enabling the netdev queues for a hardware queue\nwhen the hardware queue is enabled is wrong, because\nit could well possible that we can fill the hw queue\nwith packets we already have pending. Thus, we must\nonly enable the netdev queues once all the pending\npackets have been processed and sent off to the device.\n\nIn testing, I haven\u0027t been able to trigger this race\ncondition, but it\u0027s clearly there, possibly only when\naggregation is being enabled.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "14b44974d5a3c1ca59f6809b7313d7229eb55fd8",
      "tree": "f1b8f13d2a558344da3e3669247fc7259027bc9b",
      "parents": [
        "4ac5541bdaea4d8e93710c58775cfa48ac82e09b"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Mar 24 14:56:41 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Mar 24 16:04:33 2010 -0400"
      },
      "message": "mac80211: remove unneed variable from ieee80211_tx_pending()\n\nWe don\u0027t need \"sdata\" any more after:\n\td84f323477260e773d5317ad7cbe50f76115cb47\n\tmac80211: remove dev_hold/put calls\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "34e895075e21be3e21e71d6317440d1ee7969ad0",
      "tree": "217fe70e32e54ef0134f477510472f3992655d79",
      "parents": [
        "070bb5477fb4029131aad4941d7aaf0093db0c38"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Feb 03 13:59:58 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 08 16:50:53 2010 -0500"
      },
      "message": "mac80211: allow station add/remove to sleep\n\nMany drivers would like to sleep during station\naddition and removal, and currently have a high\ncomplexity there from not being able to.\n\nThis introduces two new callbacks sta_add() and\nsta_remove() that drivers can implement instead\nof using sta_notify() and that can sleep, and\nthe new sta_add() callback is also allowed to\nfail.\n\nThe reason we didn\u0027t do this previously is that\nthe IBSS code wants to insert stations from the\nRX path, which is a tasklet, so cannot sleep.\nThis patch will keep the station allocation in\nthat path, but moves adding the station to the\ndriver out of line. Since the addition can now\nfail, we can have IBSS peer structs the driver\nrejected -- in that case we still talk to the\nstation but never tell the driver about it in\nthe control.sta pointer. If there will ever be\na driver that has a low limit on the number of\nstations and that cannot talk to any stations\nthat are not known to it, we need to do come up\nwith a new strategy of handling larger IBSSs,\nmaybe quicker expiry or rejecting peers.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "33e5a2f776e331dc8a4379b6efb660d38f182d96",
      "tree": "8d89bc3f70063bec4d85d76dc5887cea19da064d",
      "parents": [
        "690680360cd22b55235481ca3421a3450a96138a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Feb 03 10:24:30 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 08 16:50:53 2010 -0500"
      },
      "message": "wireless: update radiotap parser\n\nUpstream radiotap has adopted the namespace\nproposal David Young made and I then took care\nof, for which I had adapted the radiotap parser\nas a library outside the kernel. This brings\nthe in-kernel parser up to speed.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b4d57adb727ec7c34020390eeb0eeb9e0a2959bc",
      "tree": "7819dc3d403d80788fdc1c4b5af337fff2989bcf",
      "parents": [
        "17ad353b8d9843731258b5d23556667b764939e9"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sun Jan 31 23:25:24 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 01 15:40:08 2010 -0500"
      },
      "message": "mac80211: fix sta lookup with AP VLAN interfaces and injected frames\n\nWhen injecting frames, mac80211 currently looks for the first AP\ninterface that matches the source address of the injected frame.\nThis breaks when such a frame is directed at a STA that has been moved\nto a VLAN. This patch fixes it by using sta_info_get_bss instead of\nsta_info_get, which also finds stations belonging to a VLAN interface\nof the same BSS as the AP interface.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "17ad353b8d9843731258b5d23556667b764939e9",
      "tree": "26c84253888ded3b008c7b1d8c29763646b673bf",
      "parents": [
        "4754ffd68bc14de8db01451c49bb07adebe1e422"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sun Jan 31 21:56:25 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 01 15:40:08 2010 -0500"
      },
      "message": "mac80211: fix monitor mode tx radiotap header handling\n\nWhen an injected frame gets buffered for a powersave STA or filtered\nand retransmitted, mac80211 attempts to parse the radiotap header\nagain, which doesn\u0027t work because it\u0027s gone at that point.\nThis patch adds a new flag for checking the availability of a radiotap\nheader, so that it only attempts to parse it once, reusing the tx info\non the next call to ieee80211_tx().\nThis fixes severe issues with rekeying in AP mode.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "382b16559d599c4260aeb82a5ea5ba44459d1cd2",
      "tree": "dcb1b16424bf90aea7712625c2975b60c9fe9dc0",
      "parents": [
        "1396b231b0369c4146988c2f42fb416ae19e2572"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Jan 25 11:36:16 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 25 16:36:29 2010 -0500"
      },
      "message": "mac80211: fix sw crypto\n\nWhat a stupid mistake. In\n\n    commit 813d76694043d00b59475baa1fbfaf54a2eb7fad\n    Author: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\n    Date:   Sun Jan 17 01:47:58 2010 +0100\n\n        mac80211: move control.hw_key assignment\n\nI inserted code testing the wrong flags field,\nwhich means that the test is almost always true\n(it\u0027s really testing for the peer\u0027s WMM support)\nand thus the later parts of the stack assume hw\ncrypto will be done even if that\u0027s not true.\n\nObviously, that broke software crypto. Maxim\nsaid so specifically, and Jochen probably uses\nsome cipher that iwl3945 doesn\u0027t support in\nhardware, which might also explain that Maxim\nreports that even hw crypto is broken.\n\nFix this to test the right flags field.\n\nReported-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nReported-by: Jochen Friedrich \u003cjochen@scram.de\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3b43a18743421cccd33902e29016fa49b2d52dbb",
      "tree": "eaaab22a16260625854a51076fe64d5787e98ac4",
      "parents": [
        "f12553ebe045a8a40ab33fa500fb57d10706e226"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@iki.fi",
        "time": "Sat Jan 23 20:27:14 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Sat Jan 23 16:47:00 2010 -0500"
      },
      "message": "mac80211: fix tx select key null pointer crash with hostapd\n\nPavel Roskin reported a crash in ieee80211_tx_h_select_key():\n\nhttp://marc.info/?l\u003dlinux-wireless\u0026m\u003d126419655108528\u0026w\u003d2\n\nThis is a regression from patch \"mac80211: move control.hw_key assignment\".\nFix it as suggested by Johannes, adding an else statement to make sure\nthat tx-\u003ekey is not accessed when it\u0027s null.\n\nCompile-tested only.\n\nReported-by: Pavel Roskin \u003cproski@gnu.org\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nTested-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f12553ebe045a8a40ab33fa500fb57d10706e226",
      "tree": "936682b710e2bb6e132a2ec4ecae9c96e64d42ec",
      "parents": [
        "b92f7d30830a319148df2943b7565989494e5ad1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jan 22 22:07:59 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 22 16:33:28 2010 -0500"
      },
      "message": "mac80211: add missing key check\n\nieee80211_tx_h_select_key might decide that a frame\nneed not be encrypted at all, in which case it will\nclear tx-\u003ekey. In that case it may crash if a key\nwas previously selected, e.g. as the default key.\n\nThis is also due to my patch\n\"mac80211: move control.hw_key assignment\".\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": "813d76694043d00b59475baa1fbfaf54a2eb7fad",
      "tree": "daad130ca0a9e90f7616d88e5433654df89af14a",
      "parents": [
        "a6bae9e7ab19876a157c91019852395539e4f20e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Jan 17 01:47:58 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 19 16:25:19 2010 -0500"
      },
      "message": "mac80211: move control.hw_key assignment\n\nWhen mac80211 asks a driver to encrypt a frame, it\nmust assign the control.hw_key pointer for it to\nknow which key to use etc. Currently, mac80211 does\nthis whenever it would software-encrypt a frame.\n\nChange the logic of this code to assign the hw_key\npointer when selecting the key, and later check it\nwhen deciding whether to encrypt the frame or let\nit be encrypted by the hardware. This allows us to\nlater simply skip the encryption function since it\nno longer modifies the TX control.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a6bae9e7ab19876a157c91019852395539e4f20e",
      "tree": "221b68a7d938c40e48782a208392554812b60d75",
      "parents": [
        "697e6a0fb0c8783695d4b4a5d7131476b296d623"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Jan 17 01:47:57 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 19 16:25:17 2010 -0500"
      },
      "message": "mac80211: remove useless setting of IEEE80211_TX_INTFL_DONT_ENCRYPT\n\nThere\u0027s no value in setting a flag that will\nnever be checked after this point, this seems\nto be legacy code -- I think previously the\nflag was used to check whether to encrypt the\nframe or not. Now, however, the flag need not\nbe set, and setting it actually interferes if\nthe frame will be processed again later.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "edc6ccb7b992bd9ea5db4555c8f0bf74c656f964",
      "tree": "e73676345e80609767d3c2b60f80e70324ac240b",
      "parents": [
        "8e9310c1790566ea2de2e8b6e1c04bacbbee648c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Jan 17 01:47:55 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 19 16:25:16 2010 -0500"
      },
      "message": "mac80211: move and rename misc tx handler\n\nThis TX handler is used only for assigning the\nstation pointer in the control information, so\ngive it a better name. Also move it before rate\ncontrol.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0c74211d19d83729c209ddcd4dc026c2aedeb29e",
      "tree": "31e81616c508d63aef0ad418dc4252b87d1be208",
      "parents": [
        "5c1b98a52c3af1044c2d3842af8bae9a89502ca9"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Jan 12 10:42:53 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 14:21:02 2010 -0500"
      },
      "message": "mac80211: check uapsd state for dynamic power save\n\nTo make U-APSD client mode effective, we must not wake up from dynamic power\nsave when transmitting frames. So if dynamic power save is enabled, it needs\ncheck the queue the transmitted packet is in and decide if we need to wake\nup or not.\n\nIn a perfect world, where all packets would have correct QoS tags, U-APSD\nenabled queues should not trigger wakeup from power save. But in the real\nworld, where very few packets have correct QoS tags, this won\u0027t work. For\nexample, if only voip class has U-APSD enabled and we send a packet in voip\nclass, but the packets we receive are in best effort class, we would receive\nthe packets with the legacy power save method. And that would increase\nlatencies too much from a voip application point of view.\n\nThe workaround is to enable U-APSD for all qeueus and still use dynamic ps\nwakeup for all other queues except voip. That way we can still save power\nwith a voip application and not sacrifice latency. Normal traffic (in\nbackground, best effort or video class) would still trigger wakeup from\ndynamic power save.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5c1b98a52c3af1044c2d3842af8bae9a89502ca9",
      "tree": "6df9e13ba8fb0213238e56be04361efa3c1af139",
      "parents": [
        "50ae0cf15c3da2f6a8e4558de5010923e84736b2"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Jan 12 10:42:46 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 14:21:01 2010 -0500"
      },
      "message": "mac80211: create tx handler for dynamic ps\n\nCurrently dynamic ps check is in ieee80211_xmit(), but it\u0027s cleaner\nto have a separate tx handler for this. Also this is a prerequisite for\nU-APSD client mode which needs to know the queue frame is in.\n\nAlso need_dynamic_ps() function is embedded to the tx handler.\n\nNo functional changes expect that the code is run in a later phase than\noriginally.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ],
  "next": "3f0e0b220f80075ce15483b20458192c0ac27426"
}
