)]}'
{
  "log": [
    {
      "commit": "0a0e9ae1bd788bc19adc4d4ae08c98b233697402",
      "tree": "13825eeb5bbeae27d66e95f12168eff4b60701ab",
      "parents": [
        "01a16b21d6adf992aa863186c3c4e561a57c1714",
        "b65a0e0c84cf489bfa00d6aa6c48abc5a237100f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x.h\n"
    },
    {
      "commit": "4f919a3bc54da01db829c520ce4b1fabfde1c3f7",
      "tree": "967b25b61b7e0afc261b6c79fe75f3f31644be1b",
      "parents": [
        "a866a2cc1c558089dd4c627eeb300142b1354474"
      ],
      "author": {
        "name": "Daniel J Blueman",
        "email": "daniel.blueman@gmail.com",
        "time": "Tue Feb 22 00:11:06 2011 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 21 15:14:25 2011 -0500"
      },
      "message": "fix cfg80211_wext_siwfreq lock ordering...\n\nI previously managed to reproduce a hang while scanning wireless\nchannels (reproducible with airodump-ng hopping channels); subsequent\nlockdep instrumentation revealed a lock ordering issue.\n\nWithout knowing the design intent, it looks like the locks should be\ntaken in reverse order; please comment.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible circular locking dependency detected ]\n2.6.38-rc5-341cd #4\n-------------------------------------------------------\nairodump-ng/15445 is trying to acquire lock:\n (\u0026rdev-\u003edevlist_mtx){+.+.+.}, at: [\u003cffffffff816b1266\u003e]\ncfg80211_wext_siwfreq+0xc6/0x100\n\nbut task is already holding lock:\n (\u0026wdev-\u003emtx){+.+.+.}, at: [\u003cffffffff816b125c\u003e] cfg80211_wext_siwfreq+0xbc/0x100\n\nwhich lock already depends on the new lock.\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #1 (\u0026wdev-\u003emtx){+.+.+.}:\n       [\u003cffffffff810a79d6\u003e] lock_acquire+0xc6/0x280\n       [\u003cffffffff816d6bce\u003e] mutex_lock_nested+0x6e/0x4b0\n       [\u003cffffffff81696080\u003e] cfg80211_netdev_notifier_call+0x430/0x5f0\n       [\u003cffffffff8109351b\u003e] notifier_call_chain+0x8b/0x100\n       [\u003cffffffff810935b1\u003e] raw_notifier_call_chain+0x11/0x20\n       [\u003cffffffff81576d92\u003e] call_netdevice_notifiers+0x32/0x60\n       [\u003cffffffff815771a4\u003e] __dev_notify_flags+0x34/0x80\n       [\u003cffffffff81577230\u003e] dev_change_flags+0x40/0x70\n       [\u003cffffffff8158587c\u003e] do_setlink+0x1fc/0x8d0\n       [\u003cffffffff81586042\u003e] rtnl_setlink+0xf2/0x140\n       [\u003cffffffff81586923\u003e] rtnetlink_rcv_msg+0x163/0x270\n       [\u003cffffffff8159d741\u003e] netlink_rcv_skb+0xa1/0xd0\n       [\u003cffffffff815867b0\u003e] rtnetlink_rcv+0x20/0x30\n       [\u003cffffffff8159d39a\u003e] netlink_unicast+0x2ba/0x300\n       [\u003cffffffff8159dd57\u003e] netlink_sendmsg+0x267/0x3e0\n       [\u003cffffffff8155e364\u003e] sock_sendmsg+0xe4/0x110\n       [\u003cffffffff8155f3a3\u003e] sys_sendmsg+0x253/0x3b0\n       [\u003cffffffff81003192\u003e] system_call_fastpath+0x16/0x1b\n\n-\u003e #0 (\u0026rdev-\u003edevlist_mtx){+.+.+.}:\n       [\u003cffffffff810a7222\u003e] __lock_acquire+0x1622/0x1d10\n       [\u003cffffffff810a79d6\u003e] lock_acquire+0xc6/0x280\n       [\u003cffffffff816d6bce\u003e] mutex_lock_nested+0x6e/0x4b0\n       [\u003cffffffff816b1266\u003e] cfg80211_wext_siwfreq+0xc6/0x100\n       [\u003cffffffff816b2fad\u003e] ioctl_standard_call+0x5d/0xd0\n       [\u003cffffffff816b3223\u003e] T.808+0x163/0x170\n       [\u003cffffffff816b326a\u003e] wext_handle_ioctl+0x3a/0x90\n       [\u003cffffffff815798d2\u003e] dev_ioctl+0x6f2/0x830\n       [\u003cffffffff8155cf3d\u003e] sock_ioctl+0xfd/0x290\n       [\u003cffffffff8117dffd\u003e] do_vfs_ioctl+0x9d/0x590\n       [\u003cffffffff8117e53a\u003e] sys_ioctl+0x4a/0x80\n       [\u003cffffffff81003192\u003e] system_call_fastpath+0x16/0x1b\n\nother info that might help us debug this:\n\n2 locks held by airodump-ng/15445:\n #0:  (rtnl_mutex){+.+.+.}, at: [\u003cffffffff81586782\u003e] rtnl_lock+0x12/0x20\n #1:  (\u0026wdev-\u003emtx){+.+.+.}, at: [\u003cffffffff816b125c\u003e]\ncfg80211_wext_siwfreq+0xbc/0x100\n\nstack backtrace:\nPid: 15445, comm: airodump-ng Not tainted 2.6.38-rc5-341cd #4\nCall Trace:\n [\u003cffffffff810a3f0a\u003e] ? print_circular_bug+0xfa/0x100\n [\u003cffffffff810a7222\u003e] ? __lock_acquire+0x1622/0x1d10\n [\u003cffffffff810a1f99\u003e] ? trace_hardirqs_off_caller+0x29/0xc0\n [\u003cffffffff810a79d6\u003e] ? lock_acquire+0xc6/0x280\n [\u003cffffffff816b1266\u003e] ? cfg80211_wext_siwfreq+0xc6/0x100\n [\u003cffffffff810a31d7\u003e] ? mark_held_locks+0x67/0x90\n [\u003cffffffff816d6bce\u003e] ? mutex_lock_nested+0x6e/0x4b0\n [\u003cffffffff816b1266\u003e] ? cfg80211_wext_siwfreq+0xc6/0x100\n [\u003cffffffff810a31d7\u003e] ? mark_held_locks+0x67/0x90\n [\u003cffffffff816b1266\u003e] ? cfg80211_wext_siwfreq+0xc6/0x100\n [\u003cffffffff816b1266\u003e] ? cfg80211_wext_siwfreq+0xc6/0x100\n [\u003cffffffff816b2fad\u003e] ? ioctl_standard_call+0x5d/0xd0\n [\u003cffffffff8157818b\u003e] ? __dev_get_by_name+0x9b/0xc0\n [\u003cffffffff816b2f50\u003e] ? ioctl_standard_call+0x0/0xd0\n [\u003cffffffff816b3223\u003e] ? T.808+0x163/0x170\n [\u003cffffffff8112ddf2\u003e] ? might_fault+0x72/0xd0\n [\u003cffffffff816b326a\u003e] ? wext_handle_ioctl+0x3a/0x90\n [\u003cffffffff8112de3b\u003e] ? might_fault+0xbb/0xd0\n [\u003cffffffff815798d2\u003e] ? dev_ioctl+0x6f2/0x830\n [\u003cffffffff810a1bae\u003e] ? put_lock_stats+0xe/0x40\n [\u003cffffffff810a1c8c\u003e] ? lock_release_holdtime+0xac/0x150\n [\u003cffffffff8155cf3d\u003e] ? sock_ioctl+0xfd/0x290\n [\u003cffffffff8117dffd\u003e] ? do_vfs_ioctl+0x9d/0x590\n [\u003cffffffff8116c8ff\u003e] ? fget_light+0x1df/0x3c0\n [\u003cffffffff8117e53a\u003e] ? sys_ioctl+0x4a/0x80\n [\u003cffffffff81003192\u003e] ? system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "59eb21a6504731fc16db4cf9463065dd61093e08",
      "tree": "4a3732d451c85a5949c6d6294db51a56530677d8",
      "parents": [
        "60f2d1d506195803fa6e1dcf3972637b740fdd60"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Mon Jan 17 13:37:28 2011 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 21 15:34:17 2011 -0500"
      },
      "message": "cfg80211: Extend channel to frequency mapping for 802.11j\n\nExtend channel to frequency mapping for 802.11j Japan 4.9GHz band, according to\nIEEE802.11 section 17.3.8.3.2 and Annex J. Because there are now overlapping\nchannel numbers in the 2GHz and 5GHz band we can\u0027t map from channel to\nfrequency without knowing the band. This is no problem as in most contexts we\nknow the band. In places where we don\u0027t know the band (and WEXT compatibility)\nwe assume the 2GHz band for channels below 14.\n\nThis patch does not implement all channel to frequency mappings defined in\n802.11, it\u0027s just an extension for 802.11j 20MHz channels. 5MHz and 10MHz\nchannels as well as 802.11y channels have been omitted.\n\nThe following drivers have been updated to reflect the API changes:\niwl-3945, iwl-agn, iwmc3200wifi, libertas, mwl8k, rt2x00, wl1251, wl12xx.\nThe drivers have been compile-tested only.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: Brian Prodoehl \u003cbprodoehl@gmail.com\u003e\nAcked-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "dbd2fd656f2060abfd3a16257f8b51ec60f6d2ed",
      "tree": "71e61430bd8593f2ad8f1c741b5a8a8be4a9d690",
      "parents": [
        "897bed8b4320774e56f282cdc1cceb4d77442797"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Dec 09 19:58:59 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 13 15:23:28 2010 -0500"
      },
      "message": "cfg80211/nl80211: separate unicast/multicast default TX keys\n\nAllow userspace to specify that a given key\nis default only for unicast and/or multicast\ntransmissions. Only WEP keys are for both,\nWPA/RSN keys set here are GTKs for multicast\nonly. For more future flexibility, allow to\nspecify all combiations.\n\nWireless extensions can only set both so use\nnl80211; WEP keys (connect keys) must be set\nas default for both (but 802.1X WEP is still\npossible).\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5a5c731aa59cc2c44ca20f45b1a577cd4f5435e2",
      "tree": "c5f45cd0e014bbaf600fe172ebbd117ca2737bbb",
      "parents": [
        "b38afa87698375179026224522c2e48dcbf17e65"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Thu Oct 07 16:39:20 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 11 15:04:19 2010 -0400"
      },
      "message": "wireless: Set some stats used by /proc/net/wireless (wext)\n\nSome stats for /proc/net/wireless (and wext in general) are not\nbeing set.  This patch addresses a few of those with values easily\nobtained from mac80211 core.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e31b82136d1adc7a599b6e99d3321e5831841f5a",
      "tree": "c72d78d4cccfd08587e909c7efe59956f1cbc23e",
      "parents": [
        "53f73c09d64f1fa7d7e6e8b6bb7468d42eddc92d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Oct 05 19:39:30 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 06 16:30:40 2010 -0400"
      },
      "message": "cfg80211/mac80211: allow per-station GTKs\n\nThis adds API to allow adding per-station GTKs,\nupdates mac80211 to support it, and also allows\ndrivers to remove a key from hwaccel again when\nthis may be necessary due to multiple GTKs.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "42da2f948d949efd0111309f5827bf0298bcc9a4",
      "tree": "9bcf654ba27e198935a00e679c91181365ee37fa",
      "parents": [
        "9ef808048564928a83f3a52c65c5725688cf5cbe"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Aug 30 12:24:54 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 30 16:35:17 2010 -0400"
      },
      "message": "wireless extensions: fix kernel heap content leak\n\nWireless extensions have an unfortunate, undocumented\nrequirement which requires drivers to always fill\niwp-\u003elength when returning a successful status. When\na driver doesn\u0027t do this, it leads to a kernel heap\ncontent leak when userspace offers a larger buffer\nthan would have been necessary.\n\nArguably, this is a driver bug, as it should, if it\nreturns 0, fill iwp-\u003elength, even if it separately\nindicated that the buffer contents was not valid.\n\nHowever, we can also at least avoid the memory content\nleak if the driver doesn\u0027t do this by setting the iwp\nlength to max_tokens, which then reflects how big the\nbuffer is that the driver may fill, regardless of how\nbig the userspace buffer is.\n\nTo illustrate the point, this patch also fixes a\ncorresponding cfg80211 bug (since this requirement\nisn\u0027t documented nor was ever pointed out by anyone\nduring code review, I don\u0027t trust all drivers nor\nall cfg80211 handlers to implement it correctly).\n\nCc: stable@kernel.org [all the way back]\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c28991a02caec1f3bfe4638ccf4e494c3e9418a3",
      "tree": "9cf993d74d59723673963877fc80379684e5e7ad",
      "parents": [
        "3f6ff6bacdec217c98a60910c4804d11ce859820"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 20 12:22:40 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 20 16:49:37 2010 -0400"
      },
      "message": "wireless: correct sparse warning in wext-compat.c\n\n  CHECK   net/wireless/wext-compat.c\nnet/wireless/wext-compat.c:1434:5: warning: symbol \u0027cfg80211_wext_siwpmksa\u0027 was not declared. Should it be static?\n\nAdd declaration in cfg80211.h.  Also add an EXPORT_SYMBOL_GPL, since all\nthe peer functions have it.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fa61cf70a6ae1089e459e4b59b2e8d8e90d8535e",
      "tree": "1bd81709faaa15fb207de7db4df1ceed96374208",
      "parents": [
        "a185045c8da1ec6627236b4ade0d949b15da43b3"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Wed Jun 23 12:12:37 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 24 15:42:33 2010 -0400"
      },
      "message": "cfg80211/mac80211: Update set_tx_power to use mBm instead of dBm units\n\nIn preparation for a TX power setting interface in the nl80211, change the\n.set_tx_power function to use mBm units instead of dBm for greater accuracy and\nsmaller power levels.\n\nAlso, already in advance move the tx_power_setting enumeration to nl80211.\n\nThis change affects the .tx_set_power function prototype. As a result, the\ncorresponding changes are needed to modules using it. These are mac80211,\niwmc3200wifi and rndis_wlan.\n\nCc: Samuel Ortiz \u003csamuel.ortiz@intel.com\u003e\nCc: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nAcked-by: Samuel Ortiz \u003csamuel.ortiz@intel.com\u003e\nAcked-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cc755896a4274f11283bca32d1d658203844057a",
      "tree": "218970ece71df99f686b9416b7fd88b921690ebb",
      "parents": [
        "d250fe91ae129bff0968e685cc9c466d3a5e3482",
        "9459d59fbf0bc82ff4c804679fa8bc22788eca63"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 11 14:24:55 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 11 14:24:55 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/ath/ar9170/main.c\n"
    },
    {
      "commit": "f444de05d20e27cdd960c13fcbcfca3099f03143",
      "tree": "a7fbef60420d88dda5840e06094be21ee3eb1dc0",
      "parents": [
        "ac8dd506e40ee2c7fcc61654a44c32555a0a8d6c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed May 05 15:25:02 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri May 07 14:55:50 2010 -0400"
      },
      "message": "cfg80211/mac80211: better channel handling\n\nCurrently (all tested with hwsim) you can do stupid\nthings like setting up an AP on a certain channel,\nthen adding another virtual interface and making\nthat associate on another channel -- this will make\nthe beaconing to move channel but obviously without\nthe necessary IEs data update.\n\nIn order to improve this situation, first make the\nconfiguration APIs (cfg80211 and nl80211) aware of\nmulti-channel operation -- we\u0027ll eventually need\nthat in the future anyway. There\u0027s one userland API\nchange and one API addition. The API change is that\nnow SET_WIPHY must be called with virtual interface\nindex rather than only wiphy index in order to take\neffect for that interface -- luckily all current\nusers (hostapd) do that. For monitor interfaces, the\nold setting is preserved, but monitors are always\nslaved to other devices anyway so no guarantees.\n\nThe second userland API change is the introduction\nof a per virtual interface SET_CHANNEL command, that\nhostapd should use going forward to make it easier\nto understand what\u0027s going on (it can automatically\ndetect a kernel with this command).\n\nOther than mac80211, no existing cfg80211 drivers\nare affected by this change because they only allow\na single virtual interface.\n\nmac80211, however, now needs to be aware that the\nchannel settings are per interface now, and needs\nto disallow (for now) real multi-channel operation,\nwhich is another important part of this patch.\n\nOne of the immediate benefits is that you can now\nstart hostapd to operate on a hardware that already\nhas a connection on another virtual interface, as\nlong as you specify the same channel.\n\nNote that two things are left unhandled (this is an\nimprovement -- not a complete fix):\n\n * different HT/no-HT modes\n\n   currently you could start an HT AP and then\n   connect to a non-HT network on the same channel\n   which would configure the hardware for no HT;\n   that can be fixed fairly easily\n\n * CSA\n\n   An AP we\u0027re connected to on a virtual interface\n   might indicate switching channels, and in that\n   case we would follow it, regardless of how many\n   other interfaces are operating; this requires\n   more effort to fix but is pretty rare after all\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "ffb9eb3d8b450c22bbbc688c6b630141ac476fd9",
      "tree": "0e9677ea9df5b86fedf814236bf049a0f0435f6a",
      "parents": [
        "088ea189c4c75cdf211146faa4b341a0f7476be6"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Wed Feb 17 17:58:10 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 19 15:52:40 2010 -0500"
      },
      "message": "nl80211: add power save commands\n\nThe most needed command from nl80211, which Wireless Extensions had,\nis support for power save mode. Add a simple command to make it possible\nto enable and disable power save via nl80211.\n\nI was also planning about extending the interface, for example adding the\ntimeout value, but after thinking more about this I decided not to do it.\nBasically there were three reasons:\n\nFirstly, the parameters for power save are very much hardware dependent.\nTrying to find a unified interface which would work with all hardware, and\nstill make sense to users, will be very difficult.\n\nSecondly, IEEE 802.11 power save implementation in Linux is still in state\nof flux. We have a long way to still to go and there is no way to predict\nwhat kind of implementation we will have after few years. And because we\nneed to support nl80211 interface a long time, practically forever, adding\nnow parameters to nl80211 might create maintenance problems later on.\n\nThird issue are the users. Power save parameters are mostly used for\ndebugging, so debugfs is better, more flexible, interface for this.\nFor example, wpa_supplicant currently doesn\u0027t configure anything related\nto power save mode. It\u0027s better to strive that kernel can automatically\noptimise the power save parameters, like with help of pm qos network\nand other traffic parameters.\n\nLater on, when we have better understanding of power save, we can extend\nthis command with more features, if there\u0027s a need for that.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "54233261d5aa2926f080b67ac22f508c9f15e690",
      "tree": "6eb14f69d5c5d3257768cac56a2935f87886eb42",
      "parents": [
        "22e16e55e36ab91148592c9bf0f2444bf766cd3c"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 27 09:44:48 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 27 15:02:09 2010 -0500"
      },
      "message": "cfg80211: fix wext-compat for setting rate to \u0027auto\u0027\n\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": "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": "254416aae70ab2e6b57fd79782c8a67196234d02",
      "tree": "e28d54d1514634b591b54296b35bb9029e7b5a9c",
      "parents": [
        "a252e749f1ae17e43ccc5824f7b1b5854417c98b"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 09 16:43:52 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 21 11:27:31 2009 -0500"
      },
      "message": "wireless: report reasonable bitrate for MCS rates through wext\n\nPreviously, cfg80211 had reported \"0\" for MCS (i.e. 802.11n) bitrates\nthrough the wireless extensions interface.  However, nl80211 was\nconverting MCS rates into a reasonable bitrate number.  This patch moves\nthe nl80211 code to cfg80211 where it is now shared between both the\nnl80211 interface and the wireless extensions interface.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d55fb891f9da8ee17374349ff482b2715623b7e5",
      "tree": "2013400579647e4d20b737077647cb6d066a7d67",
      "parents": [
        "43de004b6c197b0ea408bdebf4f14afdead74b63"
      ],
      "author": {
        "name": "Vivek Natarajan",
        "email": "vnatarajan@atheros.com",
        "time": "Tue Nov 24 11:54:10 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 09 15:10:08 2009 -0500"
      },
      "message": "cfg80211: Clear encryption privacy when key off is done.\n\nWhen the current_bss is not set, \u0027iwconfig \u003ciface\u003e key off\u0027 does not\nclear the private flag. Hence after we connect with WEP to an AP and\nthen try to connect with another non-WEP AP, it does not work.\nThis issue will not be seen if supplicant is used.\n\nSigned-off-by: Vivek Natarajan \u003cvnatarajan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2944b2c2d2dd884c550163c698577132588277d8",
      "tree": "5acf5a49af2a438c4085d6a8a1056670f114c25b",
      "parents": [
        "67fbb16be69d138a3b6645ec5395b487cb915c58"
      ],
      "author": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Wed Nov 25 00:01:01 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Sat Nov 28 15:05:06 2009 -0500"
      },
      "message": "cfg80211: Add PMKSA wext compatibility handler\n\nWith the addition of the *_pmksa cfg80211 ops, we can now add the\ncorresponding wireless extensions compatibility handler.\n\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "98d3a7ca9232a436c067888936a0133e64ea126a",
      "tree": "0430f53609c0a7454deec1034af9d5b2660a5e4d",
      "parents": [
        "0bc6b1871c111d8f2eb2ac022a705de4cf21f572"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 18 13:03:43 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:25 2009 -0500"
      },
      "message": "cfg80211: re-join IBSS when privacy changes\n\nWhen going from/to a WEP protected IBSS, we need to\nleave this one and join a new one to take care of\nthe changed capability.\n\nCc: Hong Zhang \u003chenryzhang62@yahoo.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c5f8289cd9b2e31fca506cb82f4aaa5ffc468602",
      "tree": "627e250f09c429bfaf4705ca43a18d9d2f2a470d",
      "parents": [
        "93a59d7527147e3656664aa3179f8d19de256081"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Sun Nov 01 11:18:49 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 02 15:43:24 2009 -0500"
      },
      "message": "cfg80211: Fix WEXT compat siwauth wpa and group cipher\n\nNeither of these commands should clear the current configuration value\nif they return error. Furthermore, cfg80211_set_cipher_group() should\nbe able to handle IW_AUTH_CIPHER_NONE without reporting error.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a419aef8b858a2bdb98df60336063d28df4b272f",
      "tree": "1736f6650ec0bfc01074c489fc47396114099c5e",
      "parents": [
        "2944fcbe03d65a704f07e43efe14adb0d226fd09"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Aug 18 11:18:35 2009 -0700"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Sep 21 15:14:58 2009 +0200"
      },
      "message": "trivial: remove unnecessary semicolons\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "3d54d25515838543e56889aa7e48f40d00719368",
      "tree": "ac8e7ab50b5fa9e9be64885f86c99a0b6c71892c",
      "parents": [
        "f7969969f416e593bcc7dc24abf3f9fd6c27136d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Aug 21 14:51:05 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 28 14:40:31 2009 -0400"
      },
      "message": "cfg80211: clean up properly on interface type change\n\nWhen the interface type changes while connected, and the\ndriver does not require the interface to be down for a\ntype change, it is currently possible to get very strange\nresults unless the driver takes special care, which it\nshouldn\u0027t have to.\n\nTo fix this, take care to disconnect/leave IBSS when\nchanging the interface type -- even if the driver may fail\nthe call. Also process all events that may be pending to\navoid running into a situation where an event is reported\nbut only processed after the type has already changed,\nwhich would lead to missing events and warnings.\n\nA side effect of this is that you will have disconnected\nor left the IBSS even if the mode change ultimately fails,\nbut since the intention was to change it and thus leave or\ndisconnect, this is not a problem.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a8b875e7dc80ff442698d8cf4f45ccce400a6a66",
      "tree": "f318ad20e441b902612e7d300eb8996d864eda8a",
      "parents": [
        "7021f62a46d4866fecd7b31cbc359d742876bb61"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Thu Aug 13 20:39:31 2009 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 11:33:09 2009 -0400"
      },
      "message": "cfg80211: export cfg80211_wext_siwfreq\n\ncfg80211_wext_siwfreq() should be exported with EXPORT_SYMBOL_GPL.\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4b181144e6c1c25aaba9b9fc7cc70c95495ecb92",
      "tree": "93f85f1c99f097ec3c60f45b7b917c1b0dfbf7f9",
      "parents": [
        "e312c24cf8229f9b6e76dbfd5d99eefe21f4ac0a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Aug 08 11:03:58 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:13:51 2009 -0400"
      },
      "message": "cfg80211: fix locking for SIWFREQ\n\n\"cfg80211: validate channel settings across interfaces\"\ncontained a locking bug -- in the managed-mode SIWFREQ\ncall it would end up running into a lock recursion.\n\nThis fixes it by not checking that particular interface\nfor a channel that it needs to stay on, which is as it\nshould be as that\u0027s the interface we\u0027re setting the\nchannel for.\n\nReported-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nReported-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nTested-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nTested-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "59bbb6f7574bc693ed8313b98eac641116c95b94",
      "tree": "da24ed15c5e375782e79b3dab7022d2100a7987a",
      "parents": [
        "f26b32ed4bd5780855a79bb17fb1a431fa867dad"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Aug 07 17:22:35 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:13:42 2009 -0400"
      },
      "message": "cfg80211: validate channel settings across interfaces\n\nCurrently, there\u0027s a problem that affects regulatory\nenforcement and connection stability, in that it is\npossible to switch the channel while connected to a\nnetwork or joined to an IBSS.\n\nThe problem comes from the fact that we only validate\nthe channel against the current interface\u0027s type, not\nagainst any other interface. Thus, you have any type\nof interface up, additionally bring up a monitor mode\ninterface and switch the channel on the monitor. This\nwill obviously also switch the channel on the other\ninterface.\n\nThe problem now is that if you do that while sending\nbeacons for IBSS mode, you can switch to a disabled\nchannel or a channel that doesn\u0027t allow beaconing.\nCombined with a managed mode interface connected to\nan AP instead of an IBSS interface, you can easily\nbreak the connection that way.\n\nTo fix this, this patch validates any channel change\nwith all available interfaces, and disallows such\nchanges on secondary interfaces if another interface\nis connected to an AP or joined to an IBSS.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a9a11622c5c742c115fad371c0397ae86dd3bb67",
      "tree": "747d04a77d4411886befb5701322fa06da90a0fb",
      "parents": [
        "1f9298f96082692bdfe73af6fc2167f627f21647"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Jul 27 12:01:53 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 29 15:46:20 2009 -0400"
      },
      "message": "cfg80211: self-contained wext handling where possible\n\nFinally! This is what you\u0027ve all been waiting for!\n\nThis patch makes cfg80211 take care of wext emulation\n_completely_ by itself, drivers that don\u0027t need things\ncfg80211 doesn\u0027t do yet don\u0027t even need to be aware of\nwireless extensions.\nThis means we can also clean up mac80211\u0027s and iwm\u0027s\nKconfig and make it possible to build them w/o wext\nnow!\n\n\t\tRIP wext.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1f9298f96082692bdfe73af6fc2167f627f21647",
      "tree": "ac99b1e27f93e0f4296112af23f78ab7e3a36144",
      "parents": [
        "562e482265ac4d660d9f0114419591d62f44361d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Jul 27 12:01:52 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 29 15:46:18 2009 -0400"
      },
      "message": "cfg80211: combine IWESSID handlers\n\nSince we now have handlers IWESSID for all modes, we can\ncombine them into one.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "562e482265ac4d660d9f0114419591d62f44361d",
      "tree": "fd57e0b515aef085a4eb1fc0d351811c82210db8",
      "parents": [
        "0e82ffe3b90bcad72cfe80e4379946b8fb0691ca"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Jul 27 12:01:51 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 29 15:46:16 2009 -0400"
      },
      "message": "cfg80211: combine IWAP handlers\n\nSince we now have IWAP handlers for all modes, we can\ncombine them into one.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0e82ffe3b90bcad72cfe80e4379946b8fb0691ca",
      "tree": "c6b73524d4db86ddcaa866d7ea81a9600b610413",
      "parents": [
        "a7bc376c858e0e724b8cb2db09b6874562d377ca"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Jul 27 12:01:50 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 29 15:46:14 2009 -0400"
      },
      "message": "cfg80211: combine iwfreq implementations\n\nUntil now we implemented iwfreq for managed mode, we\nneeded to keep the implementations separate, but now\nthat we have all versions implemented we can combine\nthem and export just one handler.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1f00fca5c83c1bc5b4ca7e07f2a030bc39c130f2",
      "tree": "4614b44a228c5a32a1ae4f455e94d5101e0ef9fc",
      "parents": [
        "e6a3f551bc236010c4d4d99e626e150e98a4c3e6"
      ],
      "author": {
        "name": "Zhu Yi",
        "email": "yi.zhu@intel.com",
        "time": "Mon Jul 20 11:47:43 2009 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:27 2009 -0400"
      },
      "message": "cfg80211: set_default_key only for WEP\n\nWe invoke the cfg80211 set_default_key callback only for WEP key\nconfiguring.\n\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "323d566eae1ace41bc674863b58fcc474501a2db",
      "tree": "ecdaa6b134ed95896033b818120e5dcf628bd3ca",
      "parents": [
        "4b9631a4734e25e37c83e72c3e0ffcbb08de5791"
      ],
      "author": {
        "name": "Gábor Stefanik",
        "email": "netrolller.3d@gmail.com",
        "time": "Sun Jul 12 02:03:48 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:12 2009 -0400"
      },
      "message": "cfg80211: fix disabling WPA via wext (SIOCSIWAUTH)\n\ncfg80211_set_wpa_version completely missed the use case when disabling\nWPA, considering IW_AUTH_WPA_VERSION_DISABLED an invalid argument. This\ncaused weird error messages in wpa_supplicant.\n\nSigned-off-by: Gábor Stefanik \u003cnetrolller.3d@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c56c5714f12808e3f702817e72a78dd12f1704eb",
      "tree": "0dc886563fa77128535d4c8db90779ae01f2a15a",
      "parents": [
        "ca3dbc20d47ae43c201c215259d078e227bfcf01"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jul 10 16:54:07 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:11 2009 -0400"
      },
      "message": "cfg80211: fix wext stats\n\nInstead of using the wext BSSID which may be NULL if\nyou haven\u0027t explicitly set one, we should instead use\nthe current_bss pointer -- if that\u0027s NULL we aren\u0027t\nconnected anyway. Fixes missing signal quality output\nreported to me internally at Intel.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fffd0934b9390f34bec45762192b7edd3b12b4b5",
      "tree": "d9779803763261f5795fe39a402d79c4220a3a22",
      "parents": [
        "b9454e83cac42fcdc90bfbfba479132bd6629455"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 08 14:22:54 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:09 2009 -0400"
      },
      "message": "cfg80211: rework key operation\n\nThis reworks the key operation in cfg80211, and now only\nallows, from userspace, configuring keys (via nl80211)\nafter the connection has been established (in managed\nmode), the IBSS been joined (in IBSS mode), at any time\n(in AP[_VLAN] modes) or never for all the other modes.\n\nIn order to do shared key authentication correctly, it\nis now possible to give a WEP key to the AUTH command.\nTo configure static WEP keys, these are given to the\nCONNECT or IBSS_JOIN command directly, for a userspace\nSME it is assumed it will configure it properly after\nthe connection has been established.\n\nSince mac80211 used to check the default key in IBSS\nmode to see whether or not the network is protected,\nit needs an update in that area, as well as an update\nto make use of the WEP key passed to auth() for shared\nkey authentication.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a71d62dbf3f0523b7a456333196cb26cf783fe92",
      "tree": "5464eb108c6e9a2849cb81c81473713ce8c84d12",
      "parents": [
        "e0f114e82e3781087a0ad0e92c94ff0d55012c1a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 07 23:41:27 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:06 2009 -0400"
      },
      "message": "cfg80211: fix race in giwrate\n\ncfg80211_wext_giwrate doesn\u0027t lock the wdev, so it\ncannot access current_bss race-free. Also, there\u0027s\nlittle point in trying to ask the driver for an AP\nthat it never told us about, so avoid that case.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4f5dadcebb55fccef34722bbbf6401d39124c8a4",
      "tree": "c29d44d5e5605db36c28cb3052a238bbe45bf77e",
      "parents": [
        "4d0c8aead32ecdbe1310ad473b3637991f560865"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 07 03:56:10 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:02:32 2009 -0400"
      },
      "message": "cfg80211: fix MFP bug, sparse warnings\n\nsparse warns about a number of things, and one of them\n(use_mfp shadowed variable) actually is a bug, fix all\nof them.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6c230c02700f9d2aebe6edf9f571835c06707940",
      "tree": "5cfdd046376e74d32d4c32be1c1ef12ba57dce86",
      "parents": [
        "e47a5cddf893815e7da16e3226b959af785d8aaf"
      ],
      "author": {
        "name": "Samuel Ortiz",
        "email": "samuel.ortiz@intel.com",
        "time": "Fri Jul 03 02:00:48 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:02:27 2009 -0400"
      },
      "message": "cfg80211: check for current_bss from giwrate\n\nWhen connecting to an ESSID manually, we may not set the BSSID, and thus\nwdev-\u003ewext.connect.bssid will be NULL.\nwdev-\u003ecurrent_bss is always updated when a connection is established so we\nshould check it first.\n\nSigned-off-by: Samuel Ortiz \u003csamuel.ortiz@intel.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9834c079d130217c8c5ac8791428ebeb8c660538",
      "tree": "1d880d04a1b85fe77236438ca94577a008dca82e",
      "parents": [
        "3dc27d25f288c923735e8f10fa8e578be896e96a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Jul 06 19:40:51 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:54 2009 -0400"
      },
      "message": "cfg80211: fix giwrange\n\n\"cfg80211: Advertise ciphers via WE according to driver capability\"\nunfortunately broke iwrange -- it used the variable c\nthat needs to be 0 for the channel list.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8990646d2fafeacfacba4a4b1073a4216662089a",
      "tree": "357fcf85f7e982b9f06aaac9e7c3468c6af0333f",
      "parents": [
        "9930380f0bd8405fa6a51d644f3de88c30666519"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 01 21:27:00 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:52 2009 -0400"
      },
      "message": "cfg80211: implement get_wireless_stats\n\nBy dropping the noise reporting, we can implement\nwireless stats in cfg80211. We also make the\nhandler return NULL if we have no information,\nwhich is possible thanks to the recent wext change.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9930380f0bd8405fa6a51d644f3de88c30666519",
      "tree": "71cd68830b11b648d6b79f1575dc9960631a2ab2",
      "parents": [
        "ab737a4f7dbe57b12b73f482a7b973bf00b41942"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 01 21:26:59 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:52 2009 -0400"
      },
      "message": "cfg80211: implement IWRATE\n\nFor now, let\u0027s implement that using a very hackish way:\nsimply mirror the wext API in the cfg80211 API. This\nwill have to be changed later when we implement proper\nbitrate API.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ab737a4f7dbe57b12b73f482a7b973bf00b41942",
      "tree": "33f3c44073921b9fa4c96ea5501dbfcad59567ac",
      "parents": [
        "bc92afd92088ab41223383cc6863ab4792533c54"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 01 21:26:58 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:52 2009 -0400"
      },
      "message": "cfg80211: implement IWAP for WDS\n\nThis implements siocsiwap/giwap for WDS mode.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bc92afd92088ab41223383cc6863ab4792533c54",
      "tree": "a31d14843f5a63a4a4561bb2ac59e83f4550433c",
      "parents": [
        "f21293549f60f88c74fcb9944737f11048896dc4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 01 21:26:57 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:51 2009 -0400"
      },
      "message": "cfg80211: implement iwpower\n\nJust on/off and timeout, and with a hacky cfg80211 method\nuntil we figure out what we want, though this is probably\nsufficient as we want to use pm_qos for wifi everywhere.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f21293549f60f88c74fcb9944737f11048896dc4",
      "tree": "d4a00663f87816c0c742e74d7b2c9bad31a18816",
      "parents": [
        "6829c878ecd24ff0ae41b4668c7e9d0f11b66942"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 01 21:26:56 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:51 2009 -0400"
      },
      "message": "cfg80211: managed mode wext compatibility\n\nThis adds code to make it possible to use the cfg80211\nconnect() API with wireless extensions, and because the\nprevious patch added emulation of that API with auth()\nand assoc(), by extension also supports wext on that.\nAt the same time, removes code from mac80211 for wext,\nbut doesn\u0027t yet clean up mac80211\u0027s mlme code more.\n\nSigned-off-by: Samuel Ortiz \u003csamuel.ortiz@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "27bea66c22582853ad2e1de93d26c3016493818b",
      "tree": "c5c95e1b5363c7fdb89d84ced6824342b9e3be3b",
      "parents": [
        "2ab658f9ce218ae93b3d2db2b3fe68bfefb81196"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@googlemail.com",
        "time": "Thu Jun 18 23:21:17 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:42 2009 -0400"
      },
      "message": "cfg80211: infer WPA and WPA2 support from TKIP and CCMP\n\nSigned-off-by: David Kilroy \u003ckilroyd@googlemail.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2ab658f9ce218ae93b3d2db2b3fe68bfefb81196",
      "tree": "a213342c59a3e7c5bbc7218d17e56264763fd221",
      "parents": [
        "51cd4aabd082144881644c308647ca501690b68c"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@googlemail.com",
        "time": "Thu Jun 18 23:21:16 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:42 2009 -0400"
      },
      "message": "cfg80211: set WE encoding size based on available ciphers\n\nOnly set the sizes for WEP40 and WEP104.\n\nSigned-off-by: David Kilroy \u003ckilroyd@googlemail.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "51cd4aabd082144881644c308647ca501690b68c",
      "tree": "b9db3a760de882bacf46001fe19eeba2c098403c",
      "parents": [
        "3daf097594d398b2ddd2dca6caeaa92cb9148e23"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@googlemail.com",
        "time": "Thu Jun 18 23:21:15 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:42 2009 -0400"
      },
      "message": "cfg80211: allow drivers that can\u0027t scan for specific ssids\n\nSigned-off-by: David Kilroy \u003ckilroyd@googlemail.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3daf097594d398b2ddd2dca6caeaa92cb9148e23",
      "tree": "c7bc5ca18acbc26dde4bfd2df1859f3c35390365",
      "parents": [
        "f1f74825fe01ac77204ca34e3240dec50a8207c2"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@googlemail.com",
        "time": "Thu Jun 18 23:21:14 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:42 2009 -0400"
      },
      "message": "cfg80211: Advertise ciphers via WE according to driver capability\n\nSigned-off-by: David Kilroy \u003ckilroyd@googlemail.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e36d56b64808aec54b68b4e9976180c1da0933b2",
      "tree": "93f0e696d077b58d1064f3321d52b4611addf104",
      "parents": [
        "e5a8a896f5180f2950695d2d0b79db348d200ca4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jun 09 21:04:43 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 14:57:38 2009 -0400"
      },
      "message": "cfg80211: pass netdev to change_virtual_intf\n\nIf there was a reason I\u0027m passing the ifidx I cannot\nremember it any more and don\u0027t see one now, so let\u0027s\njust pass the pointer itself.\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": "7643a2c3fcc13cd6fbd731f214463547383418ae",
      "tree": "e2e41315f0d38a8627456303820b5c1c2a9b54a6",
      "parents": [
        "c64fb01627e24725d1f9d535e4426475a4415753"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jun 02 13:01:39 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 03 14:06:14 2009 -0400"
      },
      "message": "cfg80211: move txpower wext from mac80211\n\nThis patch introduces new cfg80211 API to set the TX power\nvia cfg80211, puts the wext code into cfg80211 and updates\nmac80211 to use all that. The -ENETDOWN bits are a hack but\nwill go away soon.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e3da574a0ddd3e90a1e2b788b84b94bc17a75172",
      "tree": "dc17ed9268594c1236e1f0b5efae2140b226b5cf",
      "parents": [
        "73606d00360cb93963aeb7bfbf8bfdbc51cfab9f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon May 18 19:56:36 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 20 14:46:30 2009 -0400"
      },
      "message": "cfg80211: allow wext to remove keys that don\u0027t exist\n\nSome applications using wireless extensions expect to be able to\nremove a key that doesn\u0027t exist. One example is wpa_supplicant\nwhich doesn\u0027t actually change behaviour when running into an\nerror while trying to do that, but it prints an error message\nwhich users interpret as wpa_supplicant having problems.\n\nThe safe thing to do is not change the behaviour of wireless\nextensions any more, so when the driver reports -ENOENT let\nthe wext bridge code return success to userspace. To guarantee\nthis, also document that drivers should return -ENOENT when the\nkey doesn\u0027t exist.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "faa8fdc85347cc76d87b43ea718785661c54f656",
      "tree": "d6a2bad74310885e8f0836791c93070d243b6b2c",
      "parents": [
        "3f77316c6b99f596bfbf72c0542f47f7230b702e"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Mon May 11 21:57:58 2009 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 13 15:44:39 2009 -0400"
      },
      "message": "nl80211: Add RSC configuration for new keys\n\nWhen setting a key with NL80211_CMD_NEW_KEY, we should allow the key\nsequence number (RSC) to be set in order to allow replay protection to\nwork correctly for group keys. This patch documents this use for\nnl80211 and adds the couple of missing pieces in nl80211/cfg80211 and\nmac80211 to support this. In addition, WEXT SIOCSIWENCODEEXT compat\nprocessing in cfg80211 is extended to handle the RSC (this was already\nspecified in WEXT, but just not implemented in cfg80211/mac80211).\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "08645126dd24872c2e27014f93968f7312e29176",
      "tree": "2011cb3cb2f70d35278ef3b39ea696a058fb7b29",
      "parents": [
        "7be69c0b9aa93ef655db4d46e5654996489d62f5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon May 11 13:54:58 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 13 15:44:32 2009 -0400"
      },
      "message": "cfg80211: implement wext key handling\n\nMove key handling wireless extension ioctls from mac80211 to cfg80211\nso that all drivers that implement the cfg80211 operations get wext\ncompatibility.\n\nNote that this drops the SIOCGIWENCODE ioctl support for getting\nIW_ENCODE_RESTRICTED/IW_ENCODE_OPEN. This means that iwconfig will\nno longer report \"Security mode:open\" or \"Security mode:restricted\"\nfor mac80211. However, what we displayed there (the authentication\nalgo used) was actually wrong -- linux/wireless.h states that this\nsetting is meant to differentiate between \"Refuse non-encoded packets\"\nand \"Accept non-encoded packets\".\n\n(Combined with \"cfg80211: fix a couple of bugs with key ioctls\". -- JWL)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0b258582fef3a9b15b2372d99164859361faa8db",
      "tree": "4467eb0ffbb199f7fd3aeb1418dfc31e7b344c25",
      "parents": [
        "aa837e1d6bd1a71b3c30c7738b6c29d41512fe7d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri May 08 09:42:33 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 11 15:23:54 2009 -0400"
      },
      "message": "cfg80211: fix wext iw_freq parsing\n\nThe function to parse a struct iw_freq has a stupid bug,\nit returns NULL when the channel cannot be found at all,\nbut NULL is supposed to mean \"auto\". Fix this by checking\nthe return value of ieee80211_get_channel() and returning\nERR_PTR(-EINVAL) if it returned NULL (channel not found).\n\nThis fixes an issue where you could say (in IBSS mode)\n\tiwconfig wlan0 channel 21\nand it would use channel 1 instead because that\u0027s the\nfirst available channel with IBSS allowed (which is what\nthe \"auto\" setting uses).\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ba44cb7226afd4e19308c1d8a90e8b7c566c0d8b",
      "tree": "83c398ff2e4ad5c41996771cf7130a5c0e255511",
      "parents": [
        "9d308429a9fd0fa644f0b748f6241631f74a6cda"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 20 18:49:39 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:18 2009 -0400"
      },
      "message": "cfg80211: mark all WEXT handlers _GPL\n\nThe fact that these are exported is a technical detail\nof the conversion period -- we don\u0027t want anybody to\nstart relying on these. Ultimately we want things to\nuse cfg80211 only, and once everything that is in wext\nis converted to cfg80211 drivers will not need to touch\nwext _at all_.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b9a5f8cab751d362f7c2d94899ca788c22fcd1ef",
      "tree": "e769e2f59ef845cf7c7cc93b64d33eeed49bb9f7",
      "parents": [
        "9e52b0623c6eb49c3f23a326c1fb97bdecc49ba1"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Mon Apr 20 18:39:05 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:17 2009 -0400"
      },
      "message": "nl80211: Add set/get for frag/rts threshold and retry limits\n\nAdd new nl80211 attributes that can be used with NL80211_CMD_SET_WIPHY\nand NL80211_CMD_GET_WIPHY to manage fragmentation/RTS threshold and\nretry limits.\n\nSince these values are stored in struct wiphy, remove the local copy\nfrom mac80211 where feasible (frag \u0026 rts threshold). The retry limits\nare currently needed in struct ieee80211_conf, but these could be\neventually removed since the driver should have access to the values\nin struct wiphy.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "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": "04a773ade0680d862b479d7219973df60f7a3834",
      "tree": "fc759eb79099fefd7f1329bcb2b703008cb0adfe",
      "parents": [
        "691597cb26f236ac7471f1adf925a134c86799d6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Apr 19 21:24:32 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:17 2009 -0400"
      },
      "message": "cfg80211/nl80211: add IBSS API\n\nThis adds IBSS API along with (preliminary) wext handlers.\nThe wext handlers can only do IBSS so you need to call them\nfrom your own wext handlers if the mode is IBSS.\n\nThe nl80211 API requires\n * an SSID\n * a channel (frequency) for the case that a new IBSS\n   has to be created\n\nIt optionally supports\n * a flag to fix the channel\n * a fixed BSSID\n\nThe cfg80211 code also takes care to leave the IBSS before\nthe netdev is set down. If wireless extensions are used, it\nalso caches values when the interface is down and instructs\nthe driver to join when the interface is set up.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "691597cb26f236ac7471f1adf925a134c86799d6",
      "tree": "e89d91e496af082711b7c0789aaf0a985e7ba964",
      "parents": [
        "d726405af6c8c81d2ee5e6a29301c68b9d4c574f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Apr 19 19:57:45 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:17 2009 -0400"
      },
      "message": "cfg80211/mac80211: move wext SIWMLME into cfg80211\n\nSince we have -\u003edeauth and -\u003edisassoc we can support the\nwext SIWMLME call directly without driver wext handlers.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ac7f9cfa2c3b810e0adfb889ad407a8c79a84dbe",
      "tree": "599a601a2adc5e3806a4bb665491dd08fe2eb3ff",
      "parents": [
        "86f04680df4a136a4a90501572dc2f31f8426581"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Mar 21 17:07:59 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:08 2009 -0400"
      },
      "message": "cfg80211: accept no-op interface mode changes\n\nWhen somebody tries to set the interface mode to the existing\nmode, don\u0027t ask the driver but silently accept the setting.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4aa188e1a868d25c5b93e48e5d29bbd0f9d3bc3a",
      "tree": "3dc88e85c134c0cb44b4b24df886c4a5fe84848c",
      "parents": [
        "77965c970d7da9c9b6349ff2b1d9adecf54c403b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Feb 18 19:32:08 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 27 14:52:42 2009 -0500"
      },
      "message": "mac80211/cfg80211: move iwrange handler to cfg80211\n\nThe previous patch made cfg80211 generally aware of the signal\ntype a given hardware will give, so now it can implement\nSIOCGIWRANGE itself, removing more wext stuff from mac80211.\nMight need to be a little more parametrized once we have\nmore hardware using cfg80211 and new hardware capabilities.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e60c7744f8aa77bcbcb0b294596d6c87445d1200",
      "tree": "7039c0906d825b035595a826cd117fd08242d0ad",
      "parents": [
        "fee52678dbda2099a25243e79da98dc390e1939a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 26 23:31:40 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 05 09:32:58 2008 -0500"
      },
      "message": "cfg80211: handle SIOCGIWMODE/SIOCSIWMODE\n\nfurther reducing wext code in mac80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fee52678dbda2099a25243e79da98dc390e1939a",
      "tree": "4bf459c869e89cf2bb0be2869be3e6a720f9a218",
      "parents": [
        "f650470a8f506bc33a15778432ebb8cdcf89175b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 26 22:36:31 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 05 09:32:13 2008 -0500"
      },
      "message": "cfg80211: handle SIOCGIWNAME\n\nThis patch moves the SIOCGIWNAME handling from mac80211 to cfg80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ]
}
