)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "3f0e0b220f80075ce15483b20458192c0ac27426",
      "tree": "3e443253f6f96b71b1ee2013cdef5b0d930efb0a",
      "parents": [
        "0e5ded5a87c097760abd68521b86f1025dedc7d7"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Fri Jan 08 18:15:13 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 14:02:08 2010 -0500"
      },
      "message": "mac80211: do not transmit frames on unconfigured 4-addr vlan interfaces\n\nIf frames are transmitted on 4-addr ap vlan interfaces with no station,\nthey end up being transmitted unencrypted, even if the ap interface\nuses WPA. This patch add some sanity checking to make sure that this\ndoes not happen.\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": "05e54ea6cce400ac34528d705179b45244f61074",
      "tree": "d645290f4866b457795696c7c4e9f609a07a4e55",
      "parents": [
        "f7f70579340dba1e551c0e52349fde0370592174"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Jan 05 20:16:38 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:51:25 2010 -0500"
      },
      "message": "mac80211: create Probe Request template\n\nCertain type of hardware, for example wl1251 and wl1271, need a template\nfor the Probe Request. Create a function ieee80211_probereq_get() which\ncreates the template and drivers send it to hardware.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7044cc565b45a898c140fb185174a66f2d68a163",
      "tree": "9933e1f178d0cfc8acf69eaf5b7652acaa8825e5",
      "parents": [
        "b3579d6adcf7b24464274967a96d12467cfb11a7"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Jan 05 20:16:19 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:51:24 2010 -0500"
      },
      "message": "mac80211: add functions to create PS Poll and Nullfunc templates\n\nSome hardware, for example wl1251 and wl1271, handle the transmission\nof power save related frames in hardware, but the driver is responsible\nfor creating the templates. It\u0027s better to create the templates in mac80211,\nthat way all drivers can benefit from this.\n\nAdd two new functions, ieee80211_pspoll_get() and ieee80211_nullfunc_get()\nwhich drivers need to call to get the frame. Drivers are also responsible\nfor updating the templates after each association.\n\nAlso new struct ieee80211_hdr_3addr is added to ieee80211.h to make it\neasy to calculate length of the Nullfunc frame.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "37eb0b164cf9fa9f70c8500926f5cde7c652f48e",
      "tree": "9260e7045f32268c8c4ded718677711d371cd5ed",
      "parents": [
        "e00cfce0cb2a397859607bf515c6de9ce064b64a"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Wed Jan 06 13:09:08 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:50:11 2010 -0500"
      },
      "message": "cfg80211/mac80211: Use more generic bitrate mask for rate control\n\nExtend struct cfg80211_bitrate_mask to actually use a bitfield mask\ninstead of just a single fixed or maximum rate index. This change\nitself does not modify the behavior (except for debugfs files), but it\nprepares cfg80211 and mac80211 for a new nl80211 command for setting\nwhich rates can be used in TX rate control.\n\nSince frames are now going through the rate control algorithm\nunconditionally, the internal IEEE80211_TX_INTFL_RCALGO flag can now\nbe removed. The RC implementations can use the rate_idx_mask value to\noptimize their behavior if only a single rate is enabled.\n\nThe old max_rate_idx in struct ieee80211_tx_rate_control is maintained\n(but commented as deprecated) for backwards compatibility with existing\nRC implementations. Once these implementations have been updated to\nuse the more generic rate_idx_mask, the max_rate_idx value can be\nremoved.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e00cfce0cb2a397859607bf515c6de9ce064b64a",
      "tree": "038d87e7d90a5bcdd8f689a563221eab883b0546",
      "parents": [
        "3dc1de0bf23816ed557ac8addf680cd5ee57e805"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Tue Dec 29 12:59:19 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:50:09 2010 -0500"
      },
      "message": "mac80211: Select lowest rate based on basic rate set in AP mode\n\nIf the basic rate set is configured to not include the lowest rate\n(e.g., basic rate set \u003d 6, 12, 24 Mbps in IEEE 802.11g mode), the AP\nshould not send out broadcast frames at 1 Mbps. This type of\nconfiguration can be used to optimize channel usage in cases where\nthere is no need for backwards compatibility with IEEE 802.11b-only\ndevices.\n\nIn AP mode, mac80211 was unconditionally using the lowest rate for\nBeacon frames and similarly, with all rate control algorithms that use\nrate_control_send_low(), the lowest rate ended up being used for all\nbroadcast frames (and all unicast frames that are sent before\nassociation). Change this to take into account the basic rate\nconfiguration in AP mode, i.e., use the lowest rate in the basic rate\nset instead of the lowest supported rate when selecting the rate.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4f9b2a7dea2bf1dd81f280aa5e8a40ed910d2f0a",
      "tree": "52046049957a87103a383869155f43461963f089",
      "parents": [
        "f3f66b69c8ff08b46975d9e99c7ecb92a8b12eda",
        "7a4a77b7771164d61ce702a588067d1e1d66db7c"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 05 17:18:59 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 05 17:18:59 2010 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tnet/mac80211/iface.c\n"
    },
    {
      "commit": "cf0277e714a0db302a8f80e1b85fd61c32cf00b3",
      "tree": "b81c34eabc2560b804cfd59497ca2902f0d47a80",
      "parents": [
        "301a8234ea81938f0f083ae4e274d9c9296f3c86"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jan 05 18:00:58 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 05 16:21:40 2010 -0500"
      },
      "message": "mac80211: fix skb buffering issue\n\nSince I removed the master netdev, we\u0027ve been\nkeeping internal queues only, and even before\nthat we never told the networking stack above\nthe virtual interfaces about congestion. This\nmeans that packets are queued in mac80211 and\nthe upper layers never know, possibly leading\nto memory exhaustion and other problems.\n\nThis patch makes all interfaces multiqueue and\nuses ndo_select_queue to put the packets into\nqueues per AC. Additionally, when the driver\nstops a queue, we now stop all corresponding\nqueues for the virtual interfaces as well.\n\nThe injection case will use VO by default for\nnon-data frames, and BE for data frames, but\ndowngrade any data frames according to ACM. It\nneeds to be fleshed out in the future to allow\nchosing the queue/AC in radiotap.\n\nReported-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: stable@kernel.org [2.6.32]\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "891dc5e73783eeabd2a704a9425e2a199b39c9f9",
      "tree": "9b4478941c486d47a71bfce455b896c5dda7e811",
      "parents": [
        "e1781ed33a8809c58ad6c3b6d432d656446efa43",
        "55afc80b2ab100618c17af77915f75307b6bd5d1"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 30 15:25:08 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 30 15:25:08 2009 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tdrivers/net/wireless/libertas/scan.c\n"
    },
    {
      "commit": "9607e6b66a0d25ca63b70d54a4283fa13d8f7c9d",
      "tree": "706cb2c2db2df69fa446eb3848b27107b67f2d25",
      "parents": [
        "d30506e0357e5448c7d38bb3739c451dbe4c174e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:31 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:54:49 2009 -0500"
      },
      "message": "mac80211: add ieee80211_sdata_running\n\nInstead of always using netif_running(sdata-\u003edev)\nuse ieee80211_sdata_running(sdata) now which is\njust an inline containing netif_running() for now.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b98c06b6debfe84c90200143bb1102f312f50a33",
      "tree": "65b8aba72d4350e3a77372e77796353a5ec3f580",
      "parents": [
        "5b479a076de091590423a9e6dfc2584126b28761"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Dec 24 15:26:09 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:20:04 2009 -0500"
      },
      "message": "mac80211: fix race with suspend and dynamic_ps_disable_work\n\nWhen mac80211 suspends it calls a driver\u0027s suspend callback\nas a last step and after that the driver assumes no calls will\nbe made to it until we resume and its start callback is kicked.\nIf such calls are made, however, suspend can end up throwing\nhardware in an unexpected state and making the device unusable\nupon resume.\n\nFix this by preventing mac80211 to schedule dynamic_ps_disable_work\nby checking for when mac80211 starts to suspend and starts\nquiescing. Frames should be allowed to go through though as\nthat is part of the quiescing steps and we do not flush the\nmac80211 workqueue since it was already done towards the\nbeginning of suspend cycle.\n\nThe other mac80211 issue will be hanled in the next patch.\n\nFor further details see refer to the thread:\n\nhttp://marc.info/?t\u003d126144866100001\u0026r\u003d1\u0026w\u003d2\n\nCc: stable@kernel.org\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "47846c9b0c10808d9337d2e7d09361f3e0a0a71a",
      "tree": "8e5d0dbf3309b7868fa73a888f9561ffea1580e3",
      "parents": [
        "abe60632f311d515b082b450504ee24006023951"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 25 17:46:19 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 21 18:38:52 2009 -0500"
      },
      "message": "mac80211: reduce reliance on netdev\n\nFor bluetooth 3, we will most likely not have\na netdev for a virtual interface (sdata), so\nprepare for that by reducing the reliance on\nhaving a netdev. This patch moves the name\nand address fields into the sdata struct and\nuses them from there all over. Some work is\nneeded to keep them sync\u0027ed, but that\u0027s not\na lot of work and in slow paths anyway.\n\nIn doing so, this also reduces the number of\npointer dereferences in many places, because\nof things like sdata-\u003edev-\u003edev_addr becoming\nsdata-\u003evif.addr.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "abe60632f311d515b082b450504ee24006023951",
      "tree": "a51fc3b135fa8a31cc0d7953be43502ecc6433c6",
      "parents": [
        "15920d8afc87861672e16fa95ae2764b065d6dd3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 25 17:46:18 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 21 18:38:51 2009 -0500"
      },
      "message": "mac80211: make station management completely depend on vif\n\nThe station management currently uses the virtual\ninterface, but you cannot add the same station to\nmultiple virtual interfaces if you\u0027re communicating\nwith it in multiple ways.\n\nThis restriction should be lifted so that in the\nfuture we can, for instance, support bluetooth 3\nwith an access point that mac80211 is already\nassociated to.\n\nWe can do that by requiring all sta_info_get users\nto provide the virtual interface and making the RX\ncode aware that an address may match more than one\nstation struct. Thanks to the previous patches this\none isn\u0027t all that large and except for the RX and\nTX status paths changes has low complexity.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f64f9e719261a87818dd192a3a2352e5b20fbd0f",
      "tree": "b2d5cbaef3df615295f6061d8c4d6a912690556c",
      "parents": [
        "152b6a62aea2d43359dd37004e9c218bf7bdeb3b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "message": "net: Move \u0026\u0026 and || to end of previous line\n\nNot including net/atm/\n\nCompiled tested x86 allyesconfig only\nAdded a \u003e 80 column line or two, which I ignored.\nExisting checkpatch plaints willfully, cheerfully ignored.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7351c6bd482712e5e3ec9dffc547de0e0863efb0",
      "tree": "1847c0470af79727b58611a69fa82384bd904d60",
      "parents": [
        "ad4bb6f8883a13bb0f65b194dae36c62a02ac779"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Nov 19 01:08:30 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 19 11:08:56 2009 -0500"
      },
      "message": "mac80211: request TX status where needed\n\nRight now all frames mac80211 hands to the driver\nhave the IEEE80211_TX_CTL_REQ_TX_STATUS flag set to\nrequest TX status. This isn\u0027t really necessary, only\nthe injected frames need TX status (the latter for\nhostapd) so move setting this flag.\n\nThe rate control algorithms also need TX status, but\nthey don\u0027t require it.\n\nAlso, rt2x00 uses that bit for its own purposes and\nseems to require it being set for all frames, but\nthat can be fixed in rt2x00.\n\nThis doesn\u0027t really change anything for any drivers\nbut in the future drivers using hw-rate control may\nopt to not report TX status for frames that don\u0027t\nhave the IEEE80211_TX_CTL_REQ_TX_STATUS flag set.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e [rt2x00 bits]\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9bc383de37090ba7ca3ff32a12c9d809dc5867f0",
      "tree": "2b502b918f585427b45357e5a9a781ea9f06c263",
      "parents": [
        "5be83de54c16944dea9c16c6a5a53c1fa75ed304"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Nov 19 11:55:19 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 19 11:08:53 2009 -0500"
      },
      "message": "cfg80211: introduce capability for 4addr mode\n\nIt\u0027s very likely that not many devices will support\nfour-address mode in station or AP mode so introduce\ncapability bits for both modes, set them in mac80211\nand check them when userspace tries to use the mode.\nAlso, keep track of 4addr in cfg80211 (wireless_dev)\nand not in mac80211 any more. mac80211 can also be\nimproved for the VLAN case by not looking at the\n4addr flag but maintaining the station pointer for\nit correctly. However, keep track of use_4addr for\nstation mode in mac80211 to avoid all the derefs.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "62ae67be31c2346b6d74653a148ddbd1b9a94424",
      "tree": "91f59c821a4e3f91a529887d97989b1969720f65",
      "parents": [
        "875405a7793e9c35fab33819e7e5df7a98b6064c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 18 18:42:05 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:27 2009 -0500"
      },
      "message": "mac80211: remove encrypt parameter from ieee80211_tx_skb\n\nSince the flags moved into skb-\u003ecb, there\u0027s no\nlonger a need to have the encrypt bool passed\ninto the function, anyone who requires it set\nto 0 (false) can just set the flag directly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "af65cd96dd4ea8ea5adc6ee850e61a407cd1067a",
      "tree": "fcdd50d2b9121bc26110329cb0fbefdeace99858",
      "parents": [
        "c95cf3d09adc9afe7816a13a920b6df36062a3fe"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Nov 17 18:18:36 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:24 2009 -0500"
      },
      "message": "mac80211: make software rate control optional\n\nSome devices implement the entire rate control in\nfirmware in some way, like wl1271 or like iwlwifi\nwhich does some things in software but not a lot.\nTherefore generic software rate control is rather\nuseless for them and just adds avoidable overhead\nto the transmit path.\n\nIt\u0027s fairly simple to let drivers indicate that\nthey do not need rate control, but they need to\nfulfil a number of conditions that we encode in\nWARN_ONs.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "15ff63653e507ec928a4a4386405a82446e096b1",
      "tree": "4e2ac0e39ab2142ae5115c4f1067e2962190e696",
      "parents": [
        "d84f323477260e773d5317ad7cbe50f76115cb47"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Nov 17 13:34:04 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:18 2009 -0500"
      },
      "message": "mac80211: use fixed broadcast address\n\nThe netdev broadcast address cannot change from\nall-ones so there\u0027s no need to use it; we can\ninstead hard-code it. Since we already have an\ninstance in tkip.c, which will be shared if it\nis marked static const, doing this reduces text\nsize at no data/bss cost.\n\nThe real motivation for this is, of course, the\ndesire to get rid of almost all uses of netdevs\nin mac80211 so that auditing their use becomes\neasier.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d84f323477260e773d5317ad7cbe50f76115cb47",
      "tree": "815047721ed953ab2b39aa606f95cee646fc5be6",
      "parents": [
        "5f0b7de59fae1e57b2481c9756cd4a0f6308530f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Nov 16 23:20:41 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:18 2009 -0500"
      },
      "message": "mac80211: remove dev_hold/put calls\n\nIf we move the rcu sections a little, there\u0027s\nno need to touch the device refcount.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "36f0d5f537885179c8fa92a70d4fcfb3a336b082",
      "tree": "0bc305e0eb1da753fc2302f72a677c936de0567b",
      "parents": [
        "77fa76bb7f5589cd336e4da4a02e2d685b70ce0a"
      ],
      "author": {
        "name": "Rui Paulo",
        "email": "rpaulo@gmail.com",
        "time": "Mon Nov 09 23:46:53 2009 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 13 17:43:55 2009 -0500"
      },
      "message": "mac80211: fix BSSID setup for beacon frames\n\nBSSID is now set to the TA.\n\nSigned-off-by: Rui Paulo \u003crpaulo@gmail.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nReviewed-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nTested-by: Brian Cavagnolo \u003cbrian@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f14543ee4d0681df1377b976cba704557ba220d3",
      "tree": "f148485869f6638030207c069742c1918647be6a",
      "parents": [
        "8b787643ca0a5130c647109d77fe512f89cfa611"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Tue Nov 10 20:10:05 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 11 17:02:10 2009 -0500"
      },
      "message": "mac80211: implement support for 4-address frames for AP and client mode\n\nIn some situations it might be useful to run a network with an\nAccess Point and multiple clients, but with each client bridged\nto a network behind it. For this to work, both the client and the\nAP need to transmit 4-address frames, containing both source and\ndestination MAC addresses.\nWith this patch, you can configure a client to communicate using\nonly 4-address frames for data traffic.\nOn the AP side you can enable 4-address frames for individual\nclients by isolating them in separate AP VLANs which are configured\nin 4-address mode.\nSuch an AP VLAN will be limited to one client only, and this client\nwill be used as the destination for all traffic on its interface,\nregardless of the destination MAC address in the packet headers.\nThe advantage of this mode compared to regular WDS mode is that it\u0027s\neasier to configure and does not require a static list of peer MAC\naddresses on any side.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "af81858172cc0f3da81946aab919c26e4b364efc",
      "tree": "8e7a4bf30ff7c23636d810c5a912ff7e3ddb7333",
      "parents": [
        "70d9f405d09e334b609702d88ee03b6119c4b45e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Nov 06 11:35:50 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 06 16:49:10 2009 -0500"
      },
      "message": "mac80211: async station powersave handling\n\nSome devices require that all frames to a station\nare flushed when that station goes into powersave\nmode before being able to send frames to that\nstation again when it wakes up or polls -- all in\norder to avoid reordering and too many or too few\nframes being sent to the station when it polls.\n\nNormally, this is the case unless the station\ngoes to sleep and wakes up very quickly again.\nBut in that case, frames for it may be pending\non the hardware queues, and thus races could\nhappen in the case of multiple hardware queues\nused for QoS/WMM. Normally this isn\u0027t a problem,\nbut with the iwlwifi mechanism we need to make\nsure the race doesn\u0027t happen.\n\nThis makes mac80211 able to cope with the race\nwith driver help by a new WLAN_STA_PS_DRIVER\nper-station flag that can be controlled by the\ndriver and tells mac80211 whether it can transmit\nframes or not. This flag must be set according to\nvery specific rules outlined in the documentation\nfor the function that controls it.\n\nWhen we buffer new frames for the station, we\nnormally set the TIM bit right away, but while\nthe driver has blocked transmission to that sta\nwe need to avoid that as well since we cannot\nrespond to the station if it wakes up due to the\nTIM bit. Once the driver unblocks, we can set\nthe TIM bit.\n\nSimilarly, when the station just wakes up, we\nneed to wait until all other frames are flushed\nbefore we can transmit frames to that station,\nso the same applies here, we need to wait for\nthe driver to give the OK.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9aa4aee30f4d155fc91abbaecfef9b3bb759699e",
      "tree": "219f55843fdc548e8def51daa8ffbdb3ae4dc180",
      "parents": [
        "86c34fe89e9cad9e1ba4d1a8bbf98259035f4caf"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 29 08:43:48 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 02 15:39:41 2009 -0500"
      },
      "message": "mac80211: make CALL_TXH a statement\n\nThe multi-line code in this macro wasn\u0027t wrapped\nin do {} while (0) so we cannot use it in an if()\nbranch safely in the future -- fix that.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "62b517cb3e974624a2958ad0b603ebb59cd96e16",
      "tree": "8d1692b46c96570502c109ce56c53d005aab3020",
      "parents": [
        "c27f2fded51948edf40007f4f31350e9e0c6ba23"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 29 12:19:21 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 30 16:50:39 2009 -0400"
      },
      "message": "mac80211: unconditionally set IEEE80211_TX_CTL_SEND_AFTER_DTIM\n\nWhen mac80211 is asked to buffer multicast frames\nin AP mode, it will not set the flag indicating\nthat the frames should be sent after the DTIM\nbeacon for those frames buffered in software. Fix\nthis little inconsistency by always setting that\nflag in the buffering code path.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "eddcbb94f75c3e8944503e9f13c1d29acd0d7052",
      "tree": "b5e4786dbafccea91d7ec42cb9e84af655414aca",
      "parents": [
        "750266646befe42ee8a3a9f9b6f692174635c5b8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 29 08:30:35 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 30 16:50:39 2009 -0400"
      },
      "message": "mac80211: introduce ieee80211_beacon_get_tim()\n\nCompared to ieee80211_beacon_get(), the new function\nieee80211_beacon_get_tim() returns information on the\nlocation and length of the TIM IE, which some drivers\nneed in order to generate the TIM on the device. The\nold function, ieee80211_beacon_get(), becomes a small\nstatic inline wrapper around the new one to not break\nall drivers.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a9685338ab9d331c25ca92b0e8a92631e14c6b45",
      "tree": "3c6def8eb28a1ee93a74fcb0c6d48a9fd5d5541d",
      "parents": [
        "ed620590de15021f6baf08ca098c90f47470efd7"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Oct 27 17:36:17 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 30 16:49:18 2009 -0400"
      },
      "message": "mac80211: fix dynamic power save for devices with nullfunc support in hw\n\nIn TX path it was assumed that dynamic power save works only if\nIEEE80211_HW_PS_NULLFUNC_STACK is set. But is not the case, there are\ndevices which have nullfunc support in hardware but need mac80211\nto handle dynamic power save timers, TI\u0027s wl1251 is one of them.\n\nThe fix is to not check for IEEE80211_HW_PS_NULLFUNC_STACK in\nis_dynamic_ps_enabled(), instead check IEEE80211_HW_SUPPORTS_PS and\nIEEE80211_HW_SUPPORTS_DYNAMIC_PS flags and act accordingly.\n\nTested with wl1251.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ed620590de15021f6baf08ca098c90f47470efd7",
      "tree": "2d04e564a1b7d0559a62af1c652c49e09bd807ec",
      "parents": [
        "7bcfaf2f431c09c51fe776fc06638b25d3b421c5"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Oct 27 17:36:09 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 30 16:49:18 2009 -0400"
      },
      "message": "mac80211: refactor dynamic power save check\n\nRefactor dynamic power save checks to a function of it\u0027s own for better\nreadibility. No functional changes.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9b1ce526eb917c8b5c8497c327768130ee683392",
      "tree": "dcd6dff3083e293d5ec8045f79c0e14f8640c583",
      "parents": [
        "d18ba452d7de12a22bd01a0a00e5b836eb0f4198"
      ],
      "author": {
        "name": "Björn Smedman",
        "email": "bjorn.smedman@venatech.se",
        "time": "Sat Oct 24 20:55:09 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 27 16:29:48 2009 -0400"
      },
      "message": "mac80211: fix for incorrect sequence number on hostapd injected frames\n\nWhen hostapd injects a frame, e.g. an authentication or association\nresponse, mac80211 looks for a suitable access point virtual interface\nto associate the frame with based on its source address. This makes it\npossible e.g. to correctly assign sequence numbers to the frames.\n\nA small typo in the ethernet address comparison statement caused a\nfailure to find a suitable ap interface. Sequence numbers on such\nframes where therefore left unassigned causing some clients\n(especially windows-based 11b/g clients) to reject them and fail to\nauthenticate or associate with the access point. This patch fixes the\ntypo in the address comparison statement.\n\nSigned-off-by: Björn Smedman \u003cbjorn.smedman@venatech.se\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fbc44bf7177dfd61381da55405550b693943a432",
      "tree": "9869e534f828dd3377cffd2917dfdb6cc72023d3",
      "parents": [
        "727c988593271599c9e5943699426afcce1a62d6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 01 22:06:29 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 07 16:33:49 2009 -0400"
      },
      "message": "mac80211: fix vlan and optimise RX\n\nWhen receiving data frames, we can send them only to\nthe interface they belong to based on transmitting\nstation (this doesn\u0027t work for probe requests). Also,\ndon\u0027t try to handle other frames for AP_VLAN at all\nsince those interface should only receive data.\n\nAdditionally, the transmit side must check that the\nstation we\u0027re sending a frame to is actually on the\ninterface we\u0027re transmitting on, and not transmit\npackets to functions that live on other interfaces,\nso validate that as well.\n\nAnother bug fix is needed in sta_info.c where in the\nVLAN case when adding/removing stations we overwrite\nthe sdata variable we still need.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1f08e84ff642294e42d138442a388989ffb20865",
      "tree": "b976fa8bba1e54d9361452c4f4da18e6bd9a227a",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "Igor Perminov",
        "email": "igor.perminov@inbox.ru",
        "time": "Tue Sep 22 00:25:44 2009 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 29 17:25:15 2009 -0400"
      },
      "message": "mac80211: Fix [re]association power saving issue on AP side\n\nConsider the following step-by step:\n1. A STA authenticates and associates with the AP and exchanges\ntraffic.\n2. The STA reports to the AP that it is going to PS state.\n3. Some time later the STA device goes to the stand-by mode (not only\nits wi-fi card, but the device itself) and drops the association state\nwithout sending a disassociation frame.\n4. The STA device wakes up and begins authentication with an\nAuth frame as it hasn\u0027t been authenticated/associated previously.\n\nAt the step 4 the AP \"remembers\" the STA and considers it is still in\nthe PS state, so the AP buffers frames, which it has to send to the STA.\nBut the STA isn\u0027t actually in the PS state and so it neither checks\nTIM bits nor reports to the AP that it isn\u0027t power saving.\nBecause of that authentication/[re]association fails.\n\nTo fix authentication/[re]association stage of this issue, Auth, Assoc\nResp and Reassoc Resp frames are transmitted disregarding of STA\u0027s power\nsaving state.\n\nN.B. This patch doesn\u0027t fix further data frame exchange after\nauthentication/[re]association. A patch in hostapd is required to fix\nthat.\n\nSigned-off-by: Igor Perminov \u003cigor.perminov@inbox.ru\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d0cf9c0dadcdc89a755bcb301cfc9c796eb28ccf",
      "tree": "c201ed345e104100288d57c8b3ae46d486b56118",
      "parents": [
        "0fc480987e69f22b9212f087545b4d1ca6950807"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 31 19:50:57 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 01:14:04 2009 -0700"
      },
      "message": "wireless: convert drivers to netdev_tx_t\n\nMostly just simple conversions:\n  * ray_cs had bogus return of NET_TX_LOCKED but driver\n    was not using NETIF_F_LLTX\n  * hostap and ipw2x00 had some code that returned value\n    from a called function that also had to change to return netdev_tx_t\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cca89496a8afe4ad12ce1e468e60cef1e27e4eee",
      "tree": "5dc3fc6541e2afaf66b500a922844d37dad89826",
      "parents": [
        "1fe90b033e04d7402b3deb392420fe2ff57986a5"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Mon Aug 10 17:29:29 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:14:03 2009 -0400"
      },
      "message": "mac80211: Fix unresolved mesh frames queued without valid control.vif\n\nMesh frames that could not be immediately resolved were queued with a NULL\ninfo-\u003econtrol.vif.  This patch moves the call to mesh_nexthop_lookup closer to\nthe point where it is handed over to ieee80211_tx().  This ensures that the\nunresolved frames are ready to be sent once the path is resolved.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3c5772a5279de9eadfff7adb5ddea08106495fff",
      "tree": "297772521c18283ccfa19aacb090f396fa2b399e",
      "parents": [
        "a9e3091bf08ddea35f172549a8a21d5bd6ee6129"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Mon Aug 10 12:15:48 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:14:00 2009 -0400"
      },
      "message": "mac80211: Use 3-address format for mesh broadcast frames.\n\nThe 11s task group recently changed the frame mesh multicast/broadcast frame\nformat to use 3-address.  This was done to avoid interactions with widely\ndeployed lazy-WDS access points.\n\nThis patch changes the format of group addressed frames, both mesh-originated\nand proxied, to use the data format defined in draft D2.08 and forward.  The\naddress fields used for group addressed frames is:\n\nIn 802.11 header\n ToDS:0  FromDS:1\n addr1: DA  (broadcast/multicast address)\n addr2: TA\n addr3: Mesh SA\n\nIn address extension header:\n addr4: SA  (only present if frame was proxied)\n\nNote that this change breaks backward compatibility with earlier mesh stack\nversions.\n\nSigned-off-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "62b1208e146af048e90a32bc4fe5fba85e4fa51e",
      "tree": "f6235e854de44dda3d0bf3d6af38617e55d0b5da",
      "parents": [
        "d0b69609dc50b6bf2637cf74e6f97c251adc65ed"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Aug 10 16:04:15 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:13:58 2009 -0400"
      },
      "message": "mac80211: small tx code cleanup\n\nIt\u0027s really easier to read if it\u0027s not indented\nas much, so invert the condition and rearrange\nthe code so the smaller chunk is indented instead.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d0b69609dc50b6bf2637cf74e6f97c251adc65ed",
      "tree": "b834227a9d1e9fe1083164cff5891547139e8139",
      "parents": [
        "feff1f2fea3fc7ee055e46d0fbdb2d25ad2b14c4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Aug 10 16:02:40 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:13:57 2009 -0400"
      },
      "message": "mac80211: sequence number micro-optimisation\n\nThere\u0027s no need to mask the variable with 0xFFF0\nsince we ever only use it as a u16 and the lowest\nfour bits can\u0027t ever be non-zero. The compiler\ncannot infer the latter, and therefore has to emit\ncode to do the masking.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "feff1f2fea3fc7ee055e46d0fbdb2d25ad2b14c4",
      "tree": "58cfb7fc4e89db0a75fbcd7d61cac0267c0a9856",
      "parents": [
        "5e68ff6563ef79d87296c70f8eb2bee454d3fe75"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Aug 10 16:01:54 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:13:57 2009 -0400"
      },
      "message": "mac80211: take statistics before encryption\n\nWhen encryption is used, the number of bytes\nsent to the peer increases by the IV and ICV.\nThis is accounted if software encryption is\nused, but not if the devices does hardware\nencryption. To make the numbers comparable,\nnever account for that overhead.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ad5351db89681515681c5d5659ddf4c69e3cc6f5",
      "tree": "3c77642d10862aa9eea9c9366090941c18b69ac3",
      "parents": [
        "ab5b5342fd0ba5b9a2f58a94c5d41dd074b7c48e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Aug 07 16:42:15 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:13:44 2009 -0400"
      },
      "message": "mac80211: allow DMA optimisation\n\nIf we have a lot of frames to transmit at once, for\ninstance with fragmentation, it can be an optimisation\nto only tell the DMA engine about them on the last\nfragment/frame to avoid banging the IO too much. This\npatch allows implementation such an optimisation by\ntelling the driver when more frames can be expected.\n\nCurrently, this is used by mac80211 only on fragmented\nframes, but could also be used in the future on other\nframes when the queue was full and there are multiple\nframes pending.\n\nNote that drivers need to be careful when using this\nflag, they need to kick their DMA engines not just\nwhen this flag is clear, but also when the queue gets\nfull so that progress can be made.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "42935ecaf4e784d0815afa9a7e5fe7e141157ca3",
      "tree": "dc0a0dcfff761e98d8a2a23a7edc8f9182c2774c",
      "parents": [
        "64344d78228f6346a0462ba2d5fc03494aef4e6b"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Jul 29 20:08:07 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 04 16:44:14 2009 -0400"
      },
      "message": "mac80211: redefine usage of the mac80211 workqueue\n\nThe mac80211 workqueue exists to enable mac80211 and drivers\nto queue their own work on a single threaded workqueue. mac80211\ntakes care to flush the workqueue during suspend but we never\nreally had requirements on drivers for how they should use\nthe workqueue in consideration for suspend.\n\nWe extend mac80211 to document how the mac80211 workqueue should\nbe used, how it should not be used and finally move raw access to\nthe workqueue to mac80211 only. Drivers and mac80211 use helpers\nto queue work onto the mac80211 workqueue:\n\n  * ieee80211_queue_work()\n  * ieee80211_queue_delayed_work()\n\nThese helpers will now warn if mac80211 already completed its\nsuspend cycle and someone is trying to queue work. mac80211\nflushes the mac80211 workqueue prior to suspend a few times,\nbut we haven\u0027t taken the care to ensure drivers won\u0027t add more\nwork after suspend. To help with this we add a warning when\nsomeone tries to add work and mac80211 already completed the\nsuspend cycle.\n\nDrivers should ensure they cancel any work or delayed work\nin the mac80211 stop() callback.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a7bc376c858e0e724b8cb2db09b6874562d377ca",
      "tree": "0588a4d51146ea54ffc949bce9d2cc52d90943b1",
      "parents": [
        "f9d6b402603a63b5e5b56bd7a79fa72a818be55b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Jul 27 10:33:31 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 29 15:46:13 2009 -0400"
      },
      "message": "mac80211: verify info-\u003econtrol.vif is not NULL\n\nWhen enqueuing packets on the internal packet queue, we\nneed to ensure that we have a valid vif pointer since\nthat is required since the net namespace work. Add some\nassertions to verify this, but also don\u0027t crash is for\nsome reason we don\u0027t end up with a vif pointer -- warn\nand drop the packet in all these cases.\n\nSince this code touches a number of hotpaths, it is\nintended to be temporary, or maybe configurable in the\nfuture, at least the bit that is in the path that gets\nhit for every packet, ieee80211_tx_pending().\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "21f5fc75deca63bc41c9d13007d35981d4485622",
      "tree": "13b451930a6ff36ae651e52e5c359ea4387a7ea4",
      "parents": [
        "ac88b6ecdfa629fd1261dab1504d78a56fd4cabf"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Fri Jul 24 19:57:25 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 27 15:24:19 2009 -0400"
      },
      "message": "mac80211: fix oops due to missing private data\n\nThis was caused by patch:\n\n\"mac80211: cooperate more with network namespaces\"\n\nThe version of the patch applied doesn\u0027t match Johannes\u0027 latest:\n\nhttp://johannes.sipsolutions.net/patches/kernel/all/LATEST/NNN-mac80211-netns.patch\n\nThe skb-\u003ecb virtual interface data wasn\u0027t being reset for\nreuse so ath9k pooped out when trying to dereference the\nprivate rate control info from the skb.\n\nBUG: unable to handle kernel NULL pointer dereference\nRIP: 0010:[\u003cffffffffa0258173\u003e] ath_tx_rc_status+0x33/0x150 [ath9k]\n\u003c-- snip etc --\u003e\n\nReported-by: Davide Pesavento \u003cdavidepesa@gmail.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3fa52056f3a8e755708241d5795e6d3e6f55ad85",
      "tree": "17986e56e775dc55627e4ba9aa0639182ee34339",
      "parents": [
        "91a3bd76155085d41520cf41ede39e8b7f01aeff"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jul 24 13:23:09 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 27 15:24:19 2009 -0400"
      },
      "message": "mac80211: fix PS-poll response, race\n\nWhen a station queries us for a PS-poll response, we wrongly\nqueue the frame on the virtual interface\u0027s queue rather than\nthe pending queue.\n\nAdditionally, fix a race condition where we could potentially\nsend multiple frames to the sleeping station due to using a\nstation flag rather than a packet flag. When converting to a\npacket flag, we can also convert p54 and remove the filter\nclearing we added for it.\n\n(Also remove a now dead function)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nReported-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nTested-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nCc: Christian Lamparter \u003cchunkeey@web.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "142b9f5074dc0d09dc0025739ad437723d7bf527",
      "tree": "07173ed0ffae8956c1f8938bc41695b1d19cebb0",
      "parents": [
        "fbe9c429f195111bbf7f1630efa19aee295fd8e7"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Jul 23 13:18:01 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 27 15:24:17 2009 -0400"
      },
      "message": "mac80211: implement basic background scanning\n\nIntroduce a new scan flag \"SCAN_OFF_CHANNEL\" which basically tells us\nthat we are currently on a different channel for scanning and cannot\nRX/TX. \"SCAN_SW_SCANNING\" tells us that we are currently running a\nsoftware scan but we might as well be on the operating channel to RX/TX.\nWhile \"SCAN_SW_SCANNING\" is set during the whole scan \"SCAN_OFF_CHANNEL\"\nis set when leaving the operating channel and unset when coming back.\n\nIntroduce two new scan states \"SCAN_LEAVE_OPER_CHANNEL\" and\n\"SCAN_ENTER_OPER_CHANNEL\" which basically implement the functionality we\nneed to leave the operating channel (send a nullfunc to the AP and stop\nthe queues) and enter it again (send a nullfunc to the AP and start the\nqueues again).\n\nEnhance the scan state \"SCAN_DECISION\" to switch back to the operating\nchannel after each scanned channel. In the future it sould be simple\nto enhance the decision state to scan as much channels in a row as the\nqos latency allows us.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fbe9c429f195111bbf7f1630efa19aee295fd8e7",
      "tree": "80556ac48bfa0e7d60db63e6c71b0bbf58143263",
      "parents": [
        "2fb3f028a9a46bd344329766257699b4acb36525"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Jul 23 12:14:04 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 27 15:24:16 2009 -0400"
      },
      "message": "mac80211: Replace {sw, hw}_scanning variables with a bitfield\n\nUse a bitfield to store the current scan mode instead of two boolean\nvariables {sw,hw}_scanning. This patch does not introduce functional\nchanges but allows us to enhance the scan flags later (for example\nfor background scanning).\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5061b0c2b9066de426fbc63f1278d2210e789412",
      "tree": "4658cb1a75c2ac37e2eebb3dd67cb3c975297b1f",
      "parents": [
        "70034918930d2e5b68c09bced637228c50d9561a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 14 00:33:34 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 27 15:24:06 2009 -0400"
      },
      "message": "mac80211: cooperate more with network namespaces\n\nThere are still two places in mac80211 that hardcode\nthe initial net namespace (init_net). One of them is\nmandated by cfg80211 and will be removed by a separate\npatch, the other one is used for finding the network\ndevice of a pending packet via its ifindex.\n\nRemove the latter use by keeping track of the device\npointer itself, via the vif pointer, and avoid it\ngoing stale by dropping pending frames for a given\ninterface when the interface is removed.\n\nTo keep track of the vif pointer for the correct\ninterface, change the info-\u003econtrol.vif pointer\u0027s\ninternal use to always be the correct vif, and only\nmove it to the vif the driver expects (or NULL for\nmonitor interfaces and injected packets) right before\ngiving the packet to the driver.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "249b405cf8145da8a74b70544ae1079d244bdb00",
      "tree": "be2d79554f8a00ec74038e8526ceb1ce7a8daf3e",
      "parents": [
        "3d34deb6737b1ae1f8b7817b57d603807f5d88ea"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Tue Jul 07 10:55:03 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:31 2009 -0400"
      },
      "message": "mac80211: Fix regression in mesh forwarding path.\n\nThe removal of the master netdev broke the mesh forwarding path.  This patch\nfixes it by using the new internal \u0027pending\u0027 queue.\n\nAs a result of this change, mesh forwarding no longer does the inefficient\n802.11 -\u003e 802.3 -\u003e 802.11 conversion that was done before.\n\n[Changes since v1]\nSuggested by Johannes:\n - Select queue before adding to mpath queue\n - ieee80211_add_pending_skb -\u003e ieee80211_add_pending_skbs\n - Remove unnecessary header wme.h\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3d34deb6737b1ae1f8b7817b57d603807f5d88ea",
      "tree": "7b6cce16373973b5b7f7de6711536e5fd03c1677",
      "parents": [
        "72bce62775db0315511474e8d8f8e25d25b48366"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jun 18 17:25:11 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:31 2009 -0400"
      },
      "message": "mac80211: fix ieee80211_xmit call context\n\nieee80211_xmit() cannot be called with tasklets enabled\nbecause it is normally called from within a tasklet.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3b8d81e020f77c9da8b85b0685c8cd2ca7c7b150",
      "tree": "a19fcddbf28fecdbd13ad009fe07b8afc5e95c90",
      "parents": [
        "c4029083e2acb82229c43b791c07afb089d972ff"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jun 17 17:43:56 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:30 2009 -0400"
      },
      "message": "mac80211: remove master netdev\n\nWith the internal \u0027pending\u0027 queue system in place, we can simply\nput packets there instead of pushing them off to the master dev,\ngetting rid of the master interface completely.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b770b43e95a66587fbd8c1841de83da87fbf23ea",
      "tree": "8b91a3936e0964192e4f59a98e157606cbe932ac",
      "parents": [
        "fe643414dbf330d6d910e01edd48dd93dc6f2942"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Jul 16 10:15:09 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:14 2009 -0400"
      },
      "message": "mac80211: drop frames for sta with no valid rate\n\nWhen we\u0027re associated we should be able to send data to\ntarget sta. If we cannot we may be trying to use the incorrect\nband to talk to the sta. Lets catch any such cases, warn, and\ndrop the frames to not invalidate assumptions being made on\nrate control algorithms when they have a valid sta to\ncommunicate with. Any such cases should be handled and fixed.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "74d154189d597b91da4322996dbf4f5c3d1544ab",
      "tree": "6f09861b5e2f875d2d8ea2127b16add9103221c6",
      "parents": [
        "5a6338db37885af06760d40cad589316e48431e9",
        "ffafa60d496f80c250f2ae0340ae94434c0b0b4d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 23 19:03:51 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 23 19:03:51 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwmc3200wifi/netdev.c\n\tnet/wireless/scan.c\n"
    },
    {
      "commit": "8ef86c7bfac5b44529b73b84bc50d3cf574bfb4b",
      "tree": "56e4b14e60fac4f53e81fc21abed0f2556604501",
      "parents": [
        "f54c142725ad2ba33c3ee627873cb6966bf05447"
      ],
      "author": {
        "name": "Pavel Roskin",
        "email": "proski@gnu.org",
        "time": "Fri Jul 10 16:42:29 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 21 12:07:38 2009 -0400"
      },
      "message": "mac80211: fix injection in monitor mode\n\nThe location of the 802.11 header is calculated incorrectly due to a\nwrong placement of parentheses.  Found by kmemcheck.\n\nSigned-off-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ec634fe328182a1a098585bfc7b69e5042bdb08d",
      "tree": "02883aaee743af10d78d6d8fe9181944b4dd4529",
      "parents": [
        "a73e76e23c20c05cb8c0b7ba8bc9daa04b05c80f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Jul 05 19:23:38 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 05 19:23:38 2009 -0700"
      },
      "message": "net: convert remaining non-symbolic return values in ndo_start_xmit() functions\n\nThis patch converts the remaining occurences of raw return values to their\nsymbolic counterparts in ndo_start_xmit() functions that were missed by the\nprevious automatic conversion.\n\nAdditionally code that assumed the symbolic value of NETDEV_TX_OK to be zero\nis changed to explicitly use NETDEV_TX_OK.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b548140225c6bbbbd560551dd1048b2c0ce58be",
      "tree": "9306a37dbca0095ca6d88e0b0ab297bcb2dc5ae8",
      "parents": [
        "5b2c4b972c0226406361f83b747eb5cdab51e68e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jun 12 06:22:29 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 13 01:18:50 2009 -0700"
      },
      "message": "net: use symbolic values for ndo_start_xmit() return codes\n\nConvert magic values 1 and -1 to NETDEV_TX_BUSY and NETDEV_TX_LOCKED respectively.\n\n0 (NETDEV_TX_OK) is not changed to keep the noise down, except in very few cases\nwhere its in direct proximity to one of the other values.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43f7853180ed522944b3b1d4979cdb9f2b103ca3",
      "tree": "f0df610f63a78b34a9e1df479b615ac5213b188f",
      "parents": [
        "a6ae0716e5c3b5f9dbe5ed8f473a6c7b89692365"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Jun 10 15:16:15 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 10 13:28:40 2009 -0400"
      },
      "message": "mac80211: disable moving between PS modes during scan\n\nWe don\u0027t want to trigger moving between PS mode during scan,\nbecause then we will sometimes end up sending nullfunc frames\nduring scan. We\u0027re supposed to only send one prior to scan\nand after scan.\n\nThis fixes an oops which occured due to an assert in ath9k:\n\nhttp://marc.info/?l\u003dlinux-wireless\u0026m\u003d124277331319024\n\nThe assert was happening because the rate control algorithm\nfigures it should find at least one valid dual stream or\nsingle stream rate. Since we allow mac80211 to send nullfunc\nframes during scan and dynamic PS was enabled at times we ended\nup trying to send nullfunc frames for the target sta on the\nwrong band for which we have no valid rate to communicate with\nit. This breaks the assumptions in rate control.\n\nWe determine we also need to disable moving between PS modes\nwhen not associated so lets just add that now as well, and we\nshould not have a ps_sdata when that interface cannot actually\ngo into PS because it\u0027s not associated.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "27004b10ce56985d8a010ce966af179f1b34193f",
      "tree": "4646125665fa26e4ac00014d11c0b12c1a7f0952",
      "parents": [
        "0bffe40f21e2ddc5215b1faec4e8dbbc215e7d4d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jun 09 19:48:25 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 10 13:28:39 2009 -0400"
      },
      "message": "mac80211: clean up return value of __ieee80211_parse_tx_radiotap\n\nThe return type has more than two values, but it can validly\nonly ever return TX_DROP and TX_CONTINUE, so use a bool\ninstead of ieee80211_tx_result.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8f77f3849cc3ae2d6df9301785a3d316ea7d7ee1",
      "tree": "02143d1e81c85f64900546e3e9c2b820f72745d1",
      "parents": [
        "fc240e3fc5791c572402b0857948da7b1e68d77f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Jun 07 21:58:37 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 10 13:28:37 2009 -0400"
      },
      "message": "mac80211: do not pass PS frames out of mac80211 again\n\nIn order to handle powersave frames properly we had needed\nto pass these out to the device queues again, and introduce\nthe skb-\u003erequeue bit. This, however, also has unnecessary\noverhead by needing to \u0027clean up\u0027 already tried frames, and\nthis clean-up code is also buggy when software encryption\nis used.\n\nInstead of sending the frames via the master netdev queue\nagain, simply put them into the pending queue. This also\nfixes a problem where frames for that particular station\ncould be reordered when some were still on the software\nqueues and older ones are re-injected into the software\nqueue after them.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "894df1cbc376310163d41c50c891db41296056bf",
      "tree": "e46aa46f5b2fcb6593aa572f25f8fac9071672c9",
      "parents": [
        "7e189a12c246f55fe087efe345fe5f4cbe0be545"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Tue Jun 02 15:43:25 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 03 14:06:15 2009 -0400"
      },
      "message": "mac80211: removed unused variable in ieee80211_tx()\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7e0aae4732067e1bdb546071423a0b3483a79d9a",
      "tree": "d9c4e4dbc7e8ec0b998e0345628d92590b651b6f",
      "parents": [
        "30196673fe17934617b5d5bfd456a0edf057a0b9"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Tue May 19 19:25:58 2009 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 20 14:46:34 2009 -0400"
      },
      "message": "mac80211: Do not override AID in the duration field\n\nWhen updating the duration field for TX frames, skip the update for\nPS-Poll frames that use this field for other purposes (AID).\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d3707d9918d47c0997a6b1e4ae24e7ab55e43796",
      "tree": "dd05505563ae8b02bfd1a5db5d5bdde6e6750798",
      "parents": [
        "b59066a291ca7c12a1e5b58f3ada5ab6e32cb6bd"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue May 12 22:05:40 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 13 15:44:53 2009 -0400"
      },
      "message": "mac80211: make noack test available\n\nThere\u0027s this internal wifi_wme_noack_test variable that\nwe use to set the QoS control if set. For one, it is\nunlikely that it is set. Secondly, if set it needs to\ninfluence the IEEE80211_TX_CTL_NO_ACK TX control flag,\nand finally we should also be able to set it at all, so\nmake it available in debugfs.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a8679be2073392cf22a910bc25da0c7d36459845",
      "tree": "0d25750ea4ba3a85fe683f285261083d77080976",
      "parents": [
        "22f6dacdfcfdc792d068e9c41234808860498d04",
        "9dfd6ba353b993d648dcda72480c7ce92cd27c7e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 08 12:46:17 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 08 12:46:17 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "22f6dacdfcfdc792d068e9c41234808860498d04",
      "tree": "281a7d476f256ea3e2f800177ba685b169cc0540",
      "parents": [
        "928f308f556f4943e50c5064b546f47bce301f02",
        "9b05126baa146fc3f41360164141d4e1b3ea93c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 08 02:48:30 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 08 02:48:30 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tinclude/net/tcp.h\n"
    },
    {
      "commit": "9955151df7c6452cae2ed9649f53d265c91cf155",
      "tree": "8f1edf3ba7281ec75742e47552ee3a154eebc025",
      "parents": [
        "97d3f458a1e3350dfcbdc3b6aefa75d20d59ee17"
      ],
      "author": {
        "name": "Gábor Stefanik",
        "email": "netrolller.3d@gmail.com",
        "time": "Thu Apr 23 19:36:14 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:51 2009 -0400"
      },
      "message": "mac80211: Warn if the rate controller requests retries for a NO_ACK frame\n\nTo deter future rate scaling algorithm writers from requesting NO_ACK\npackets to be retried, throw a WARN_ON_ONCE if the algorithm hands us\na try count over 1 for NO_ACK packet.\n\nSigned-off-by: Gábor Stefanik \u003cnetrolller.3d@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2448798133d747ad339e57099e32a1d1e68aca1c",
      "tree": "ee09385f5dca9e243c38f5f888baa02605423bd7",
      "parents": [
        "2d0ddec5b2b859f06116f631fc0ffe94fbceb556"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 23 18:52:52 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:37 2009 -0400"
      },
      "message": "mac80211: add driver ops wrappers\n\nIn order to later add tracing or verifications to the driver\ncalls mac80211 makes, this patch adds static inline wrappers\nfor all operations.\n\nAll calls are now written as\n\n\tdrv_\u003cop\u003e(local, ...);\n\ninstead of\n\n\tlocal-\u003eops-\u003e\u003cop\u003e(\u0026local-\u003ehw, ...);\n\nWhere necessary, the wrappers also do existence checking and\nreturn default values as appropriate.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "57c4d7b4c4986037be51476b8e3025d5ba18d8b8",
      "tree": "bcd24a127b4c79891f45799a20867f49c0f7f949",
      "parents": [
        "f3b85252f081581a8f257545ed748062dce7798b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 23 16:10:04 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:33 2009 -0400"
      },
      "message": "mac80211: clean up beacon interval settings\n\nWe currently have two beacon interval configuration knobs:\nhw.conf.beacon_int and vif.bss_info.beacon_int. This is\nrather confusing, even though the former is used when we\nbeacon ourselves and the latter when we are associated to\nan AP.\n\nThis just deprecates the hw.conf.beacon_int setting in favour\nof always using vif.bss_info.beacon_int. Since it touches all\nthe beaconing IBSS code anyway, we can also add support for\nthe cfg80211 IBSS beacon interval configuration easily.\n\nNOTE: The hw.conf.beacon_int setting is retained for now due\n      to drivers still using it -- I couldn\u0027t untangle all\n      drivers, some are updated in this patch.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8ccd8f21122dcc30a665516d43aa8b4aa8ae51f6",
      "tree": "27c9984baf7f1224ffd09c9070f4b5afcb473944",
      "parents": [
        "3ee59f8d0dcab2e114546038b2b224776c82b7f7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Apr 29 23:35:56 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 04 16:22:08 2009 -0400"
      },
      "message": "mac80211: correct fragmentation threshold check\n\nThe fragmentation threshold is defined to be including the\nFCS, and the code that sets the TX_FRAGMENTED flag correctly\naccounts for those four bytes. The code that verifies this\ndoesn\u0027t though, which could lead to spurious warnings and\nframes being dropped although everything is ok. Correct the\ncode by accounting for the FCS.\n\n(JWL -- The problem is described here:\n http://article.gmane.org/gmane.linux.kernel.wireless.general/32205 )\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d3feaf5ad12259927039a675cfb25dc342b403ab",
      "tree": "3e82d9b4df89ead232725dac86abbdb8d6c75d72",
      "parents": [
        "9b171ffe1b3004587f4a90ef293531a4a262e538"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 24 15:35:42 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 24 15:41:41 2009 -0400"
      },
      "message": "wireless: remove some (bogus?) \u0027may be used uninitialized\u0027 warnings\n\nnet/mac80211/tx.c: In function ‘ieee80211_tx_h_select_key’:\nnet/mac80211/tx.c:448: warning: ‘key’ may be used uninitialized in this function\n\ndrivers/net/wireless/ath/ath9k/rc.c: In function ‘ath_rc_rate_getidx’:\ndrivers/net/wireless/ath/ath9k/rc.c:815: warning: ‘nextindex’ may be used uninitialized in this function\n\ndrivers/net/wireless/hostap/hostap_plx.c: In function ‘prism2_plx_probe’:\ndrivers/net/wireless/hostap/hostap_plx.c:438: warning: ‘cor_index’ may be used uninitialized in this function\ndrivers/net/wireless/hostap/hostap_plx.c:438: warning: ‘cor_offset’ may be used uninitialized in this function\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b9a5f8cab751d362f7c2d94899ca788c22fcd1ef",
      "tree": "e769e2f59ef845cf7c7cc93b64d33eeed49bb9f7",
      "parents": [
        "9e52b0623c6eb49c3f23a326c1fb97bdecc49ba1"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Mon Apr 20 18:39:05 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:17 2009 -0400"
      },
      "message": "nl80211: Add set/get for frag/rts threshold and retry limits\n\nAdd new nl80211 attributes that can be used with NL80211_CMD_SET_WIPHY\nand NL80211_CMD_GET_WIPHY to manage fragmentation/RTS threshold and\nretry limits.\n\nSince these values are stored in struct wiphy, remove the local copy\nfrom mac80211 where feasible (frag \u0026 rts threshold). The retry limits\nare currently needed in struct ieee80211_conf, but these could be\neventually removed since the driver should have access to the values\nin struct wiphy.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "af8cdcd828ad751fae8e6cbfe94eef9f2f23b14b",
      "tree": "7a00a19c976abbeba16bd04ddc177b6332057c98",
      "parents": [
        "04a773ade0680d862b479d7219973df60f7a3834"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Apr 19 21:25:43 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:17 2009 -0400"
      },
      "message": "mac80211: convert to cfg80211 IBSS API\n\nThis converts mac80211 to the new cfg80211 IBSS API, the\nwext handling functions are called where appropriate.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fef99929cd6b409a67a35e41f7c177bade5bca34",
      "tree": "9dafe774df9920c9349c721fd33894e3ac0f62ed",
      "parents": [
        "d577e7cdb1be027bc51ee1030bc7fd647ea6d0da"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@web.de",
        "time": "Sat Apr 18 19:39:15 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:16 2009 -0400"
      },
      "message": "mac80211: set CLEAR_PS for pspolled frames\n\nThis patch sets IEEE80211_TX_CTL_CLEAR_PS_FILT for outgoing\nframes for a half-wake station.\n\nthis is necessary if one wants to get ps-poll working properly with a p54 ap.\n\nSigned-off-by: Christian Lamparter \u003cchunkeey@web.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e4e72fb4de93e3d4047a4ee3f08778422e17ed0d",
      "tree": "dd133a749e6fa6960c9aa708041d996110f6440e",
      "parents": [
        "cd8ffc800ce18e558335c4946b2217864fc16045"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 17:28:42 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:23 2009 -0400"
      },
      "message": "mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi\n\nThis patch removes all the virtual A-MPDU-queue bookkeeping from\nmac80211. Curiously, iwlwifi already does its own bookkeeping, so\nit doesn\u0027t require much changes except where it needs to handle\nstarting and stopping the queues in mac80211.\n\nTo handle the queue stop/wake properly, we rewrite the software\nqueue number for aggregation frames and internally to iwlwifi keep\ntrack of the queues that map into the same AC queue, and only talk\nto mac80211 about the AC queue. The implementation requires calling\ntwo new functions, iwl_stop_queue and iwl_wake_queue instead of the\nmac80211 counterparts.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Reinette Chattre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cd8ffc800ce18e558335c4946b2217864fc16045",
      "tree": "e9bb8c3d6011e89374f9df353ff1f15d45a63590",
      "parents": [
        "a220858d30604902f650074bfac5a7598bc97ea4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 17:28:41 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:22 2009 -0400"
      },
      "message": "mac80211: fix aggregation to not require queue stop\n\nInstead of stopping the entire AC queue when enabling aggregation\n(which was only done for hardware with aggregation queues) buffer\nthe packets for each station, and release them to the pending skb\nqueue once aggregation is turned on successfully.\n\nWe get a little more code, but it becomes conceptually simpler and\nwe can remove the entire virtual queue mechanism from mac80211 in\na follow-up patch.\n\nThis changes how mac80211 behaves towards drivers that support\naggregation but have no hardware queues -- those drivers will now\nnot be handed packets while the aggregation session is being\nestablished, but only after it has been fully established.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a220858d30604902f650074bfac5a7598bc97ea4",
      "tree": "3a4ad6d80713953598f6f872103291e69cf1ac6b",
      "parents": [
        "b1720231ca07dee3382980f3b25e6581bd2e54e9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 17:28:40 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:22 2009 -0400"
      },
      "message": "mac80211: add skb length sanity checking\n\nWe just found a bug in zd1211rw where it would reject\npackets in the -\u003etx() method but leave them modified,\nwhich would cause retransmit attempts with completely\nbogus skbs, eventually leading to a panic due to not\nhaving enough headroom in those.\n\nThis patch adds a sanity check to mac80211 to catch\nsuch driver mistakes; in this case we warn and drop\nthe skb.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1870cd71e87da1a1afb904f2c84086f487a07135",
      "tree": "6763dbc0c21f17f38fbfd93e1e0bd84814c9adcd",
      "parents": [
        "2a577d98712a284a612dd51d69db5cb989810dc2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 17:28:38 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:21 2009 -0400"
      },
      "message": "mac80211: clean up __ieee80211_tx args\n\n__ieee80211_tx takes a struct ieee80211_tx_data argument, but only\nuses a few of its members, namely \u0027skb\u0027 and \u0027sta\u0027. Make that explicit,\nso that less internal knowledge is required in ieee80211_tx_pending\nand the possibility of introducing errors here is removed.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nReviewed-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2a577d98712a284a612dd51d69db5cb989810dc2",
      "tree": "c2e667d92d280d404dd964548aefedd43996645c",
      "parents": [
        "f0e72851f7ad108fed20426b46a18ab5fcd5729f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 17:28:37 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:21 2009 -0400"
      },
      "message": "mac80211: rework the pending packets code\n\nThe pending packets code is quite incomprehensible, uses memory barriers\nnobody really understands, etc. This patch reworks it entirely, using\nthe queue spinlock, proper stop bits and the skb queues themselves to\nindicate whether packets are pending or not (rather than a separate\nvariable like before).\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nReviewed-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f0e72851f7ad108fed20426b46a18ab5fcd5729f",
      "tree": "5e8d1795fa06127f9c9ae9755140eb0d871ae2f9",
      "parents": [
        "2de8e0d999b8790861cd3749bec2236ccc1c8110"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 17:28:36 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:21 2009 -0400"
      },
      "message": "mac80211: fix A-MPDU queue assignment\n\nInternally, mac80211 requires the skb\u0027s queue mapping to be set\nto the AC queue, not the virtual A-MPDU queue. This is not done\ncorrectly currently, this patch moves the code down to directly\nbefore the driver is invoked and adds a comment that it will be\nmoved into the driver later.\n\nSince this requires __ieee80211_tx() to have the sta pointer,\nmake sure to provide it in ieee80211_tx_pending().\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nReviewed-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2de8e0d999b8790861cd3749bec2236ccc1c8110",
      "tree": "18b7f0127b7e1d938b41d1120803cb0af528058f",
      "parents": [
        "08df05aa9b25f3079585855506022bb33a011183"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 17:28:35 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:21 2009 -0400"
      },
      "message": "mac80211: rewrite fragmentation\n\nFragmentation currently uses an allocated array to store the\nfragment skbs, and then keeps track of which have been sent\nand which are still pending etc. This is rather complicated;\nmake it simpler by just chaining the fragments into skb-\u003enext\nand removing from that list when sent. Also simplifies all\ncode that needs to touch fragments, since it now only needs\nto walk the skb-\u003enext list.\n\nThis is a prerequisite for fixing the stored packet code,\nwhich I need to do for proper aggregation packet storing.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nReviewed-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a9a6ffffd05f97e6acbdeafc595e269855829751",
      "tree": "8e10fab859b4a8e097f333080f92b2b8ae0fef76",
      "parents": [
        "43da9192326a4499b5faf737c3636f25b56b53e0"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Wed Mar 18 14:06:44 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:00 2009 -0400"
      },
      "message": "mac80211: don\u0027t drop nullfunc frames during software scan\n\nieee80211_tx_h_check_assoc() was dropping everything else than probe\nrequests during software scan. So the nullfunc frame with the power save\nbit was dropped and AP never received it. This meant that AP never\nbuffered any frames for the station during software scan.\n\nFix this by allowing to transmit both probe request and nullfunc frames\nduring software scan. Tested with stlc45xx.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "176be728ee7d32cfd33702d82c0733e51f66ab5b",
      "tree": "d7b8feb17aab8da7300562ac1dff74002d5ef503",
      "parents": [
        "14587ce2a8898de959f32dfd505b4871f09930d5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Mar 12 23:49:28 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:12:42 2009 -0400"
      },
      "message": "mac80211: remove ieee80211_num_regular_queues\n\nThis inline is useless and actually makes the code _longer_\nrather than shorter.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2d6a5e9500103680464a723a4564961675652680",
      "tree": "d18903333aae8a4415b179d6e7d38f203724892c",
      "parents": [
        "bd257ed9f1d129b4e881f513a406b435c8852565",
        "f10023a4ef3f5cc05457b059c6880bc447adfa1f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 17 15:01:30 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 17 15:01:30 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/igb/igb_main.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/wireless/ath9k/ath9k.h\n\tdrivers/net/wireless/ath9k/core.h\n\tdrivers/net/wireless/ath9k/hw.c\n"
    },
    {
      "commit": "055249d20de06c290fe7625be0a7164bef3958f5",
      "tree": "01e03e8e32022dc01400f51befb8c843f4ea1bad",
      "parents": [
        "5ec905a8df3fa877566ba98298433fbfb3d688cc"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Fri Mar 13 13:59:39 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 16 18:01:59 2009 -0400"
      },
      "message": "mac80211: Fix panic on fragmentation with power saving\n\nIt was possible to hit a kernel panic on NULL pointer dereference in\ndev_queue_xmit() when sending power save buffered frames to a STA that\nwoke up from sleep. This happened when the buffered frame was requeued\nfor transmission in ap_sta_ps_end(). In order to avoid the panic, copy\nthe skb-\u003edev and skb-\u003eiif values from the first fragment to all other\nfragments.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ],
  "next": "469002983fc90c2ff0959e2b03335c0fe2e4d5a9"
}
