)]}'
{
  "log": [
    {
      "commit": "4fa004373133ece3d9b1c0a7e243b0e53760b165",
      "tree": "e70b44c3d6a5afef0238caff3c7eefbcc74b0bc0",
      "parents": [
        "b08dfd0435333818a03b38867c556ebcbb3abc02"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Mon Mar 01 14:42:57 2010 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Mar 03 15:39:21 2010 -0500"
      },
      "message": "mac80211: Fix HT rate control configuration\n\nHandling HT configuration changes involved setting the channel\nwith the new HT parameters and then issuing a rate_update()\nnotification to the driver.\n\nThis behavior changed after the off-channel changes. Now, the channel\nis not updated with the new HT params in enable_ht() - instead, it\nis now done when the scan work terminates. This results in the driver\ndepending on stale information, defaulting to non-HT mode always.\n\nFix this by passing the new channel type to the driver.\n\nCc: stable@kernel.org\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "026331c4d9b526561ea96f95fac4bfc52b69e316",
      "tree": "a82b0a92a7f03a1d151a9db123320689c73d98c7",
      "parents": [
        "8404080568613d93ad7cf0a16dfb68459b42a264"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Mon Feb 15 12:53:10 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 15 16:14:15 2010 -0500"
      },
      "message": "cfg80211/mac80211: allow registering for and sending action frames\n\nThis implements a new command to register for action frames\nthat userspace wants to handle instead of the in-kernel\nrejection. It is then responsible for rejecting ones that\nit decided not to handle. There is no unregistration, but\nthe socket can be closed for that.\n\nFrames that are not registered for will not be forwarded\nto userspace and will be rejected by the kernel, the\ncfg80211 API helps implementing that.\n\nAdditionally, this patch adds a new command that allows\ndoing action frame transmission from userspace. It can be\nused either to exchange action frames on the current\noperational channel (e.g., with the AP with which we are\ncurrently associated) or to exchange off-channel Public\nAction frames with the remain-on-channel command.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "375177bf35efc08e1bd37bbda4cc0c8cc4db8500",
      "tree": "88774b1a46072fd3b0418b36d39d447b78fbfc51",
      "parents": [
        "e15276a4b220c54db665cf46a92bd9ceb9aeb052"
      ],
      "author": {
        "name": "Vivek Natarajan",
        "email": "vnatarajan@atheros.com",
        "time": "Tue Feb 09 14:50:28 2010 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Feb 09 14:10:05 2010 -0500"
      },
      "message": "mac80211: Retry null data frame for power save.\n\nEven if the null data frame is not acked by the AP, mac80211\ngoes into power save. This might lead to loss of frames\nfrom the AP.\nPrevent this by restarting dynamic_ps_timer when ack is not\nreceived for null data frames.\n\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Vivek Natarajan \u003cvnatarajan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "349e6b7289f8a3d3d5d3b859e00b41f27d1211df",
      "tree": "d80af4e7b9ece2b42e8093f44bfedd13d9653bd5",
      "parents": [
        "00a08eb62f790383bcc8ea309d4afb9ef346ef0b"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@iki.fi",
        "time": "Sun Feb 07 10:22:01 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 08 16:51:01 2010 -0500"
      },
      "message": "mac80211: remove get_tx_stats() driver op\n\nget_tx_stats() driver operation is not currently used anywhere in mac80211\nand there are no plans to use it in the not-so-near future. So it can go\nwithout anyone missing it.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\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": "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": "56007a028c51cbf800a6c969d6f6431d23443b99",
      "tree": "8bc0280467824ed3b5f95810444b1f8e1ebc2750",
      "parents": [
        "c21dbf9214bce129f92e1af05552553ff0e318ed"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jan 26 14:19:52 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 26 11:53:21 2010 -0500"
      },
      "message": "mac80211: wait for beacon before enabling powersave\n\nBecause DTIM information is required for powersave\nbut is only conveyed in beacons, wait for a beacon\nbefore enabling powersave, and change the way the\ninformation is conveyed to the driver accordingly.\n\nmwl8k doesn\u0027t currently seem to implement PS but\nrequires the DTIM period in a different way; after\ntalking to Lennert we agreed to just have mwl8k do\nthe parsing itself in the finalize_join work.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "eb807fb23878bc319e029ed8ce3d835d239723a5",
      "tree": "0caf36c7c128825292c3c23f04c6e5eb0f74cafb",
      "parents": [
        "96869a39399269a776a94812e9fff3d38b47d838"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@iki.fi",
        "time": "Sun Jan 24 14:55:12 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 25 16:36:28 2010 -0500"
      },
      "message": "mac80211: fix update_tkip_key() documentation about the context\n\nJohannes noticed that I had incorrectly documented the context of\nupdate_tkip_key() driver operation. It must be atomic because all\nRX code is run inside rcu critical section.\n\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b3fbdcf49f940d0703c356441e0daf045e64e076",
      "tree": "f63416cc9b80a6757ec6fa57190f581b2b3a6d31",
      "parents": [
        "e4fca007b06165900d0e44e8d5e251376819bf5d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jan 21 11:40:47 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 22 16:08:55 2010 -0500"
      },
      "message": "mac80211: pass vif and station to update_tkip_key\n\nWhen a TKIP key is updated, we should pass the station\npointer instead of just the address, since drivers can\nuse that to store their own data. We also need to pass\nthe virtual interface pointer.\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": "c99445b14054e0c4ed4715df1dad1fc608cbab46",
      "tree": "88b3e4bfde3abca9d6f57e2ae35458bb33eda4df",
      "parents": [
        "9d173fc5dfa8c1b4578b331ac7ff3ce8af27006e"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Thu Jan 14 13:09:21 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 14 18:16:56 2010 -0500"
      },
      "message": "mac80211: improve powersave documentation\n\nThere has been some confusion how drivers should implement powersave\nsupport. Improve the documentation a bit to make it more clear what\ndrivers need to do. Also mention about U-APSD.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9d173fc5dfa8c1b4578b331ac7ff3ce8af27006e",
      "tree": "261da62f97e554f788c06e4166c3debd6c23ce10",
      "parents": [
        "5e4ea1f0ed256382d6d839fbd7a5c7f1b99b6cb0"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Thu Jan 14 13:09:14 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 14 18:16:55 2010 -0500"
      },
      "message": "mac80211: fix mac80211.h documentation warnings\n\nThere were some warnings about missing documentation and a missing reference.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ab13315af97919fae0e014748105fdc2e30afb2d",
      "tree": "befa549272ecff20b2839bd6671e4cccbce448f9",
      "parents": [
        "2d46d7c121436f1dafe91b0a8d9b99e534cfa5f8"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Jan 12 10:42:31 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 14:20:58 2010 -0500"
      },
      "message": "mac80211: add U-APSD client support\n\nAdd Unscheduled Automatic Power-Save Delivery (U-APSD) client support. The\nidea is that the data frames from the client trigger AP to send the buffered\nframes with ACs which have U-APSD enabled. This decreases latency and makes it\npossible to save even more power.\n\nDriver needs to use IEEE80211_HW_UAPSD to enable the feature. The current\nimplementation assumes that firmware takes care of the wakeup and\nhardware needing IEEE80211_HW_PS_NULLFUNC_STACK is not yet supported.\n\nTested with wl1251 on a Nokia N900 and Cisco Aironet 1231G AP and running\nvarious test traffic with ping.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\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": "310bc676e314e92c18257bfc916951879451ee32",
      "tree": "12050b5b473b8c9a1bf67450e03d45ade2a4b219",
      "parents": [
        "81077e82c3f591578625805dd6464a27a9ff56ec"
      ],
      "author": {
        "name": "Lukáš Turek",
        "email": "8an@praha12.net",
        "time": "Mon Dec 21 22:50:48 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:50:07 2010 -0500"
      },
      "message": "mac80211: Add new callback set_coverage_class\n\nMac80211 callback to driver set_coverage_class() sets slot time and ACK\ntimeout for given IEEE 802.11 coverage class. The callback is optional,\nbut it\u0027s essential for long distance links.\n\nSigned-off-by: Lukas Turek \u003c8an@praha12.net\u003e\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": "e1781ed33a8809c58ad6c3b6d432d656446efa43",
      "tree": "4d272bc5bf25263a67b8431e7cfac6f9bbbcb690",
      "parents": [
        "095d5ef608b58ece49f4131925700d27314ecdd8"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@iki.fi",
        "time": "Wed Dec 23 13:15:47 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:55:10 2009 -0500"
      },
      "message": "mac80211: annotate sleeping driver ops\n\nTo make it easier to notice cases of calling sleeping ops in atomic context,\nannotate driver-ops.h with appropiate might_sleep() calls. At the same time,\nalso document in mac80211.h the op functions with missing contexts.\n\nmac80211 doesn\u0027t seem to use get_tx_stats anywhere currently. Just to be on\nthe safe side, I documented it to be atomic, but hopefully the op can be\nremoved in the future.\n\nCompile-tested only.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1ed32e4fc8cfc9656cc1101e7f9617d485fcbe7b",
      "tree": "81697637a36eb4776df39c81a77a9e09ec951a1a",
      "parents": [
        "98b6218388e345064c3f2d3c161383a18274c638"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:45 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:55:07 2009 -0500"
      },
      "message": "mac80211: remove struct ieee80211_if_init_conf\n\nAll its members (vif, mac_addr, type) are now available\nin the vif struct directly, so we can pass that instead\nof the conf struct. I generated this patch (except the\nmac80211 and header file changes) with this semantic\npatch:\n\n@@\nidentifier conf, fn, hw;\ntype tp;\n@@\ntp fn(struct ieee80211_hw *hw,\n-struct ieee80211_if_init_conf *conf)\n+struct ieee80211_vif *vif)\n{\n\u003c...\n(\n-conf-\u003etype\n+vif-\u003etype\n|\n-conf-\u003emac_addr\n+vif-\u003eaddr\n|\n-conf-\u003evif\n+vif\n)\n...\u003e\n}\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a80f7c0b088187c8471b441d461e937991870661",
      "tree": "f673c08009a03f2e988a638510b112a5584bea11",
      "parents": [
        "9607e6b66a0d25ca63b70d54a4283fa13d8f7c9d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:32 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:54:51 2009 -0500"
      },
      "message": "mac80211: introduce flush operation\n\nWe\u0027ve long lacked a good confirmation that frames\nhave really gone out, e.g. before going off-channel\nfor a scan. Add a flush() operation that drivers\ncan implement to provide that confirmation, and use\nit in a few places:\n * before scanning sends the nullfunc frames\n * after scanning sends the nullfunc frames, if any\n * when going idle, to send any pending frames\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "671adc93b6472eaa0142a88d096c945f7b07893a",
      "tree": "fb30cd3cc5e9fa25815e4eccf13bff4a9e6c6b74",
      "parents": [
        "5e31258945f60dff65952575625cac214a75893e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:12:04 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:19:45 2009 -0500"
      },
      "message": "wireless: remove remaining qual code\n\nThis removes the remaining users of the rx status\n\u0027qual\u0027 field and the field itself.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ea1e4b842049fcc4741096538114871a74859314",
      "tree": "c2336ab480ac0fd62e0dc41b391d99c97158dc9c",
      "parents": [
        "b6ce5c33001b1dc83e6a1a6f30c5dccccea651b6",
        "92c6f8d849178582fc527aaf1e51dd37a74767d3"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 15:09:11 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 15:09:11 2009 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "0f78231bffb868a30e8533aace142213266bb811",
      "tree": "317f65dc6d89e9a89ad83f94fadd780dd1e0ca83",
      "parents": [
        "18974b5b0b5e758d416c550553b143e5c8038281"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Dec 01 13:37:02 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 22 13:31:16 2009 -0500"
      },
      "message": "mac80211: enable spatial multiplexing powersave\n\nEnable spatial multiplexing in mac80211 by telling the\ndriver what to do and, where necessary, sending action\nframes to the AP to update the requested SMPS mode.\n\nAlso includes a trivial implementation for hwsim that\njust logs the requested mode.\n\nFor now, the userspace interface is in debugfs only,\nand let you toggle the requested mode at any time.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "47846c9b0c10808d9337d2e7d09361f3e0a0a71a",
      "tree": "8e5d0dbf3309b7868fa73a888f9561ffea1580e3",
      "parents": [
        "abe60632f311d515b082b450504ee24006023951"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 25 17:46:19 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 21 18:38:52 2009 -0500"
      },
      "message": "mac80211: reduce reliance on netdev\n\nFor bluetooth 3, we will most likely not have\na netdev for a virtual interface (sdata), so\nprepare for that by reducing the reliance on\nhaving a netdev. This patch moves the name\nand address fields into the sdata struct and\nuses them from there all over. Some work is\nneeded to keep them sync\u0027ed, but that\u0027s not\na lot of work and in slow paths anyway.\n\nIn doing so, this also reduces the number of\npointer dereferences in many places, because\nof things like sdata-\u003edev-\u003edev_addr becoming\nsdata-\u003evif.addr.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d24deb2580823ab0b8425790c6f5d18e2ff749d8",
      "tree": "e19fa93ccf306ea54508492a141721a1e4cc3a30",
      "parents": [
        "b2ec153a637409bd87952d44409905b7d98418b8"
      ],
      "author": {
        "name": "Gertjan van Wingerde",
        "email": "gwingerde@gmail.com",
        "time": "Fri Dec 04 23:46:54 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 14 14:22:31 2009 -0500"
      },
      "message": "mac80211: Add define for TX headroom reserved by mac80211 itself.\n\nAdd a definition of the amount of TX headroom reserved by mac80211 itself\nfor its own purposes. Also add BUILD_BUG_ON to validate the value.\nThis define can then be used by drivers to request additional TX headroom\nin the most efficient manner.\n\nSigned-off-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8f56874bd7e8bee73ed6a1cf80dcec2753616262",
      "tree": "aebd15dea662ef5efd89402b8fd92fec540a98eb",
      "parents": [
        "47e1c323069bcef0acb8a2b48921688573f5ca63",
        "159bcfeb9123c91f0dc885a42b6387a98192f896"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 04 13:25:15 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 04 13:25:15 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "ff9c38bba37937adb909cceb2a6521f2e92e17c6",
      "tree": "93bd6152d9fa28348be99ef1c788040cc7b7a94d",
      "parents": [
        "65c0cfafce9575319fb6f70080fbe226e5617e3b",
        "b2722b1c3a893ec6021508da15b32282ec79f4da"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 22:13:38 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 22:13:38 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/ht.c\n"
    },
    {
      "commit": "827d42c9ac91ddd728e4f4a31fefb906ef2ceff7",
      "tree": "e29371d79d63d0a3ec2cb6d010b71147853fc771",
      "parents": [
        "4253119acf412fd686ef4bd8749b5a4d70ea3a51"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Nov 22 12:28:41 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 30 13:55:51 2009 -0500"
      },
      "message": "mac80211: fix spurious delBA handling\n\nLennert Buytenhek noticed that delBA handling in mac80211\nwas broken and has remotely triggerable problems, some of\nwhich are due to some code shuffling I did that ended up\nchanging the order in which things were done -- this was\n\n  commit d75636ef9c1af224f1097941879d5a8db7cd04e5\n  Author: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\n  Date:   Tue Feb 10 21:25:53 2009 +0100\n\n    mac80211: RX aggregation: clean up stop session\n\nand other parts were already present in the original\n\n  commit d92684e66091c0f0101819619b315b4bb8b5bcc5\n  Author: Ron Rindjunsky \u003cron.rindjunsky@intel.com\u003e\n  Date:   Mon Jan 28 14:07:22 2008 +0200\n\n      mac80211: A-MPDU Tx add delBA from recipient support\n\nThe first problem is that I moved a BUG_ON before various\nchecks -- thereby making it possible to hit. As the comment\nindicates, the BUG_ON can be removed since the ampdu_action\ncallback must already exist when the state is !\u003d IDLE.\n\nThe second problem isn\u0027t easily exploitable but there\u0027s a\nrace condition due to unconditionally setting the state to\nOPERATIONAL when a delBA frame is received, even when no\naggregation session was ever initiated. All the drivers\naccept stopping the session even then, but that opens a\nrace window where crashes could happen before the driver\naccepts it. Right now, a WARN_ON may happen with non-HT\ndrivers, while the race opens only for HT drivers.\n\nFor this case, there are two things necessary to fix it:\n 1) don\u0027t process spurious delBA frames, and be more careful\n    about the session state; don\u0027t drop the lock\n\n 2) HT drivers need to be prepared to handle a session stop\n    even before the session was really started -- this is\n    true for all drivers (that support aggregation) but\n    iwlwifi which can be fixed easily. The other HT drivers\n    (ath9k and ar9170) are behaving properly already.\n\nReported-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8c0c709eea5cbab97fb464cd68b06f24acc58ee1",
      "tree": "23af087965cd5f6142e951eccbee1817560e6506",
      "parents": [
        "e60d7443e00a72a2c056950cdaab79c7b077f3d4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 25 17:46:15 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Sat Nov 28 15:05:01 2009 -0500"
      },
      "message": "mac80211: move cmntr flag out of rx flags\n\nThe RX flags should soon be used only for flags\nthat cannot change within an a-MPDU, so move the\ncooked monitor flag into the RX status flags.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\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": "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": "c951ad3550ab40071bb0f222ba6125845769c08a",
      "tree": "9db1d3c110b359a34a3d706eaf40285cfa01550b",
      "parents": [
        "3b53fde8ac40c4321389def14d7f4a9e14092fd3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Nov 16 12:00:38 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:15 2009 -0500"
      },
      "message": "mac80211: convert aggregation to operate on vifs/stas\n\nThe entire aggregation code currently operates on the\nhw pointer and station addresses, but that needs to\nchange to make stations purely per-vif; As one step\npreparing for that make the aggregation code callable\nwith the station, or by the combination of virtual\ninterface and station address.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "599bf6a4d64d8399e99514e0e1ef02e97e43238f",
      "tree": "870498289546f57a6d96f5c272fde5a8aaca1f2c",
      "parents": [
        "3e5b1101f59fb3e17a8eb32cca100ae07fd7100e"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sun Nov 15 23:07:30 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:10 2009 -0500"
      },
      "message": "mac80211: add the total ampdu length to tx info\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": "5ed176e1c425f9bd1af161d66d348f6116a04fc6",
      "tree": "b03b8be829a8616e6c6c2678a8c590fee889a116",
      "parents": [
        "7fdad987d63f02c8fba30276ba395ac8dc93b719"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 04 14:42:28 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 04 18:44:48 2009 -0500"
      },
      "message": "mac80211: make ieee80211_find_sta per virtual interface\n\nSince we have a TODO item to make all station\nmanagement dependent on virtual interfaces, I\nfigured I\u0027d start with pushing such a change\nto drivers before more drivers start using the\nieee80211_find_sta() API with a hw pointer and\ncause us grief later on.\n\nFor now continue exporting the old API in form\nof ieee80211_find_sta_by_hw(), but discourage\nits use strongly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c27f2fded51948edf40007f4f31350e9e0c6ba23",
      "tree": "c800cd4fcbc9f675341e95a76e080460eb1eac85",
      "parents": [
        "eddcbb94f75c3e8944503e9f13c1d29acd0d7052"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 29 08:41:25 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 30 16:50:39 2009 -0400"
      },
      "message": "mac80211: deprecate qual value\n\nThis value is unused by mac80211, because it was only\nbe used by wireless extensions, and turned out to not\nbe useful there because the quality value needs to be\ncomparable between scan results and the current value\nwhich is impossible when the qual value is calculated\ntaking into account noise, for example.\n\nSince it is unused anyway, this patch deprecates it\nin the hope that drivers will remove their sometimes\nquite expensive calculations of the value.\n\nI\u0027m open to actual uses of the value, but the best\nway of using it seems to be what the Intel drivers do\nwhich should probably be generalised if we have noise\nvalues from the hardware.\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": "0869aea0eb711982cd2b8bebf41b3c0191c89cde",
      "tree": "a20075f5e675be3d50720ac528db52de5cb2fd56",
      "parents": [
        "6a86b9c78ebd0397eb953493c68ea9e194e7023c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Oct 28 10:03:35 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 30 16:49:20 2009 -0400"
      },
      "message": "mac80211: remove RX_FLAG_RADIOTAP\n\nWhile there may be a case for a driver adding its\nown bits of radiotap information, none currently\ndoes. Also, drivers would have to copy the code\nto generate the radiotap bits that now mac80211\ngenerates. If some driver in the future needs to\nadd some driver-specific information I\u0027d expect\nthat to be in a radiotap vendor namespace and we\ncan add a different way of passing such data up\nand having mac80211 include it.\n\nAdditionally, rename IEEE80211_CONF_RADIOTAP to\nIEEE80211_CONF_MONITOR since it\u0027s still used by\nb43(legacy) to obtain per-frame timestamps.\n\nThe purpose of this patch is to simplify the RX\ncode in mac80211 to make it easier to add paged\nskb support.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e36e49f7338f0f73cd7f5ba4f5b646a479ab60a8",
      "tree": "afd17ce1fb0c79e89bf481f781fb7ef82759741c",
      "parents": [
        "88499ab3d8dbbf9c080416952603742666c71262"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Oct 13 20:33:13 2009 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 27 16:48:21 2009 -0400"
      },
      "message": "mac80211: add ieee80211_rx_ni()\n\nieee80211_rx() must be called with bottom halves disabled. To simplify\ndriver development implement ieee80211_rx_ni() which disables BH. This\nfunction must be used when in process context.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d20ef63d32461332958661df73e21c0ca42601b0",
      "tree": "b63f50f6086cacd9597490459f9febe289ba8c0d",
      "parents": [
        "edbfdcceb41c0cbfc1dd2cd28af2272190be47ad"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Oct 11 15:10:40 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 12 15:55:53 2009 -0400"
      },
      "message": "mac80211: document ieee80211_rx() context requirement\n\nieee80211_rx() must be called with softirqs disabled\nsince the networking stack requires this for netif_rx()\nand some code in mac80211 can assume that it can not\nbe processing its own tasklet and this call at the same\ntime.\n\nIt may be possible to remove this requirement after a\ncareful audit of mac80211 and doing any needed locking\nimprovements in it along with disabling softirqs around\nnetif_rx(). An alternative might be to push all packet\nprocessing to process context in mac80211, instead of\nto the tasklet, and add other synchronisation.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "103bf9f7d35849bce52ad412e4da5063b0716969",
      "tree": "67712138dc332cc42f3cc69ab2db9dbb60b4b4e1",
      "parents": [
        "b0a4e7d8a291de63f35b04464de9ab4a83d38a7c"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 16:34:15 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 28 14:40:29 2009 -0400"
      },
      "message": "mac80211: remove ieee80211_rx namespace hack\n\nWith the libipw naming scheme change, it is no longer necessary for\nmac80211 to avoid the ieee80211_rx name clash.\n\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f424afa17899408cbd267a4c4534ca6fc9d8f71c",
      "tree": "ef68af16e693231b6842767ecd2ad04ba341cd93",
      "parents": [
        "3ac64beecd27400d12cc7afb4108eef26c499f6a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Aug 17 16:18:07 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 11:35:58 2009 -0400"
      },
      "message": "mac80211: remove deprecated API\n\nAll but two drivers have now stopped using the two\ndeprecated members radio_enabled and beacon_int,\nso it\u0027s about time to remove them for good.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3ac64beecd27400d12cc7afb4108eef26c499f6a",
      "tree": "da0220085f68e30fe61ba9b8833dc6311d6dc25e",
      "parents": [
        "ea416a793d2b611f22b42ba094fd2e5bd30fff43"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Aug 17 16:16:53 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 11:35:58 2009 -0400"
      },
      "message": "mac80211: allow configure_filter callback to sleep\n\nOver time, a whole bunch of drivers have come up\nwith their own scheme to delay the configure_filter\noperation to a workqueue. To be able to simplify\nthings, allow configure_filter to sleep, and add\na new prepare_multicast callback that drivers that\nneed the multicast address list implement. This new\ncallback must be atomic, but most drivers either\ndon\u0027t care or just calculate a hash which can be\ndone atomically and then uploaded to the hardware\nnon-atomically.\n\nA cursory look suggests that at76c50x-usb, ar9170,\nmwl8k (which is actually very broken now), rt2x00,\nwl1251, wl1271 and zd1211 should make use of this\nnew capability.\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": "ab5b5342fd0ba5b9a2f58a94c5d41dd074b7c48e",
      "tree": "1a1797f02a5994981bfa91048ba97878ed410291",
      "parents": [
        "c555b9b3713e05586fabe85f4e46f28859e72930"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Aug 07 16:28:09 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:13:43 2009 -0400"
      },
      "message": "mac80211: document TX powersave filter requirements\n\nThis documents what\u0027s required to implement that TX powersave\nfilter properly wrt. handling hardware queues.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c555b9b3713e05586fabe85f4e46f28859e72930",
      "tree": "c94e3ab08a99e5ffba369304ca790318ab093cab",
      "parents": [
        "f5ea9120be2e5d5c846243416cfdce01d02f5836"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Aug 07 16:23:43 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:13:43 2009 -0400"
      },
      "message": "mac80211: explain TX retry and status\n\nAdd some more documentation including an example so that\nit\u0027s clearer what should be done for TX retries.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e3b90ca28412fb9dcc8c5ca38e179e78fec07eee",
      "tree": "fa17113d9d7c96edc076b3f46558e8c3fb78d673",
      "parents": [
        "e48e3a2f17f189deb086ff221e489e7fd8ec4302"
      ],
      "author": {
        "name": "Igor Perminov",
        "email": "igor.perminov@inbox.ru",
        "time": "Tue Aug 04 16:48:51 2009 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 04 16:44:35 2009 -0400"
      },
      "message": "mac80211: FIF_PSPOLL filter flag\n\nWhen an interface is configured in the AP mode, the mac80211\nimplementation doesn\u0027t inform the driver to receive PS Poll frames.\nIt leads to inability to communicate with power-saving stations\nreliably.\nThe FIF_CONTROL flag isn\u0027t passed by mac80211 to\nieee80211_ops.configure_filter when an interface is in the AP mode.\nAnd it\u0027s ok, because we don\u0027t want to receive ACK frames and other\ncontrol ones, but only PS Poll ones.\n\nThis patch introduces the FIF_PSPOLL filter flag in addition to\nFIF_CONTROL, which means for the driver \"pass PS Poll frames\".\n\nThis flag is passed to the driver:\nA) When an interface is configured in the AP mode.\nB) In all cases, when the FIF_CONTROL flag was passed earlier (in\naddition to it).\n\nSigned-off-by: Igor Perminov \u003cigor.perminov@inbox.ru\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": "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": "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": "4c6d4f5c33fbe19b134c1af43af166fee79eb986",
      "tree": "789bd7f9c049ea9c57ad8f4826df6bcad3774ade",
      "parents": [
        "943ab70f6aebfdc0005ef7e58ae982e9ec22224b"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Jul 16 10:05:41 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:16 2009 -0400"
      },
      "message": "mac80211: add helper for management / no-ack frame rate decision\n\nAll current rate control algorithms agree to send management and no-ack\nframes at the lowest rate. They also agree to do this when sta\nand the private rate control data is NULL. We add a hlper to mac80211\nfor this and simplify the rate control algorithm code.\n\nDevelopers wishing to make enhancements to rate control algorithms\nare for broadcast/multicast can opt to not use this in their\ngate_rate() mac80211 callback.\n\nCc: Zhu Yi \u003cyi.zhu@intel.com\u003e\nAcked-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nCc: ipw3945-devel@lists.sourceforge.net\nCc: Gabor Juhos \u003cjuhosg@openwrt.org\u003e\nAcked-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nCc: Derek Smithies \u003cderek@indranet.co.nz\u003e\nCc: Chittajit Mitra \u003cChittajit.Mitra@Atheros.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\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": "aff89a9b9084931e51b89d8f3ee3c547bea6c422",
      "tree": "592c1dfa2ef994a1b3e117b3d7bc1cc7b7bde637",
      "parents": [
        "5121ea0481f9cea1dfd958f18d7b4ac78778cd40"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 01 21:26:51 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:50 2009 -0400"
      },
      "message": "cfg80211: introduce nl80211 testmode command\n\nThis introduces a new NL80211_CMD_TESTMODE for testing\nand calibration use with nl80211. There\u0027s no multiplexing\nlike like iwpriv had, and the command is not available by\ndefault, it needs to be explicitly enabled in Kconfig and\nshouldn\u0027t be enabled in most kernels.\n\nThe command requires a wiphy index or interface index to\nidentify the device to operate on, and the new TESTDATA\nattribute. There also is API for sending replies to the\ncommand, and testmode multicast messages (on a testmode\nmulticast group).\n\nI\u0027ve also updated mac80211 to be able to pass through the\ncommand to the driver, since it itself doesn\u0027t implement\nthe testmode command.\n\nAdditionally, to give people an idea of how to use the\ncommand, I\u0027ve added a little code to hwsim that makes use\nof the new command to set the powersave mode, this is\ncurrently done via debugfs and should remain there, and\nthe testmode command only serves as an example of how to\nuse this best -- with nested netlink attributes in the\nTESTDATA attribute. A hwsim testmode tool can be found at\nhttp://git.sipsolutions.net/hwsim.git/. This tool is BSD\nlicensed so people can easily use it as a basis for their\nown internal fabrication and validation tools.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f1d58c2521eb160178b2151d6326d8dc5d7c8560",
      "tree": "af373bb1a5fbb6bc9436d29095133992d33d6598",
      "parents": [
        "18ad01c43918751cc22f8ee28f6b38b8954a55b2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jun 17 13:13:00 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 14:57:54 2009 -0400"
      },
      "message": "mac80211: push rx status into skb-\u003ecb\n\nWithin mac80211, we often need to copy the rx status into\nskb-\u003ecb. This is wasteful, as drivers could be building it\nin there to start with. This patch changes the API so that\ndrivers are expected to pass the RX status in skb-\u003ecb, now\naccessible as IEEE80211_SKB_RXCB(skb). It also updates all\ndrivers to pass the rx status in there, but only by making\nthem memcpy() it into place before the call to the receive\nfunction (ieee80211_rx(_irqsafe)). Each driver can now be\noptimised on its own schedule.\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": "1f87f7d3a3b42b20f34cb03f0fd1a41c3d0e27f3",
      "tree": "642882153a48e910a415e6bb23bcfb79fadef6dd",
      "parents": [
        "6081162e2ed78dfcf149b076b047078ab1445cc2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jun 02 13:01:41 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 03 14:06:14 2009 -0400"
      },
      "message": "cfg80211: add rfkill support\n\nTo be easier on drivers and users, have cfg80211 register an\nrfkill structure that drivers can access. When soft-killed,\nsimply take down all interfaces; when hard-killed the driver\nneeds to notify us and we will take down the interfaces\nafter the fact. While rfkilled, interfaces cannot be set UP.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e535c7566e1318ccfa015e297f0309994f7bc078",
      "tree": "586e150edc49e9bf64f7fea728ce37b8cff4063a",
      "parents": [
        "2fa7a98fc96abe431e5d54d97104cdca197391fa"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat May 23 11:18:45 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 03 14:05:09 2009 -0400"
      },
      "message": "mac80211: deprecate conf.beacon_int properly\n\nIvo has updated the driver to no longer use the change flag,\nso we can remove that, but rt2x00 and ath5k still use the\nactual value so let\u0027s mark it as deprecated too.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e31a16d6f64ef0e324c6f54d5112703c3f13a9c4",
      "tree": "4ed30d0ebd1d948aaa14bcd4fb52f29d9bb2e7a8",
      "parents": [
        "a971be223f243311a8014ddfc721f68e3ef2da9c"
      ],
      "author": {
        "name": "Zhu Yi",
        "email": "yi.zhu@intel.com",
        "time": "Thu May 21 21:47:03 2009 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri May 22 14:06:02 2009 -0400"
      },
      "message": "wireless: move some utility functions from mac80211 to cfg80211\n\nThe patch moves some utility functions from mac80211 to cfg80211.\nBecause these functions are doing generic 802.11 operations so they\nare not mac80211 specific. The moving allows some fullmac drivers\nto be also benefit from these utility functions.\n\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: Samuel Ortiz \u003csamuel.ortiz@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cce4c77b87ce7e71a0f244a3dfb6ac1c3a1bc67e",
      "tree": "0de4a33b1a23836a6324dbcbc9468962513e8d16",
      "parents": [
        "2c617b0324c4b05e8e08f14407a9be3b7756768f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue May 19 10:39:34 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 20 14:46:32 2009 -0400"
      },
      "message": "mac80211: fix kernel-doc\n\nMoving information from config_interface to bss_info_changed\nremoved struct ieee80211_if_conf which the documentation still\nrefers to, additionally there\u0027s one kernel-doc description too\nmuch and one other missing, fix all this.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "44033f80cefd1d7b474efdabc412476d4bafb8f4",
      "tree": "6dde9173f612ddb88b5d244593bf6c66f6fcea54",
      "parents": [
        "413ad50a5c15f3bae8075c15b101679f05c37a69"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri May 08 21:21:41 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 11 15:23:57 2009 -0400"
      },
      "message": "mac80211: remove ieee80211_ht_bss_info\n\nThis struct is no longer used (and hasn\u0027t been for a while).\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9ed6bcce77f75d98af6ee07069deac6041948bee",
      "tree": "9fff3d257612ed049b28a80681fbd987f4de3ec4",
      "parents": [
        "5a9940118a616266183c53a9ee4352feadb9c2e8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri May 08 20:47:39 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 11 15:23:57 2009 -0400"
      },
      "message": "mac80211: move HT operation mode BSS info\n\nThere really is no need to have a separate struct for a\nsingle variable. The fact that it exists is due to the\ncode legacy, but we can remove that now. Very simple.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5cff20e6c5a6591a79d3b027af222870f52bb550",
      "tree": "81b6ebb75c1dc87b65258e71526c1581d168156c",
      "parents": [
        "9955151df7c6452cae2ed9649f53d265c91cf155"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Apr 29 12:26:17 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:51 2009 -0400"
      },
      "message": "mac80211: tell driver when idle\n\nWhen we aren\u0027t doing anything in mac80211, we can turn off\nmuch of the hardware, depending on the driver/hw. Not doing\nanything, aka being idle, means:\n\n * no monitor interfaces\n * no AP/mesh/wds interfaces\n * any station interfaces are in DISABLED state\n * any IBSS interfaces aren\u0027t trying to be in a network\n * we aren\u0027t trying to scan\n\nBy creating a new function that verifies these conditions and calling\nit at strategic points where the states of those conditions change,\nwe can easily make mac80211 tell the driver when we are idle to save\npower.\n\nAdditionally, this fixes a small quirk where a recalculated powersave\nstate is passed to the driver even if the hardware is about to stopped\ncompletely.\n\nThis patch intentionally doesn\u0027t touch radio_enabled because that is\ncurrently implemented to be a soft rfkill which is inappropriate here\nwhen we need to be able to wake up with low latency.\n\nOne thing I\u0027m not entirely sure about is this:\n\n  phy0: device no longer idle - in use\n  wlan0: direct probe to AP 00:11:24:91:07:4d try 1\n  wlan0 direct probe responded\n  wlan0: authenticate with AP 00:11:24:91:07:4d\n  wlan0: authenticated\n\u003e phy0: device now idle\n\u003e phy0: device no longer idle - in use\n  wlan0: associate with AP 00:11:24:91:07:4d\n  wlan0: RX AssocResp from 00:11:24:91:07:4d (capab\u003d0x401 status\u003d0 aid\u003d1)\n  wlan0: associated\n\nIs it appropriate to go into idle state for a short time when we have\njust authenticated, but not associated yet? This happens only with the\nuserspace SME, because we cannot really know how long it will wait\nbefore asking us to associate. Would going idle after a short timeout\nbe more appropriate? We may need to revisit this, depending on what\nhappens.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2d0ddec5b2b859f06116f631fc0ffe94fbceb556",
      "tree": "9bf3cdfcbbefcb34f5984e6d797f488ebe358196",
      "parents": [
        "57c4d7b4c4986037be51476b8e3025d5ba18d8b8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 23 16:13:26 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:36 2009 -0400"
      },
      "message": "mac80211: unify config_interface and bss_info_changed\n\nThe config_interface method is a little strange, it contains the\nBSSID and beacon updates, while bss_info_changed contains most\nother BSS information for each interface. This patch removes\nconfig_interface and rolls all the information it previously\npassed to drivers into bss_info_changed.\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": "9ccebe6148bcb0aba2d89743df2ff182ced505ec",
      "tree": "7209957870ae665e651510fe1828a03be9ea01e3",
      "parents": [
        "d5edaedc16ebd0635435dec068d49e07a76ba7d9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 23 10:32:36 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:29 2009 -0400"
      },
      "message": "mac80211: rename max_sleep_interval to max_sleep_period\n\nKalle points out that max_sleep_interval is somewhat confusing\nbecause the value is measured in beacon intervals, and not in\nTU. Rename it to max_sleep_period to be consistent with things\nlike DTIM period that are also measured in beacon intervals.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "04fe20372e70685d9f15966216cdffd3795fe590",
      "tree": "8de1ed35372e2f2bcfd9f36cb89647ce1507922d",
      "parents": [
        "8e30bc55de98c000b0b836cb42525c82f605f191"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Apr 22 18:44:37 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:20 2009 -0400"
      },
      "message": "mac80211: calculate maximum sleep interval\n\nThe maximum sleep interval, for powersave purposes, is\ndetermined by the DTIM period (it may not be larger)\nand the required networking latency (it must be small\nenough to fulfil those constraints).\n\nThis makes mac80211 calculate the maximum sleep interval\nbased on those constraints, and pass it to the driver.\nThen the driver should instruct the device to sleep at\nmost that long.\n\nNote that the device is responsible for aligning the\nmaximum sleep interval between DTIMs, we make sure it\u0027s\nnot longer but it needs to make sure it\u0027s between them.\n\nAlso, group some powersave documentation together and\nmake it more explicit that we support managed mode only,\nand no IBSS powersaving (yet).\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e255d5eb2b478eec1416b46aea03798b64355402",
      "tree": "db4ccb922a585adb00c490b77dc4764ccb39964e",
      "parents": [
        "1d4df3a50f40a731fc03c86a76535ed141b0e4bc"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Apr 22 12:40:07 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:20 2009 -0400"
      },
      "message": "mac80211: remove IEEE80211_CONF_CHANGE_DYNPS_TIMEOUT\n\nJust setting IEEE80211_CONF_CHANGE_PS should be sufficient\nfor changes in the power saving things. The driver already\ntells us whether it wants notification of dynps via the\n\"have dynps support\" hw flag.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nReviewed-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d323655372590c533c275b1d798f9d1221efb5c6",
      "tree": "7eb0e7ecb88b09cead5a36b5aa93328b199e5c25",
      "parents": [
        "af8cdcd828ad751fae8e6cbfe94eef9f2f23b14b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 20 14:31:42 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:17 2009 -0400"
      },
      "message": "cfg80211: clean up includes\n\nTrying to separate header files into net/wireless.h and\nnet/cfg80211.h has been a source of confusion. Remove\nnet/wireless.h (because there also is the linux/wireless.h)\nand subsume everything into net/cfg80211.h -- except the\ndefinitions for regulatory structures which get moved to\na new header net/regulatory.h.\n\nThe \"new\" net/cfg80211.h is now divided into sections.\n\nThere are no real changes in this patch but code shuffling\nand some very minor documentation fixes.\n\nI have also, to make things reflect reality, put in a\ncopyright line for Luis to net/regulatory.h since that\nis probably exclusively written by him but was formerly\nin a file that only had my copyright line.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "955394c98c9cb79bdb3e6b479695af3a90ea0623",
      "tree": "db4e8341606ecd2683ce1649ca3f0dcfd656c675",
      "parents": [
        "bbbdff9e00449928f228867076a07bdfecd3dca8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 16 17:04:25 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:16 2009 -0400"
      },
      "message": "mac80211: document powersaving/beacon filter future\n\nDocument what mac80211 will do in the future to help save power.\nWe\u0027re not quite there yet, but a plan helps. Also, while at it,\nfix the docs wrt. multicast traffic.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nReviewed-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f2753ddbadb0873a98421415882318251bbd9eaa",
      "tree": "daad40232be13d91835b30234e5743dfdd582f19",
      "parents": [
        "a1c555802a62c845520d2486d783c9bb1d5e68a9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 14 10:09:24 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:14 2009 -0400"
      },
      "message": "mac80211: add hardware restart function\n\nSome hardware defects may require the hardware to be re-initialised\ncompletely from scratch. Drivers would need much information (for\ninstance the current MAC address, crypto keys, beaconing information,\netc.) stored duplicated from mac80211 to be able to do this, so let\nmac80211 help them.\n\nThe new ieee80211_restart_hw() function requires the same code as\nresuming, so move that code into a new ieee80211_reconfig() function\nin util.c and leave only the suspend code in pm.c.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "de95a54b1aebe5592cae971ca5e5d9ec6a381a17",
      "tree": "55a622d1e61e73cd6426c5e0643ac9fd117a9fe8",
      "parents": [
        "18a8365992a8041aa178ae9ad5f0d951d0457230"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Apr 01 11:58:36 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:54:39 2009 -0400"
      },
      "message": "mac80211: pass all probe request IEs to driver\n\nInstead of just passing the cfg80211-requested IEs, pass\nthe locally generated ones as well.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e4e72fb4de93e3d4047a4ee3f08778422e17ed0d",
      "tree": "dd133a749e6fa6960c9aa708041d996110f6440e",
      "parents": [
        "cd8ffc800ce18e558335c4946b2217864fc16045"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 17:28:42 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:23 2009 -0400"
      },
      "message": "mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi\n\nThis patch removes all the virtual A-MPDU-queue bookkeeping from\nmac80211. Curiously, iwlwifi already does its own bookkeeping, so\nit doesn\u0027t require much changes except where it needs to handle\nstarting and stopping the queues in mac80211.\n\nTo handle the queue stop/wake properly, we rewrite the software\nqueue number for aggregation frames and internally to iwlwifi keep\ntrack of the queues that map into the same AC queue, and only talk\nto mac80211 about the AC queue. The implementation requires calling\ntwo new functions, iwl_stop_queue and iwl_wake_queue instead of the\nmac80211 counterparts.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Reinette Chattre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cd8ffc800ce18e558335c4946b2217864fc16045",
      "tree": "e9bb8c3d6011e89374f9df353ff1f15d45a63590",
      "parents": [
        "a220858d30604902f650074bfac5a7598bc97ea4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 17:28:41 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:22 2009 -0400"
      },
      "message": "mac80211: fix aggregation to not require queue stop\n\nInstead of stopping the entire AC queue when enabling aggregation\n(which was only done for hardware with aggregation queues) buffer\nthe packets for each station, and release them to the pending skb\nqueue once aggregation is turned on successfully.\n\nWe get a little more code, but it becomes conceptually simpler and\nwe can remove the entire virtual queue mechanism from mac80211 in\na follow-up patch.\n\nThis changes how mac80211 behaves towards drivers that support\naggregation but have no hardware queues -- those drivers will now\nnot be handed packets while the aggregation session is being\nestablished, but only after it has been fully established.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b1720231ca07dee3382980f3b25e6581bd2e54e9",
      "tree": "4258dec3d4774ee5968f181533c77766c8584b79",
      "parents": [
        "1870cd71e87da1a1afb904f2c84086f487a07135"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 17:28:39 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:22 2009 -0400"
      },
      "message": "mac80211: unify and fix TX aggregation start\n\nWhen TX aggregation becomes operational, we do a number of steps:\n 1) print a debug message\n 2) wake the virtual queue\n 3) notify the driver\n\nUnfortunately, 1) and 3) are only done if the driver is first to\nreply to the aggregation request, it is, however, possible that the\nremote station replies before the driver! Thus, unify the code for\nthis and call the new function ieee80211_agg_tx_operational in both\nplaces where TX aggregation can become operational.\n\nAdditionally, rename the driver notification from\nIEEE80211_AMPDU_TX_RESUME to IEEE80211_AMPDU_TX_OPERATIONAL.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2b874e83c970b45c328ab12239b066a43505454c",
      "tree": "e4924ed6989f01682ec50910361b0d621dae0be4",
      "parents": [
        "4a48e2a484e5cf99da4795cf2d6916e057d533ad"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 14:10:22 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:15 2009 -0400"
      },
      "message": "mac80211: rate control status only for controlled packets\n\nThis patch changes mac80211 to not notify the rate control algorithm\u0027s\ntx_status() method when reporting status for a packet that didn\u0027t go\nthrough the rate control algorithm\u0027s get_rate() method.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "04de83815993714a7ba2618f637fa1092a5f664b",
      "tree": "7e491e890a66a3be3e4eae9636914858a6f3bba8",
      "parents": [
        "a08c1c1ac0c26229ca1ca45d554b209a56edc8be"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Sun Mar 22 21:57:35 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:13 2009 -0400"
      },
      "message": "mac80211: add beacon filtering support\n\nAdd IEEE80211_HW_BEACON_FILTERING flag so that driver inform that it supports\nbeacon filtering. Drivers need to call the new function\nieee80211_beacon_loss() to notify about beacon loss.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9050bdd8589c373e01e41ddbd9a192de2ff01ef0",
      "tree": "a33c69c570d6db96bb54bb3b4b3eb5ea4b43d5ea",
      "parents": [
        "15b7b0629c8213905926394dc73d600e0ca250ce"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Sun Mar 22 21:57:21 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:12 2009 -0400"
      },
      "message": "mac80211: disable power save when scanning\n\nWhen software scanning we need to disable power save so that all possible\nprobe responses and beacons are received. For hardware scanning assume that\nhardware will take care of that and document that assumption.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b3a902850a8f5bc11a660051faae707f928d4bd6",
      "tree": "0f99f1dcd8f4baf42169aecad0fc6204eba72746",
      "parents": [
        "a9a6ffffd05f97e6acbdeafc595e269855829751"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Mar 18 14:29:38 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:00 2009 -0400"
      },
      "message": "mac80211: kill IEEE80211_CONF_SHORT_SLOT_TIME\n\nNo drivers use it any more, so it can now be removed safely.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "51b381479ff5bc9b8c49ce15fd8bc35c6b695ca4",
      "tree": "1a3a36914491900d5b68ef913eff36f7db433a40",
      "parents": [
        "176be728ee7d32cfd33702d82c0733e51f66ab5b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Mar 12 11:16:48 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:12:45 2009 -0400"
      },
      "message": "mac80211: reduce max number of queues\n\nNo hw/driver actually supports more than four queues right now,\nand we allocate a number of things per queue which means we\nwaste a bit of memory. Reduce the maximum number to four to\naccurately reflect what we do (and need for QoS). Even if we\nhad hardware supporting more queues we couldn\u0027t take advantage\nof that right now anyway.\n\nSigned-off-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": "80e775bf08f1915870fbb0c1c7a45a3fdc291721",
      "tree": "117d475755d5f4f0aba17f9efce8fa4fd51d0d10",
      "parents": [
        "8821905cfb65504f64e6beb014133bd2a998f5dc"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Feb 20 15:37:03 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 27 14:52:51 2009 -0500"
      },
      "message": "mac80211: Add software scan notifiers\n\nThis adds optional notifier functions for software scan.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "81cb7623ad3b408f871fa36b774fc20d8dfccac0",
      "tree": "4a5f0811f0030059321858c634cf7ba5613fb78f",
      "parents": [
        "b06e786d4c850515e2efdf6dc37ba9e2ffc86bab"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Thu Feb 12 11:38:37 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 27 14:51:45 2009 -0500"
      },
      "message": "mac80211: Extend the rate control API with an update callback\n\nThe AP can switch dynamically between 20/40 Mhz channel width,\nin which case we switch the local operating channel, but the\nrate control algorithm is not notified. This patch adds a new callback\nto indicate such changes to the RC algorithm.\n\nCurrently, HT channel width change is notified, but this callback\ncan be used to indicate any new requirements that might come up later on.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "96f5e66e8a79810e2982cdcfa28e554f3d97da21",
      "tree": "d16a0e083b83ab488f20b995c56a496a4ec2c9c8",
      "parents": [
        "f3734ee6df3ac57151e02d091f47d5e52e646539"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Feb 12 00:51:53 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 27 14:51:42 2009 -0500"
      },
      "message": "mac80211: fix aggregation for hardware with ampdu queues\n\nHardware with AMPDU queues currently has broken aggregation.\n\nThis patch fixes it by making all A-MPDUs go over the regular AC queues,\nbut keeping track of the hardware queues in mac80211. As a first rough\nversion, it actually stops the AC queue for extended periods of time,\nwhich can be removed by adding buffering internal to mac80211, but is\ncurrently not a huge problem because people rarely use multiple TIDs\nthat are in the same AC (and iwlwifi currently doesn\u0027t operate as AP).\n\nThis is a short-term fix, my current medium-term plan, which I hope to\nexecute soon as well, but am not sure can finish before .30, looks like\nthis:\n 1) rework the internal queuing layer in mac80211 that we use for\n    fragments if the driver stopped queue in the middle of a fragmented\n    frame to be able to queue more frames at once (rather than just a\n    single frame with its fragments)\n 2) instead of stopping the entire AC queue, queue up the frames in a\n    per-station/per-TID queue during aggregation session initiation,\n    when the session has come up take all those frames and put them\n    onto the queue from 1)\n 3) push the ampdu queue layer abstraction this patch introduces in\n    mac80211 into the driver, and remove the virtual queue stuff from\n    mac80211 again\n\nThis plan will probably also affect ath9k in that mac80211 queues the\nframes instead of passing them down, even when there are no ampdu queues.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2a5193119269062608582418deba7af82844159a",
      "tree": "1f2fe8cffbeb7530dce7fa708310f6fb29ab0dd8",
      "parents": [
        "849b7967818995a32c3017542e33eb3155944368"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:55 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:49 2009 -0500"
      },
      "message": "cfg80211/nl80211: scanning (and mac80211 update to use it)\n\nThis patch adds basic scan capability to cfg80211/nl80211 and\nchanges mac80211 to use it. The BSS list that cfg80211 maintains\nis made driver-accessible with a private area in each BSS struct,\nbut mac80211 doesn\u0027t yet use it. That\u0027s another large project.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7b08b3b4a973de20d28d8a322c002c0a5444002a",
      "tree": "a44ccd7138b1c85917dfdd87e3a6fd9c11ec01b1",
      "parents": [
        "97d97b80984d0207e5c125c1b7b9467aad365d8d"
      ],
      "author": {
        "name": "Alina Friedrichsen",
        "email": "x-alina@gmx.net",
        "time": "Thu Feb 05 17:58:34 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:44:40 2009 -0500"
      },
      "message": "mac80211: Remove TSF atomic requirement from the documentation\n\nThe atomic requirement for the TSF callbacks\nis outdated. get_tsf() is only called by\nieee80211_rx_bss_info() which is indirectly\ncalled by the work queue ieee80211_sta_work().\nIn the same context are called several other\nnon-atomic functions, too.\nAnd the atomic requirement causes problems\nfor drivers of USB wifi cards.\n\nSigned-off-by: Alina Friedrichsen \u003cx-alina@gmx.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7fee5372d814c4be9546e5c28ac0058258d8df3e",
      "tree": "021aefd5c32d265f2ca6c9b379c11e0484aeba74",
      "parents": [
        "7a7dec656252a5784218a22abf76ad1cdef115d0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jan 30 11:13:06 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 09 15:03:44 2009 -0500"
      },
      "message": "mac80211: remove HW_SIGNAL_DB\n\nGiving the signal in dB isn\u0027t much more useful to userspace\nthan giving the signal in unspecified units. This removes\nsome radiotap information for zd1211 (the only driver using\nthis flag), but it helps a lot for getting cfg80211-based\nscanning which won\u0027t support dB, and zd1211 being dB is a\nlittle fishy anyway.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Bruno Randolf \u003cbruno@thinktube.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3b5d665b51cda73ef1a774b515afd879a38e3674",
      "tree": "68d71f6ac09f638b65ca1e256a17dfdb6c5b12b4",
      "parents": [
        "3978e5bce63484789891c67413372da3915bcbd6"
      ],
      "author": {
        "name": "Alina Friedrichsen",
        "email": "x-alina@gmx.net",
        "time": "Sat Jan 24 07:09:59 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:46 2009 -0500"
      },
      "message": "mac80211: Generic TSF debugging\n\nThis patch enables low-level driver independent debugging of the TSF and remove the driver specific things of ath5k and ath9k from the debugfs.\n\nSigned-off-by: Alina Friedrichsen \u003cx-alina@gmx.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c771c9d8da1e8292ef8bf7fd4ce135dacc650130",
      "tree": "79b259a6b0396cbecf9e775c7ba5a80e2c4d94c9",
      "parents": [
        "506d03f97d10e54fd27c58c872a98242326d6419"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jan 23 22:54:03 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:45 2009 -0500"
      },
      "message": "mac80211: add interface list lock\n\nUsing only the RTNL has a number of problems, most notably that\nieee80211_iterate_active_interfaces() and other interface list\ntraversals cannot be done from the internal workqueue because it\nneeds to be flushed under the RTNL.\n\nThis patch introduces a new mutex that protects the interface list\nagainst modifications. A more detailed explanation is part of the\ncode change.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9a95371aa26e3cb9fb1340362912000088ff3c3e",
      "tree": "aaa8470b9304d344a2c15f30776b3dd1c044183a",
      "parents": [
        "f976376de0d6a9697fb635369f12ae00251f4566"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Jan 22 15:05:53 2009 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:19 2009 -0500"
      },
      "message": "mac80211: allow mac80211 drivers to get to struct ieee80211_hw from wiphy\n\nIf a driver is given a wiphy and it wants to get to its private\nmac80211 driver area it can use wiphy_to_ieee80211_hw() to get first\nto its ieee80211_hw and then access the private structure via hw-\u003epriv. The\nwiphy_priv() is already being used internally by mac80211 and drivers\nshould not use this. This can be helpful in a drivers reg_notifier().\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "078e1e60dd6c6b0d4bc8d58ccb80c008e8efc9ff",
      "tree": "7fa2580b76a5693a37449e9cc075eee2394bb0c3",
      "parents": [
        "07c1e852514e862e246b9f2962ce8fc0d7ac8ed1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jan 22 18:07:31 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:13 2009 -0500"
      },
      "message": "mac80211: Add capability to enable/disable beaconing\n\nThis patch adds a flag to notify drivers to start and stop\nbeaconing when needed, for example, during a scan run. Based\non Sujith\u0027s first patch to do the same, but now disables\nbeaconing for all virtual interfaces while scanning, has a\nseparate change flag and tracks user-space requests.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2134e7e724798cf8d54ae822afe235abb607d9b2",
      "tree": "3f409a1615d0d1d61dbce9242028b6249a67c8cb",
      "parents": [
        "e129a948c906200db87727822559c09b62278824"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Thu Jan 22 09:00:52 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:10 2009 -0500"
      },
      "message": "mac80211: Add documentation bits for mac80211_rate_control_flags\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "881d948c23442173a011f1adcfe4c95bf7f27515",
      "tree": "3d7e6a4bf23b960cf45a4d2c5734578168ce0424",
      "parents": [
        "369391db1aabd089cefaadaabb6d9fc82e78b0a7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jan 21 15:13:48 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:09 2009 -0500"
      },
      "message": "wireless: restrict to 32 legacy rates\n\nSince the standards only define 12 legacy rates, 32 is certainly\na sane upper limit and we don\u0027t need to use u64 everywhere. Add\nsanity checking that no more than 32 rates are registered and\nchange the variables to u32 throughout.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5f936f11613c32ca7f8ed5fa333bb38a4501deeb",
      "tree": "6963b1e32eaa4d4bdb14655c9e8f209bf0e2c7f7",
      "parents": [
        "e9414b6b3f34dcc3683e66dffa4f5f167d49df51"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jan 21 12:47:05 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:07 2009 -0500"
      },
      "message": "mac80211: constify ieee80211_if_conf.bssid\n\nThen one place can be a static const.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6dd1bf3118b62a3ce241dc2b7e05e3d4a28c9eb1",
      "tree": "0bbd7a254372af31b534f36f45ac7db751ddc7fe",
      "parents": [
        "e724b8fef6088e5dd240b53a38443e48fbcc8e93"
      ],
      "author": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Thu Jan 08 21:00:34 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:00:17 2009 -0500"
      },
      "message": "mac80211: document return codes from ops callbacks\n\nFor any callbacks in ieee80211_ops, specify what values the return\ncodes represent.  While at it, fix a couple of capitalization and\npunctuation differences.\n\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nReviewed-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4375d08350e3661d5e8860d33eea084e47ba01cf",
      "tree": "bb4df587cbe044700e0f29900c51e54ebd06ddd3",
      "parents": [
        "1f7d77ab69789980dad44e1af7afd3a68cd48276"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Thu Jan 08 13:32:11 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:00:08 2009 -0500"
      },
      "message": "mac80211: 802.11w - Add driver capability flag for MFP\n\nThis allows user space to determine whether a driver supports MFP and\nbehave properly without having to ask user to configure this in\nMFP-optional mode.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1f7d77ab69789980dad44e1af7afd3a68cd48276",
      "tree": "35406a27e707f0ebda27aaada47bc4c90fb26d31",
      "parents": [
        "63a5ab82255a4ff5d0783f16427210f1d45d7ec8"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Thu Jan 08 13:32:10 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:00:08 2009 -0500"
      },
      "message": "mac80211: 802.11w - Optional software CCMP for management frames\n\nIf driver/firmware/hardware does not support CCMP for management\nframes, it can now request mac80211 to take care of encrypting and\ndecrypting management frames (when MFP is enabled) in software. The\nwill need to add this new IEEE80211_KEY_FLAG_SW_MGMT flag when a CCMP\nkey is being configured for TX side and return the undecrypted frames\non RX side without RX_FLAG_DECRYPTED flag to use software CCMP for\nmanagement frames (but hardware for data frames).\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3cfcf6ac6d69dc290e96416731eea5c88ac7d426",
      "tree": "35bc626e2e3f7c37a7eb50c1f057adb4830eccc6",
      "parents": [
        "765cb46a3fc856245ea68a7c961ac87c77e4ae2d"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Thu Jan 08 13:32:02 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:00:03 2009 -0500"
      },
      "message": "mac80211: 802.11w - Use BIP (AES-128-CMAC)\n\nAdd mechanism for managing BIP keys (IGTK) and integrate BIP into the\nTX/RX paths.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4be8c3873e0b88397866d3ede578503e188f9ad2",
      "tree": "1ccf8a0c204bb01aca08d90c2d8c37b5e0439bd3",
      "parents": [
        "acbaf32e94cb70218792cac68e5149e482e77441"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jan 07 18:28:20 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 15:59:58 2009 -0500"
      },
      "message": "mac80211: extend/document powersave API\n\nThis modifies hardware flags for powersave to support three different\nflags:\n * IEEE80211_HW_SUPPORTS_PS - indicates general PS support\n * IEEE80211_HW_PS_NULLFUNC_STACK - indicates nullfunc sending in software\n * IEEE80211_HW_SUPPORTS_DYNAMIC_PS - indicates dynamic PS on the device\n\nIt also adds documentation for all this which explains how to set the\nvarious flags.\n\nAdditionally, it fixes a few things:\n * a spot where \u0026\u0026 was used to test flags\n * enable CONF_PS only when associated again\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ],
  "next": "46f2c4bd7e2ba2cfedbcd4fe15d316eebc608cba"
}
