)]}'
{
  "log": [
    {
      "commit": "ac422d3cc25351819ec80b7e2852fd2c600c317c",
      "tree": "a6ca456ad41256bf2cee71a189c1c05027f16532",
      "parents": [
        "8561cf99785faf73cccb9f417170d8b5844bf496"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 08 18:56:55 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 20:49:19 2012 -0400"
      },
      "message": "wireless: Convert compare_ether_addr to ether_addr_equal\n\nUse the new bool function ether_addr_equal to add\nsome clarity and reduce the likelihood for misuse\nof compare_ether_addr for sorting.\n\nI removed a conversion from scan.c/cmp_bss_core\nthat appears to be a sorting function.\n\nDone via cocci script:\n\n$ cat compare_ether_addr.cocci\n@@\nexpression a,b;\n@@\n-\t!compare_ether_addr(a, b)\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tcompare_ether_addr(a, b)\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) \u003d\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) !\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) \u003d\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) !\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!!ether_addr_equal(a, b)\n+\tether_addr_equal(a, b)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4486ea987efdaa546bdda569e3dfacdc14a9fb13",
      "tree": "2d9a0bb6580772d483f7480469e6ce06f8f87bb3",
      "parents": [
        "bff2ec2b916cc85628f3025e08660c0350f03650"
      ],
      "author": {
        "name": "Bala Shanmugam",
        "email": "bkamatch@qca.qualcomm.com",
        "time": "Wed Mar 07 17:27:12 2012 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 12 14:19:34 2012 -0400"
      },
      "message": "cfg80211: Add background scan period attribute.\n\nReceive background scan period as part of connect\ncommand and pass the same to the driver.\n\nSigned-off-by: Bala Shanmugam \u003cbkamatch@qca.qualcomm.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bc3b2d7fb9b014d75ebb79ba371a763dbab5e8cf",
      "tree": "b0fd4e724bdb1c0a1783616614ae5a9dec1cfa5c",
      "parents": [
        "d9b9384215e17c68d7b6bd05d6fa409e5d4140d7"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Jul 15 11:47:34 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:30 2011 -0400"
      },
      "message": "net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules\n\nThese files are non modular, but need to export symbols using\nthe macros now living in export.h -- call out the include so\nthat things won\u0027t break when we remove the implicit presence\nof module.h from everywhere.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "04b0c5c6995103eef56391c163e970ab1f03b59f",
      "tree": "252c64fa6c6bcfc7b42fe014b0f4bf2bd80ad0e8",
      "parents": [
        "67a50035b3f9335b9e5800c32149173e797b9cc0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jul 15 13:01:38 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 08 14:26:29 2011 -0400"
      },
      "message": "cfg80211: remove unused wext handler exports\n\nA lot of code is dedicated to giving drivers the\nability to use cfg80211\u0027s wext handlers without\ncompletely converting. However, only orinoco is\ncurrently using this, and it is only partially\nusing it.\n\nWe reduce the size of both the source and binary\nby removing those that nobody needs. If a driver\nshows up that needs it during conversion, we can\nadd back those that are needed.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "262eb9b2237ecee047451a636e799ea1572b685a",
      "tree": "162ce4b4f27edf7cdf45bb3e3574d840db2815e1",
      "parents": [
        "a5d5a914770a81a1f775be2ee35b9fa8fd19d381"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jul 13 10:39:09 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 08 14:24:59 2011 -0400"
      },
      "message": "cfg80211: split wext compatibility to separate header\n\nA lot of drivers erroneously use wext constants\nand don\u0027t notice since cfg80211.h includes them.\nMake this more split up so drivers needing wext\ncompatibility from cfg80211 need to explicitly\ninclude that from cfg80211-wext.h.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c0692b8fe29fb4d4dad33487aabf3ed7e1e880c0",
      "tree": "39c0c74c2270a285e1a0cfc7958ced7368cf28a6",
      "parents": [
        "3ffc2a905b1faae4c0fe39d66f0752c3a4cbb3c7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 14:26:53 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:27:07 2010 -0400"
      },
      "message": "cfg80211: allow changing port control protocol\n\nSome vendor specified mechanisms for 802.1X-style\nfunctionality use a different protocol than EAP\n(even if EAP is vendor-extensible). Allow setting\nthe ethertype for the protocol when a driver has\nsupport for this. The default if unspecified is\nEAP, of course.\n\nNote: This is suitable only for station mode, not\n      for AP implementation.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "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": "4be3bd8ccc195297870b9ffca4ef18bcbc2f1822",
      "tree": "d8a1bed71b9b1dfb4f017494378c80a02eda6ea9",
      "parents": [
        "33de4f9d787e01646f715ac10c2699fb98fd479e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 24 09:00:57 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 28 16:55:04 2009 -0400"
      },
      "message": "cfg80211: don\u0027t set privacy w/o key\n\nWhen wpa_supplicant is used to connect to open networks,\nit causes the wdev-\u003ewext.keys to point to key memory, but\nthat key memory is all empty. Only use privacy when there\nis a default key to be used.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nTested-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nTested-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "33de4f9d787e01646f715ac10c2699fb98fd479e",
      "tree": "8d9e9e42ac8143b7d7d26c46fd12aff091c10d74",
      "parents": [
        "d1f8297a96b0d70f17704296a6666468f2087ce6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 17 08:35:54 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 28 16:55:04 2009 -0400"
      },
      "message": "cfg80211: wext: don\u0027t display BSSID unless associated\n\nCurrently, cfg80211\u0027s SIOCGIWAP implementation returns\nthe BSSID that the user set, even if the connection has\nsince been dropped due to other changes. It only should\nreturn the current BSSID when actually connected.\n\nAlso do a small code cleanup.\n\nReported-by: Thomas H. Guenther \u003cthomas.h.guenther@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nTested-by: Thomas H. Guenther \u003cthomas.h.guenther@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "94f85853324e02c3a32bc3101f090dc9a3f512b4",
      "tree": "b01c799520a5cb39e1403824de70f7935a5cce28",
      "parents": [
        "018ae37292dd391494172495142b87e816a841c0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 17 17:15:31 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:53 2009 -0400"
      },
      "message": "cfg80211: don\u0027t overwrite privacy setting\n\nWhen cfg80211 is instructed to connect, it always\nuses the default WEP key for the privacy setting,\nwhich clearly is wrong when using wpa_supplicant.\nDon\u0027t overwrite the setting, and rely on it being\nfalse when wpa_supplicant is not running, instead\nset it to true when we have keys.\n\nSigned-off-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": "f401a6f7ede753e56b84025e7d2db0d5ef560ce6",
      "tree": "12b077096234ba0f990c637665d11e0afa608b17",
      "parents": [
        "59bbb6f7574bc693ed8313b98eac641116c95b94"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Aug 07 14:51:05 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:13:43 2009 -0400"
      },
      "message": "cfg80211: use reassociation when possible\n\nWith the move of everything related to the SME from\nmac80211 to cfg80211, we lost the ability to send\nreassociation frames. This adds them back, but only\nfor wireless extensions. With the userspace SME, it\nshall control assoc vs. reassoc (it already can do\nso with the nl80211 interface).\n\nI haven\u0027t touched the connect() implementation, so\nit is not possible to reassociate with the nl80211\nconnect primitive. I think that should be done with\nthe NL80211_CMD_ROAM command, but we\u0027ll have to see\nhow that can be handled in the future, especially\nwith fullmac chips.\n\nThis patch addresses only the immediate regression\nwe had in mac80211, which previously sent reassoc.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\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": "a42dd7efd934888833c01199dbd21b242100ee92",
      "tree": "e16e5a19a0b0ad38261794a16f21b13c7ea1ad7a",
      "parents": [
        "bedaf80866f5d438b47d05e02fb1852065fe5d8e"
      ],
      "author": {
        "name": "Zhu Yi",
        "email": "yi.zhu@intel.com",
        "time": "Wed Aug 05 15:07:13 2009 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:12:41 2009 -0400"
      },
      "message": "wireless: display wext SSID when connected by cfg80211\n\ncfg80211 displays correct link info when connected by wext. But if\nthe connection is setup by cfg80211, wext cannot display the SSID.\nThis patch fixed this issue.\n\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\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": "25e83c490be421019997146bdec8645f5bcabcd1",
      "tree": "61215246924f8aebcc0fd0a6fd7fc651dcc487bb",
      "parents": [
        "d4b1a6876f99ae1886cd254f649506af6692ac9f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jul 16 11:39:04 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:21 2009 -0400"
      },
      "message": "cfg80211: don\u0027t optimise wext calls too much\n\nIn the wext code I tried to not reconnect all the time\nwhen the user wasn\u0027t really sure what they were doing,\nlike setting the BSSID back to the same value it was.\nHowever, this optimisation should only be done while\nassociated so that setting the BSSID back to the same\nvalue that it was actually triggers a new association\nif not currently associated. To achieve, that, put the\nrelevant code into the !IDLE case instead.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nTested-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nTested-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4697fe4f78df14d37cffa7e8d27cbb02a351c139",
      "tree": "4b43087351f81727011bd04a31f946f5b46b4029",
      "parents": [
        "908d4369a394e816767d566d9c3d15a5af8c1c55"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jul 10 18:35:49 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:11 2009 -0400"
      },
      "message": "cfg80211: fix wext setting SSID\n\nPavel reported that you can\u0027t set the SSID from \"foo\" to\n\"bar\". I tried reproducing, but used different values,\nwith different lengths, and thus never saw the obvious\nproblem.\n\nReported-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "908d4369a394e816767d566d9c3d15a5af8c1c55",
      "tree": "a1aa369a55a6f998109448cdb6dbbcf77ff9b5f0",
      "parents": [
        "4b14c96dfbf068acb85c3fa2446b3949c0230deb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jul 10 17:53:34 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:11 2009 -0400"
      },
      "message": "cfg80211: don\u0027t look at wdev-\u003essid for giwessid\n\nThis variable is only used internally, _while_ connected.\nIf we use it, the sequence\n\n# iwconfig wlan1 essid foo\n\u003cconnects\u003e\n# iwconfig wlan1 essid \"\"\n\u003cdisconnects\u003e\n# iwconfig\n\nwill still display \"foo\" as the SSID afterwards, which\nis obviously quite bogus. Fix this by only displaying\nthe wext SSID, if present.\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": "667503ddcb96f3b10211f997fe55907fa7509841",
      "tree": "5e2559e94a716bb81bfc7566e3e3a05267810c31",
      "parents": [
        "4f5dadcebb55fccef34722bbbf6401d39124c8a4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 07 03:56:11 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:02:32 2009 -0400"
      },
      "message": "cfg80211: fix locking\n\nOver time, a lot of locking issues have crept into\nthe smarts of cfg80211, so e.g. scan completion can\nrace against a new scan, IBSS join can race against\nleaving an IBSS, etc.\n\nIntroduce a new per-interface lock that protects\nmost of the per-interface data that we need to keep\ntrack of, and sprinkle assertions about that lock\neverywhere. Some things now need to be offloaded to\nwork structs so that we don\u0027t require being able to\nsleep in functions the drivers call. The exception\nto that are the MLME callbacks (rx_auth etc.) that\ncurrently only mac80211 calls because it was easier\nto do that there instead of in cfg80211, and future\ndrivers implementing those calls will, if they ever\nexist, probably need to use a similar scheme like\nmac80211 anyway...\n\nIn order to be able to handle _deauth and _disassoc\nproperly, introduce a cookie passed to it that will\ndetermine locking requirements.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "19957bb399e2722719c0e20c9ae91cf8b6aaff04",
      "tree": "9c4d53fe5938ceee41333a1afd5be0ed5c1ce313",
      "parents": [
        "517357c685ccc4b5783cc7dbdae8824ada19a97f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jul 02 17:20:43 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:53 2009 -0400"
      },
      "message": "cfg80211: keep track of BSSes\n\nIn order to avoid problems with BSS structs going away\nwhile they\u0027re in use, I\u0027ve long wanted to make cfg80211\nkeep track of them. Without the SME, that wasn\u0027t doable\nbut now that we have the SME we can do this too. It can\nkeep track of up to four separate authentications and\none association, regardless of whether it\u0027s controlled\nby the cfg80211 SME or the userspace SME.\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"
    }
  ]
}
