)]}'
{
  "log": [
    {
      "commit": "58d4185e36913d4fc94afa4b4daccb3c9aa01957",
      "tree": "77d2e8e423652f5bbf2e29e8c0b3e0aeb7858b9f",
      "parents": [
        "628a140ba033ef201706a8c7e767c8a0c0f8326c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Sep 26 17:53:18 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:18 2007 -0700"
      },
      "message": "[MAC80211]: improve radiotap injection\n\nThis improves radiotap injection by removing the shortcut over TX handlers\nthat led to BUGS when injecting frames without setting a rate and also\nresulted in various other quirks. Now, TX handlers are run but some\ninformation that was present in the radiotap header is used instead of\nautomatic settings.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Andy Green \u003candy@warmcat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "628a140ba033ef201706a8c7e767c8a0c0f8326c",
      "tree": "7aae1dbc152bf9180fee3d238f224c2f4b1741b5",
      "parents": [
        "640845a5632390eaa9357cd818646c8f0ee3d47e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Sep 26 17:53:17 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:18 2007 -0700"
      },
      "message": "[MAC80211]: remove ALG_NONE\n\nThis \"algorithm\" is used only internally and is not useful.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Michael Buesch \u003cmb@bu3sch.de\u003e\nAcked-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f9d540ee5f7e480339911df8d7389ef4c435ab54",
      "tree": "89381e4aa0f8ea31662dc21e890c339d715f8271",
      "parents": [
        "a28975525016ddcbdaab8225666df1cf2dc9cb2d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Sep 28 14:02:09 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:15 2007 -0700"
      },
      "message": "[MAC80211]: remove management interface\n\nRemoves the management interface since it is only required\nfor hostapd/userspace MLME, will not be in the final tree\nat least in this form and hostapd/userspace MLME currently\ndo not work against this tree anyway.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a22a59d487e7fe509b457b72497593e402911c0",
      "tree": "a4bfd02cdea7e1cec690101bc119b515f3dc445c",
      "parents": [
        "4f0d18e26f8bc4c6507b69aa0080d0fae807c990"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Sep 26 15:19:41 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:14 2007 -0700"
      },
      "message": "[PATCH] mac80211: consolidate encryption\n\nCurrently we run through all crypto handlers for each transmitted\nframe although we already know which one will be used. This\nchanges the code to invoke only the needed handler. It also moves\nthe wep code into wep.c.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "79010420cc3f78eab911598bfdd29c4b06a83e1f",
      "tree": "a9031164d7944f8aa90a455d297780b241f3d865",
      "parents": [
        "ea49c359f36d5b40bf033c45a08332cb73777aa2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Sep 18 17:29:21 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:00 2007 -0700"
      },
      "message": "[PATCH] mac80211: fix virtual interface locking\n\nFlorian Lohoff noticed a bug in mac80211: when bringing the\nmaster interface down while other virtual interfaces are up\nwe call dev_close() under a spinlock which is not allowed.\nThis patch removes the sub_if_lock used by mac80211 in favour\nof using an RCU list. All list manipulations are already done\nunder rtnl so are well protected against each other, and the\nread-side locks we took in the RX and TX code are already in\nRCU read-side critical sections.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Florian Lohoff \u003cflo@rfc822.org\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: Michal Piotrowski \u003cmichal.k.k.piotrowski@gmail.com\u003e\nCc: Satyam Sharma \u003csatyam@infradead.org\u003e\nSigned-off-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "dd1cd4c620c174ebbdf78dc01b924115a06de5d3",
      "tree": "a04517b9ee2ede228ec4a8ab96099460060c4245",
      "parents": [
        "9c7d7728baf79c63ae58df95fb39ea13db487599"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Sep 18 17:29:20 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:32 2007 -0700"
      },
      "message": "[MAC80211]: print out wiphy name instead of master device\n\nThis makes mac80211 print out the wiphy name instead of the\nmaster device name where appropriate.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "011bfcc4f3d3444b140da3880ae30a62cc93529e",
      "tree": "2c856fefcd132ed308623b1da5cd47a22177d7af",
      "parents": [
        "72abd81b980ef7ffb83ecb4ac4a7627d9d575f50"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Sep 17 01:29:25 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:29 2007 -0700"
      },
      "message": "[MAC80211]: remove key threshold stuff\n\nThis patch removes the key threshold stuff from mac80211.\nI have patches for later that add it as a per-key setting\nto nl/cfg80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0795af5729b18218767fab27c44b1384f72dc9ad",
      "tree": "67c16df84aa6ec219340b8ea1b5cfb0e8150a216",
      "parents": [
        "95ea36275f3c9a1d3d04c217b4b576c657c4e70e"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Oct 03 17:59:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:42 2007 -0700"
      },
      "message": "[NET]: Introduce and use print_mac() and DECLARE_MAC_BUF()\n\nThis is nicer than the MAC_FMT stuff.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "475fa49c125d914451805a9fb3cd1baa53591538",
      "tree": "8de2a03fe0542c9a088ad67784cee26b4fea7fa4",
      "parents": [
        "68aae11674b9d6598b660d1148ffba9eef3f895f"
      ],
      "author": {
        "name": "Tomas Winkler",
        "email": "tomas.winkler@intel.com",
        "time": "Sun Sep 02 22:58:21 2007 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:32 2007 -0700"
      },
      "message": "[MAC80211]: PS mode fix\n\ntx.mode must be set also for buffered frames. It is used in the tx hanlders\n\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68aae11674b9d6598b660d1148ffba9eef3f895f",
      "tree": "d5213c5b624e9908b948f2642b7e15721021b4ee",
      "parents": [
        "24338793eea9dcc0865826e1115af86a19af8d18"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Aug 24 11:29:34 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:31 2007 -0700"
      },
      "message": "[MAC80211]: use internal network device stats\n\nStats are now available for device usage inside network_device\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24338793eea9dcc0865826e1115af86a19af8d18",
      "tree": "b7d73e8e897cfd2311db484fc7f8b8397b823325",
      "parents": [
        "139c3a0492745192f999aaa67d11cb63983211f5"
      ],
      "author": {
        "name": "warmcat",
        "email": "andy@warmcat.com",
        "time": "Fri Sep 14 11:10:25 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:31 2007 -0700"
      },
      "message": "[MAC80211]: get STA after tx radiotap snipped\n\nJohannes Berg noticed that in __ieee80211_tx_prepare() we try to get the\nSTA from addr1 of the ieee80211 header when the radiotap header is actually\nstill at the front of the packet.  This patch defers doing that until the\nradiotap header is gone.\n\nSigned-off-by: Andy Green \u003candy@warmcat.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a7664d451e7014b1a6828e50ccb3308d0b84816",
      "tree": "01c319d33d8c5b61d1946e6c76e27ec9dd44329b",
      "parents": [
        "7ac1bd6aecc92cfe6ec11891819dd4c26f2f7879"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Sep 14 11:10:25 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:29 2007 -0700"
      },
      "message": "[MAC80211]: remove HW_KEY_IDX_INVALID\n\nThis patch makes the mac80211/driver interface rely only on the\nIEEE80211_TXCTL_DO_NOT_ENCRYPT flag to signal to the driver whether\na frame should be encrypted or not, since mac80211 internally no\nlonger relies on HW_KEY_IDX_INVALID either this removes it, changes\nthe key index to be a u8 in all places and makes the full range of\nthe value available to drivers.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7848ba7d7a010ccb265617fc2bc053e2bdf06f48",
      "tree": "844da4a4d796d817b0040b284ddeaa320446eaab",
      "parents": [
        "b708e610622cff07f4374a2b4410884f964b8489"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Sep 14 11:10:25 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:27 2007 -0700"
      },
      "message": "[MAC80211]: rework hardware crypto flags\n\nThis patch reworks the various hardware crypto related\nflags to make them more local, i.e. put them with each\nkey or each packet instead of into the hw struct.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b708e610622cff07f4374a2b4410884f964b8489",
      "tree": "77aee49d680178df819437a35ba23cce9ad14e18",
      "parents": [
        "d4e46a3d9869563c6210b01bb651c40cbe65da80"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Sep 14 11:10:25 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:27 2007 -0700"
      },
      "message": "[MAC80211]: remove turbo modes\n\nThis patch removes all mention of the atheros turbo modes that\ncan\u0027t possibly work properly anyway since in some places we don\u0027t\ncheck for them when we should.\n\nI have no idea what the iwlwifi drivers were doing with these but\nit can\u0027t possibly have been correct.\n\nCc: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d4e46a3d9869563c6210b01bb651c40cbe65da80",
      "tree": "d37626d8077c0eaca35ec41e705c62af2a324847",
      "parents": [
        "c29b9b9b0235d56e5602f61ed38702dd376aae20"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Sep 14 11:10:24 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:26 2007 -0700"
      },
      "message": "[MAC80211]: fix race conditions with keys\n\nDuring receive processing, we select the key long before using it and\nbecause there\u0027s no locking it is possible that we kfree() the key\nafter having selected it but before using it for crypto operations.\nObviously, this is bad.\n\nSecondly, during transmit processing, there are two possible races: We\nhave a similar race between select_key() and using it for encryption,\nbut we also have a race here between select_key() and hardware\nencryption (both when a key is removed.)\n\nThis patch solves these issues by using RCU: when a key is to be freed,\nwe first remove the pointer from the appropriate places (sdata-\u003ekeys,\nsdata-\u003edefault_key, sta-\u003ekey) using rcu_assign_pointer() and then\nsynchronize_rcu(). Then, we can safely kfree() the key and remove it\nfrom the hardware. There\u0027s a window here where the hardware may still\nbe using it for decryption, but we can\u0027t work around that without having\ntwo hardware callbacks, one to disable the key for RX and one to disable\nit for TX; but the worst thing that will happen is that we receive a\npacket decrypted that we don\u0027t find a key for any more and then drop it.\n\nWhen we add a key, we first need to upload it to the hardware and then,\nusing rcu_assign_pointer() again, link it into our structures.\n\nIn the code using keys (TX/RX paths) we use rcu_dereference() to get the\nkey and enclose the whole tx/rx section in a rcu_read_lock() ...\nrcu_read_unlock() block. Because we\u0027ve uploaded the key to hardware\nbefore linking it into internal structures, we can guarantee that it is\nvalid once get to into tx().\n\nOne possible race condition remains, however: when we have hardware\nacceleration enabled and the driver shuts down the queues, we end up\nqueueing the frame. If now somebody removes the key, the key will be\nremoved from hwaccel and then then driver will be asked to encrypt the\nframe with a key index that has been removed. Hence, drivers will need\nto be aware that the hw_key_index they are passed might not be under\nall circumstances. Most drivers will, however, simply ignore that\ncondition and encrypt the frame with the selected key anyway, this\nonly results in a frame being encrypted with a wrong key or dropped\n(rightfully) because the key was not valid. There isn\u0027t much we can\ndo about it unless we want to walk the pending frame queue every time\na key is removed and remove all frames that used it.\n\nThis race condition, however, will most likely be solved once we add\nmultiqueue support to mac80211 because then frames will be queued\nfurther up the stack instead of after being processed.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c29b9b9b0235d56e5602f61ed38702dd376aae20",
      "tree": "5db640ccdfb46b84a6de16d84e18b1011d6ab452",
      "parents": [
        "5d4ecd9370da6e32588f218a5495806635154352"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Sep 14 11:10:24 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:26 2007 -0700"
      },
      "message": "[MAC80211]: don\u0027t send invalid QoS frames\n\nKalle Valo noticed that QoS frames are sent with an invalid QoS control\nfield; this is because we increase the header length but neither\ninitialise the space nor actually have enough space in the header\nstructure for the QoS control field.\n\nThis patch fixes it by treating the QoS field specially and appending it\nexplicitly, initialising it to zero.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "11a843b7e16062389c53ba393c7913956e034eb2",
      "tree": "7f557a55220a0de38f0eafe1a5147487ec39b790",
      "parents": [
        "3aefaa3294193c931b20a574f718efee6baf27d4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:55 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:53 2007 -0700"
      },
      "message": "[MAC80211]: rework key handling\n\nThis moves all the key handling code out from ieee80211_ioctl.c\ninto key.c and also does the following changes including documentation\nupdates in mac80211.h:\n\n 1) Turn off hardware acceleration for keys when the interface\n    is down. This is necessary because otherwise monitor\n    interfaces could be decrypting frames for other interfaces\n    that are down at the moment. Also, it should go some way\n    towards better suspend/resume support, in any case the\n    routines used here could be used for that as well.\n    Additionally, this makes the driver interface nicer, keys\n    for a specific local MAC address are only ever present\n    while an interface with that MAC address is enabled.\n\n 2) Change driver set_key() callback interface to allow only\n    return values of -ENOSPC, -EOPNOTSUPP and 0, warn on all\n    other return values. This allows debugging the stack when\n    a driver notices it\u0027s handed a key while it is down.\n\n 3) Invert the flag meaning to KEY_FLAG_UPLOADED_TO_HARDWARE.\n\n 4) Remove REMOVE_ALL_KEYS command as it isn\u0027t used nor do we\n    want to use it, we\u0027ll use DISABLE_KEY for each key. It is\n    hard to use REMOVE_ALL_KEYS because we can handle multiple\n    virtual interfaces with different key configuration, so we\u0027d\n    have to keep track of a lot of state for this and that isn\u0027t\n    worth it.\n\n 5) Warn when disabling a key fails, it musn\u0027t.\n\n 6) Remove IEEE80211_HW_NO_TKIP_WMM_HWACCEL in favour of per-key\n    IEEE80211_KEY_FLAG_WMM_STA to let driver sort it out itself.\n\n 7) Tell driver that a (non-WEP) key is used only for transmission\n    by using an all-zeroes station MAC address when configuring.\n\n 8) Change the set_key() callback to have access to the local MAC\n    address the key is being added for.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3aefaa3294193c931b20a574f718efee6baf27d4",
      "tree": "11e488c4edf67d0c279ab0aaf54d182d77bc301d",
      "parents": [
        "f658eb90d065c2d76ab3f3eb676ebf53462e323b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:55 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:52 2007 -0700"
      },
      "message": "[MAC80211]: remove fake set_key() call\n\nRemove adding a fake key with a NONE key algorithm for each\nassociated STA. If we have hardware with such TX filtering\nwe should probably extend the sta_table_notification()\ncallback with the sta information instead; the fact that\nit\u0027s treated as a key for some atheros hardware shouldn\u0027t\nbother the stack.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f20fc24986a083228823d9b68adca20714b254e",
      "tree": "b5d7638b913649c7a181d6703ccd72e35ca06de9",
      "parents": [
        "13262ffd4902805acad2618c12b41fcaa6c50791"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:54 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:51 2007 -0700"
      },
      "message": "[MAC80211]: embed key conf in key, fix driver interface\n\nThis patch embeds the struct ieee80211_key_conf into struct ieee80211_key\nand thus avoids allocations and having data present twice.\n\nThis required some more changes:\n 1) The removal of the IEEE80211_KEY_DEFAULT_TX_KEY key flag.\n    This flag isn\u0027t used by drivers nor should it be since\n    we have a set_key_idx() callback. Maybe that callback needs\n    to be extended to include the key conf, but only a driver that\n    requires it will tell.\n 2) The removal of the IEEE80211_KEY_DEFAULT_WEP_ONLY key flag.\n    This flag is global, so it shouldn\u0027t be passed in the key\n    conf structure. Pass it to the function instead.\n\nAlso, this patch removes the AID parameter to the set_key() callback\nbecause it is currently unused and the hardware currently cannot know\nabout the AID anyway. I suspect this was used with some hardware that\nactually selected the AID itself, but that functionality was removed.\n\nAdditionally, I\u0027ve removed the ALG_NULL key algorithm since we have\nALG_NONE.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13262ffd4902805acad2618c12b41fcaa6c50791",
      "tree": "2c5c250435c8464aa4c36253b3a86804e3a54814",
      "parents": [
        "d6f2da5b33911a31eb61e1790ef8e555e9605837"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Tue Aug 28 17:01:54 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:50 2007 -0700"
      },
      "message": "[MAC80211]: Remove bitfields from struct ieee80211_sub_if_data\n\nmac80211, remove bitfields from struct ieee80211_sub_if_data\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "badffb725c86cc2d46f7cb3f520f58f1c863b56c",
      "tree": "41a49288c79274a76e515ff6c4674a370bb6943d",
      "parents": [
        "e8bf96495cd67090b4900ddaf8e8672a17ec39fa"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Tue Aug 28 17:01:54 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:49 2007 -0700"
      },
      "message": "[MAC80211]: Remove bitfields from struct ieee80211_txrx_data\n\nmac80211, remove bitfields from struct ieee80211_txrx_data\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e8bf96495cd67090b4900ddaf8e8672a17ec39fa",
      "tree": "00630b109a928733217dc25ea1f5aefbf8b48a46",
      "parents": [
        "cf966838cd5596ca61d3e9949050442a943f6238"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Tue Aug 28 17:01:54 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:48 2007 -0700"
      },
      "message": "[MAC80211]: Remove bitfields from struct ieee80211_tx_packet_data\n\nremove bitfields from struct ieee80211_tx_packet_data\n\n[Johannes: completely clear flags in ieee80211_remove_tx_extra]\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf966838cd5596ca61d3e9949050442a943f6238",
      "tree": "fc5945ad6df812160b1f865ed29a6b1dc184b3c1",
      "parents": [
        "eb063c1702a84d58eb4c05a032bbff6f1c29049d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:54 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:48 2007 -0700"
      },
      "message": "[MAC80211]: use switch statement in tx code\n\nThe transmit code needs to set the addresses depending on the\ninterface type, a likely() for AP/VLAN is quite wrong since\nmost people will be using STA; convert to a switch statement\nto make it look nicer.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "53cb670042999b8acb70945ce522b015dcdf7b43",
      "tree": "e114ad62facc63678dab93b541804432e52a8ba0",
      "parents": [
        "b2446b36800948586f1d1b8ef05803bba5f7489e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:53 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:45 2007 -0700"
      },
      "message": "[MAC80211]: remove unused ioctls (2)\n\nThe ioctls\n\n * PRISM2_PARAM_STA_ANTENNA_SEL\n * PRISM2_PARAM_TX_POWER_REDUCTION\n * PRISM2_PARAM_DEFAULT_WEP_ONLY\n\nare not used by hostapd or wpa_supplicant.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "172589ccdde41b59861c92c4a971b95514ef24e3",
      "tree": "ae775e6db4cb85aad1c74b6d93ba359f9dfe88ea",
      "parents": [
        "c45248c70125cc374fdf264659643276c72801bf"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Aug 28 15:50:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:37 2007 -0700"
      },
      "message": "[NET]: DIV_ROUND_UP cleanup (part two)\n\nHopefully captured all single statement cases under net/. I\u0027m\nnot too sure if there is some policy about #includes that are\n\"guaranteed\" (ie., in the current tree) to be available through\nsome other #included header, so I just added linux/kernel.h to\neach changed file that didn\u0027t #include it previously.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b8a74e3482f9fc077a88c13fa0ceca8feb0b772",
      "tree": "0e55e12e233d534de8df14854cdf36ae8391fc5d",
      "parents": [
        "dfe6e81deaa79c85086c0cc8d85b229e444ab97f"
      ],
      "author": {
        "name": "Andy Green",
        "email": "andy@warmcat.com",
        "time": "Fri Jul 27 15:43:24 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:41 2007 -0700"
      },
      "message": "[MAC80211]: Improve sanity checks on injected packets\n\nMichael Wu noticed that the skb length checking is not taken care of enough when\na packet is presented on the Monitor interface for injection.\n\nThis patch improves the sanity checking and removes fake offsets placed\ninto the skb network and transport header.\n\nSigned-off-by: Andy Green \u003candy@warmcat.com\u003e\nSigned-off-by: Jiri Benc \u003cjbenc@suse.cz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7e9ed18874f0df84b6651f0636e1cfdac43bc610",
      "tree": "7bac6083031a48e488c0de5bf71e7f9398e0e011",
      "parents": [
        "d5d08def9216c445339c5a24a2cdc9cc2c8c13f7"
      ],
      "author": {
        "name": "Daniel Drake",
        "email": "dsd@gentoo.org",
        "time": "Fri Jul 27 15:43:24 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:38 2007 -0700"
      },
      "message": "[MAC80211]: improved short preamble handling\n\nSimilarly to CTS protection, whether short preambles are used for 802.11b\ntransmissions should be a per-subif setting, not device global.\n\nFor STAs, this patch makes short preamble handling automatic based on the ERP\nIE. For APs, hostapd still uses the prism ioctls, but the write ioctl has been\nrestricted to AP-only subifs.\n\nieee80211_txrx_data.short_preamble (an unused field) was removed.\n\nUnfortunately, some API changes were required for the following functions:\n - ieee80211_generic_frame_duration\n - ieee80211_rts_duration\n - ieee80211_ctstoself_duration\n - ieee80211_rts_get\n - ieee80211_ctstoself_get\nAffected drivers were updated accordingly.\n\nSigned-off-by: Daniel Drake \u003cdsd@gentoo.org\u003e\nSigned-off-by: Jiri Benc \u003cjbenc@suse.cz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d5d08def9216c445339c5a24a2cdc9cc2c8c13f7",
      "tree": "323fa9482da42ae8ce28c2030cf12bafd44e3eba",
      "parents": [
        "8a69aa93d54cb56017159b08512c80ede2263060"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "ivdoorn@gmail.com",
        "time": "Fri Jul 27 15:43:23 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:38 2007 -0700"
      },
      "message": "[MAC80211]: Add LONG_RETRY flag to ieee80211_tx_control\n\nmac80211 informs the driver what the short and long retry values are through\nset_retry_limit(), but when packets are being transmitted it did not inform the\ndriver which of the 2 retry limits should actually be used.\nInstead it sends the actual value, but for drivers that can only set the retry limit\nand the register and in the descriptor need to indicate which of the limits should\nbe used this is not really useful.\n\nThis patch will add a IEEE80211_TXCTL_LONG_RETRY_LIMIT flag to the\nieee80211_tx_control structure. By default the short retry limit should be\nused but if the flag is set the long retry should be used.\n\nThis does not prevent the driver to ignore the request for \"no retry\" packets,\nbut at least those will be send out with the short retry limit. But there is no\nperfect cure for this problem.. :(\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: Jiri Benc \u003cjbenc@suse.cz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "be8755e1804d6f60e6a96a46ac6bc46ce6dfca53",
      "tree": "a3038a924114f49aa2372ab7c9417d4e072c4b20",
      "parents": [
        "c2d1560ad8c2f6e0dd0d34102d022f3709325c26"
      ],
      "author": {
        "name": "Michael Wu",
        "email": "flamingice@sourmilk.net",
        "time": "Fri Jul 27 15:43:23 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:37 2007 -0700"
      },
      "message": "[MAC80211]: improve locking of sta_info related structures\n\nThe sta_info code has some awkward locking which prevents some driver\ncallbacks from being allowed to sleep. This patch makes the locking more\nfocused so code that calls driver callbacks are allowed to sleep. It also\nconverts sta_lock to a rwlock.\n\nSigned-off-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: Jiri Benc \u003cjbenc@suse.cz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e2ebc74d7e3d71600640db6fbb28cc2f362184c1",
      "tree": "7f9a830869b9f6157ee8235feb4953df7a639dbd",
      "parents": [
        "340e11f332c695c43f506e82b1d39d00716c5005"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jul 27 15:43:22 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:33 2007 -0700"
      },
      "message": "[MAC80211]: split TX path into own file\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Jiri Benc \u003cjbenc@suse.cz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ]
}
