)]}'
{
  "log": [
    {
      "commit": "c0c84ef5c130f8871adbdaac2ba824b9195cb6d9",
      "tree": "d7221b5323d5a4d3d84676d32bdca21d21d85a18",
      "parents": [
        "2360d2e8f01043632d6b651672bec66c49892f94",
        "3ad97fbcc233a295f2ccc2c6bdeb32323e360a5e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 13:52:31 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 13:52:31 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "bf6a0579f60ae5225280c82cc52b51db1255e7fb",
      "tree": "7e0d508ed3ae1751ee465ebb80e0aec82a0d5a07",
      "parents": [
        "73b30dfe4f756315b8cc431fca3ff340090c0ae4"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Mon Jan 31 15:52:58 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Feb 03 16:44:42 2011 -0500"
      },
      "message": "cfg80211: Fix power save state after interface type change\n\nCurrently cfg80211 only configures the PSM state to the driver upon creation\nof a new virtual interface, but not after interface type change. The mac80211\non the other hand reinitializes its sdata structure every time the interface\ntype is changed, losing the PSM configuration.\n\nHence, if the interface type is changed to, say, ad-hoc and then back to\nmanaged, \"iw wlan0 get power_save\" will claim that PSM is enabled, when in\nfact on mac80211 level it is not.\n\nFix this in cfg80211 by configuring the PSM state to the driver each time\nthe interface is brought up instead of just when the interface is created.\n\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fd95240568977ebd1ebb15b071464e0e392cde1a",
      "tree": "6458cf8f33a8b8ab6a8098208de29c83206ca3aa",
      "parents": [
        "cdfb74d4c2e3bcc9383121af2591d0ae15007ba7",
        "fa9a741b841d0c2db04875310a06e8718c56fd4f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 13:06:43 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 13:06:43 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "efe1cf0c5743caf4daccb57b399ef63edad41c9d",
      "tree": "d482979aa5a16a49d8095dcf00b6023c9051b86f",
      "parents": [
        "76a9f6fd9adc5ce62b4ea36a099bb1458d4cb7a6"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Fri Jan 28 15:17:11 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 28 15:46:23 2011 -0500"
      },
      "message": "net/wireless/nl80211.c: Avoid call to genlmsg_cancel\n\ngenlmsg_cancel subtracts some constants from its second argument before\ncalling nlmsg_cancel.  nlmsg_cancel then calls nlmsg_trim on the same\narguments.  nlmsg_trim tests for NULL before doing any computation, but a\nNULL second argument to genlmsg_cancel is no longer NULL due to the initial\nsubtraction.  Nothing else happens in this execution, so the call to\ngenlmsg_cancel is simply unnecessary in this case.\n\nThe semantic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression data;\n@@\n\nif (data \u003d\u003d NULL) { ...\n* genlmsg_cancel(..., data);\n  ...\n  return ...;\n}\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "45cbad6a1299842b5ae9a8a9c09630af063692f8",
      "tree": "153e05300a1a6cee014441e0d4733165a1f60f37",
      "parents": [
        "53e3b6e29eeda568fbe6c1e32d35cb56eea94415"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Tue Jan 25 12:21:22 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 28 15:44:27 2011 -0500"
      },
      "message": "cfg80211: Allow non-zero indexes for device specific pair-wise ciphers\n\nSome vendor specific cipher suites require non-zero key indexes for pairwise\nkeys, but as of currently, the cfg80211 does not allow it.\n\nAs validating they cipher parameters for vendor specific cipher suites is the\njob of the driver or hardware/firmware, change the cfg80211 to allow also\nnon-zero pairwise key indexes for vendor specific ciphers.\n\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8571a19c4ac140f1a507f3e7eb716892afa27109",
      "tree": "55ef6a0ab68d6388177d3290a7fd6bc3f12a381f",
      "parents": [
        "aae7c47311659e5150b740d61c4be418198239fa",
        "8d8d3fdc0d42be0ba75be227465773a54bb48a0b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 16:00:37 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 16:00:37 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\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": "6a108a14fa356ef607be308b68337939e56ea94e",
      "tree": "1bf260572bd8f95ed867307a2bcf5d881c8ae4a6",
      "parents": [
        "12fcdba1b7ae8b25696433f420b775aeb556d89b"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Jan 20 14:44:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:05 2011 -0800"
      },
      "message": "kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT\n\nThe meaning of CONFIG_EMBEDDED has long since been obsoleted; the option\nis used to configure any non-standard kernel with a much larger scope than\nonly small devices.\n\nThis patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes\nreferences to the option throughout the kernel.  A new CONFIG_EMBEDDED\noption is added that automatically selects CONFIG_EXPERT when enabled and\ncan be used in the future to isolate options that should only be\nconsidered for embedded systems (RISC architectures, SLOB, etc).\n\nCalling the option \"EXPERT\" more accurately represents its intention: only\nexpert users who understand the impact of the configuration changes they\nare making should enable it.\n\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: David Woodhouse \u003cdavid.woodhouse@intel.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff039c6fb372c87a3cc4fd25bb846790cb35edb8",
      "tree": "8ebeac5e8ce433caa41ba770c504a852dcba6a3f",
      "parents": [
        "f76b57b47e5fd423f9827c7b0ba7bbd06cca6b9b"
      ],
      "author": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Wed Dec 29 17:09:02 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 04 14:43:01 2011 -0500"
      },
      "message": "cfg80211: fix transposition of words in printk\n\nFixes the misplaced article in the following:\n\n\"cfg80211: Updating information on frequency 5785 MHz for\n    20 a MHz width channel with regulatory rule:\"\n\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "39fd5de4472b7b222c6cec78d72b069133f694e4",
      "tree": "81dd5a546598a1b09d3a48ca0f001b375ad91acb",
      "parents": [
        "7f531e03abf0162df3966c4fa5fa6fdd9302cb6b"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Thu Dec 16 11:30:28 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 20 14:49:47 2010 -0500"
      },
      "message": "nl80211: Export available antennas\n\nExport the information which antennas are available for configuration as TX or\nRX antennas via nl80211.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7f531e03abf0162df3966c4fa5fa6fdd9302cb6b",
      "tree": "b5e91c5ee9580e942749768e96421c1e55c3491b",
      "parents": [
        "c7108a7111cd9e592d6ad498be37276dbea75d2b"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Thu Dec 16 11:30:22 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 20 14:46:58 2010 -0500"
      },
      "message": "cfg80211: Separate available antennas for RX and TX\n\nAs has been pointed out by Daniel Halperin some devices (e.g. Intel IWL5100)\ncan only TX from a subset of RX antennas, so use separate availability masks\nfor RX and TX.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c7108a7111cd9e592d6ad498be37276dbea75d2b",
      "tree": "dab25dbb5607c4151629bf747ee10b4487772419",
      "parents": [
        "c80d545da3f7c0e534ccd4a780f322f80a92cff1"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Thu Dec 16 17:37:50 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 20 14:46:58 2010 -0500"
      },
      "message": "mac80211: Send mesh non-HWMP path selection frames to userspace\n\nLet path selection frames for protocols other than HWMP be sent to\nuserspace via NL80211_CMD_REGISTER_FRAME.  Also allow userspace to send\nand receive mesh path selection frames.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c80d545da3f7c0e534ccd4a780f322f80a92cff1",
      "tree": "edd5c51676b4677fc1a0b2fc692ffe97df863f25",
      "parents": [
        "24bdd9f4c9af75b33b438d60381a67626de0128d"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Thu Dec 16 17:37:49 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 20 14:46:57 2010 -0500"
      },
      "message": "mac80211: Let userspace enable and configure vendor specific path selection.\n\nUserspace will now be allowed to toggle between the default path\nselection algorithm (HWMP, implemented in the kernel), and a vendor\nspecific alternative.  Also in the same patch, allow userspace to add\ninformation elements to mesh beacons.  This is accordance with the\nExtensible Path Selection Framework specified in version 7.0 of the\n802.11s draft.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "24bdd9f4c9af75b33b438d60381a67626de0128d",
      "tree": "f5ff8c4f9ec2a7cdb976f419532179f2c46b06e8",
      "parents": [
        "8a09d6d80c90c02f2f8c89f69c702cab0c8d9b42"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Thu Dec 16 17:37:48 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 20 14:46:57 2010 -0500"
      },
      "message": "mac80211: Rename mesh_params to mesh_config to prepare for mesh_setup\n\nMesh parameters can be to setup a mesh or to configure it.\nThis patch renames the ambiguous name mesh_params to mesh_config\nin preparation for mesh_setup.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2784fe915cd25adf23ea28534019308d8a144721",
      "tree": "c780a7ee530a7563559374c2a66c21e15cd1a487",
      "parents": [
        "45ef6a0bcc9cd8f13004789ec6decb52e1d3045c"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Dec 15 19:24:11 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Dec 16 15:22:31 2010 -0500"
      },
      "message": "cfg80211: fix null pointer dereference with a custom regulatory request\n\nOnce we moved the core regulatory request to the queue and let\nthe scheduler process it last_request will have been left NULL\nuntil the schedular decides to process the first request. When\nthis happens and we are loading a driver with a custom regulatory\nrequest like all Atheros drivers we end up with a NULL pointer\ndereference. We fix this by checking if the request was a\ncustom one.\n\nBUG: unable to handle kernel NULL pointer dereference at 0000000000000004\nIP: [\u003cffffffffa016de87\u003e] freq_reg_info_regd.clone.2+0x27/0x130 [cfg80211]\nPGD 71f91067 PUD 712b2067 PMD 0\nOops: 0000 [#1] PREEMPT SMP\nlast sysfs file: /sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1/firmware/2-1/loading\nCPU 0\nModules linked in: ath9k_htc(+) ath9k_common ath9k_hw ath \u003cetc\u003e\nPid: 3094, comm: insmod Tainted: G        W   2.6.37-rc5-wl #16 INVALID/28427ZQ\nRIP: 0010:[\u003cffffffffa016de87\u003e]  [\u003cffffffffa016de87\u003e] freq_reg_info_regd.clone.2+0x27/0x130 [cfg80211]\nRSP: 0018:ffff88007045db78  EFLAGS: 00010282\nRAX: 0000000000000000 RBX: ffffffffa047d9a0 RCX: ffff88007045dbd0\nRDX: 0000000000004e20 RSI: 000000000024cde0 RDI: ffff8800700483e0\nRBP: ffff88007045db98 R08: ffffffffa02f5b40 R09: 0000000000000001\nR10: 000000000000000e R11: 0000000000000001 R12: 0000000000000000\nR13: ffff88007004e3b0 R14: 0000000000000000 R15: ffff880070048340\nFS:  00007f635a707700(0000) GS:ffff880077400000(0000) knlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\nCR2: 0000000000000004 CR3: 00000000708a9000 CR4: 00000000000006f0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess insmod (pid: 3094, threadinfo ffff88007045c000, task ffff8800713e3ec0)\nStack:\n ffffffffa047d9a0 0000000000000000 ffff88007004e3b0 0000000000000000\n ffff88007045dc08 ffffffffa016e147 000000007045dc08 0000000000000002\n ffff8800700483e0 ffffffffa02f5b40 ffff88007045dbd8 0000000000000000\nCall Trace:\n [\u003cffffffffa016e147\u003e] wiphy_apply_custom_regulatory+0x137/0x1d0 [cfg80211]\n [\u003cffffffffa047a690\u003e] ? ath9k_reg_notifier+0x0/0x50 [ath9k_htc]\n [\u003cffffffffa02f47f7\u003e] ath_regd_init+0x347/0x430 [ath]\n [\u003cffffffffa047b1f5\u003e] ath9k_htc_probe_device+0x6c5/0x960 [ath9k_htc]\n [\u003cffffffffa0472a2c\u003e] ath9k_htc_hw_init+0xc/0x30 [ath9k_htc]\n [\u003cffffffffa04747e6\u003e] ath9k_hif_usb_probe+0x216/0x3b0 [ath9k_htc]\n [\u003cffffffffa03bb6bc\u003e] usb_probe_interface+0x10c/0x210 [usbcore]\n [\u003cffffffff812aec26\u003e] driver_probe_device+0x96/0x1c0\n [\u003cffffffff812aedf3\u003e] __driver_attach+0xa3/0xb0\n [\u003cffffffff812aed50\u003e] ? __driver_attach+0x0/0xb0\n [\u003cffffffff812adaae\u003e] bus_for_each_dev+0x5e/0x90\n [\u003cffffffff812ae8c9\u003e] driver_attach+0x19/0x20\n [\u003cffffffff812ae438\u003e] bus_add_driver+0x168/0x320\n [\u003cffffffff812af071\u003e] driver_register+0x71/0x140\n [\u003cffffffff811fc4a8\u003e] ? __raw_spin_lock_init+0x38/0x70\n [\u003cffffffffa03ba39c\u003e] usb_register_driver+0xdc/0x190 [usbcore]\n [\u003cffffffffa03a2000\u003e] ? ath9k_htc_init+0x0/0x4f [ath9k_htc]\n [\u003cffffffffa047499e\u003e] ath9k_hif_usb_init+0x1e/0x20 [ath9k_htc]\n [\u003cffffffffa03a202b\u003e] ath9k_htc_init+0x2b/0x4f [ath9k_htc]\n [\u003cffffffff8100212f\u003e] do_one_initcall+0x3f/0x180\n [\u003cffffffff8109ef5b\u003e] sys_init_module+0xbb/0x200\n [\u003cffffffff8100bf52\u003e] system_call_fastpath+0x16/0x1b\nCode: \u003cetc, who cares\u003e\nRIP  [\u003cffffffffa016de87\u003e] freq_reg_info_regd.clone.2+0x27/0x130 [cfg80211]\n RSP \u003cffff88007045db78\u003e\nCR2: 0000000000000004\n---[ end trace 79e4193601c8b713 ]---\n\nReported-by: Sujith Manoharan \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cf4e594ea7e55555e81647b74a3a8e8b2826a529",
      "tree": "794013429d9613ef253111fb50f993600ab14a55",
      "parents": [
        "5928b91acae97622a6f2e679eb7a9f19bed68e3e"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Thu Dec 16 00:52:40 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Dec 16 15:22:30 2010 -0500"
      },
      "message": "nl80211: Add notification for dropped Deauth/Disassoc\n\nAdd a new notification to indicate that a received, unprotected\nDeauthentication or Disassociation frame was dropped due to\nmanagement frame protection being in use. This notification is\nneeded to allow user space (e.g., wpa_supplicant) to implement\nSA Query procedure to recover from association state mismatch\nbetween an AP and STA.\n\nThis is needed to avoid getting stuck in non-working state when MFP\n(IEEE 802.11w) is used and a protected Deauthentication or\nDisassociation frame is dropped for any reason. After that, the\nstation would silently discard any unprotected Deauthentication or\nDisassociation frame that could be indicating that the AP does not\nhave association for the STA (when the Reason Code would be 6 or 7).\nIEEE Std 802.11w-2009, 11.13 describes this recovery mechanism.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a293911d4fd5e8593dbf478399a77f990d466269",
      "tree": "826f614f178e915c4d2c08aba9ca5b2a38f78c75",
      "parents": [
        "14a085e77063090fb12ad391d0f4d46e593be225"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Dec 14 17:54:28 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 15 17:03:56 2010 -0500"
      },
      "message": "nl80211: advertise maximum remain-on-channel duration\n\nWith the upcoming hardware offload implementation,\nsome devices will have a different maximum duration\nfor the remain-on-channel command. Advertise the\nmaximum duration in mac80211, and make mac80211 set\nit.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.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": "01123e233193a544c85b622e1690f44532052c5b",
      "tree": "3632678a9441a2dce021f6a2ceada5de4e7e7e07",
      "parents": [
        "998d516d9546eba04dd99ae49a78acb0cf770478"
      ],
      "author": {
        "name": "Sven Neumann",
        "email": "s.neumann@raumfeld.com",
        "time": "Thu Dec 09 15:05:24 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 13 15:23:28 2010 -0500"
      },
      "message": "cfg80211: update information elements in cached BSS struct\n\nWhen a cached BSS struct is updated because a new beacon was received,\nthe code replaces the cached information elements by the IEs from the\nnew beacon. However it did not update the pub.information_elements\nand pub.len_information_elements fields leaving them either pointing\nto the old beacon IEs or in an inconsistent state where the data is\nreplaced by the new beacon IEs but len_information_elements still has\nits value from the first beacon.\n\nFix this by updating the information elements fields if they are\npointing to beacon IEs.\n\nSigned-off-by: Sven Neumann \u003cs.neumann@raumfeld.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a7ffac9591a2a0ee74c431396ae475a8d0caa51e",
      "tree": "174134b89e490592003307263e6b3964d9a1eacf",
      "parents": [
        "a08e7ade9ddf4fe79576f953cc5c1725e944d26c"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Dec 08 13:59:24 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 13 15:23:27 2010 -0500"
      },
      "message": "cfg80211: Add antenna availability information\n\nAdd a field to wiphy for the hardware to report the availble antennas for\nconfiguration. Only if this is set to something bigger than zero, will the\nanntenna configuration ops be executed.\n\nAllthough this could be a simple number of antennas, I defined it as a bitmap\nof antennas which are available for configuration, since it\u0027s more consistent\nwith the rest of the antenna API and there could be cases where the\nhardware allows only configuration of certain antennas. As it does not make\nmuch of a difference in size or normal usage, I think it\u0027s better to be able to\nsupport this, in case the need arises.\n\nThe antenna configuration is now also checked against the availabe antennas and\nrejected if it does not match.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\n\n--\nv3:\talways apply available antenna mask (for \"all\" antennas case).\n\nv2:\treject antenna configurations which don\u0027t match the available antennas\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "50b12f597be354a5a224f05c65c54c0667e57aec",
      "tree": "db4c59639d3d1bc013a2c3d7e17c47db2f94efc0",
      "parents": [
        "7659a193f94c0003dd06e9e874d19bade1a8c952"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Fri Nov 19 12:40:25 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 08 15:38:43 2010 -0500"
      },
      "message": "cfg80211: Add new BSS attribute ht_opmode\n\nAdd a new BSS attribute to allow hostapd to set the current HT opmode.\nOtherwise drivers won\u0027t be able to set up protection for HT rates in\nAP mode.\n\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "541a45a142df281c974d74eac2066138fc107b23",
      "tree": "b96f4808c3f17f2f560db9569ca2b08dba9eab67",
      "parents": [
        "22de94de7de78b8de2fb1f2df5aa85b5556cfcfd"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Thu Dec 02 19:12:43 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 07 16:09:12 2010 -0500"
      },
      "message": "nl80211/mac80211: Report signal average\n\nExtend nl80211 to report an exponential weighted moving average (EWMA) of the\nsignal value. Since the signal value usually fluctuates between different\npackets, an average can be more useful than the value of the last packet.\n\nThis uses the recently added generic EWMA library function.\n\n--\nv2:\tfix ABI breakage and change factor to be a power of 2.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "29cbe68c516a48a9a88b3226878570c6cbd83c02",
      "tree": "4774f8a3a244236234a521baa4d1ae5b3e1494ba",
      "parents": [
        "bd90fdcc5fbd99a2a778999610420cf793bd1be2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Dec 03 09:20:44 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 06 16:01:29 2010 -0500"
      },
      "message": "cfg80211/mac80211: add mesh join/leave commands\n\nInstead of tying mesh activity to interface up,\nadd join and leave commands for mesh. Since we\nmust be backward compatible, let cfg80211 handle\njoining a mesh if a mesh ID was pre-configured\nwhen the device goes up.\n\nNote that this therefore must modify mac80211 as\nwell since mac80211 needs to lose the logic to\nstart the mesh on interface up.\n\nWe now allow querying mesh parameters before the\nmesh is connected, which simply returns defaults.\nSetting them (internally renamed to \"update\") is\nonly allowed while connected. Specify them with\nthe new mesh join command instead where needed.\n\nIn mac80211, beaconing must now also follow the\nmesh enabled/not enabled state, which is done\nby testing the mesh ID.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bd90fdcc5fbd99a2a778999610420cf793bd1be2",
      "tree": "18019688bd7edb6432f5f12ac258e6cf81ee9e61",
      "parents": [
        "f9e10ce4cf86945eb5efcab31284c971877ed012"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Dec 03 09:20:43 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 06 16:01:29 2010 -0500"
      },
      "message": "nl80211: refactor mesh parameter parsing\n\nI\u0027m going to need this in a new place later.\n\nTested-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f9e10ce4cf86945eb5efcab31284c971877ed012",
      "tree": "a56ec8ed84019901bf92aa969e366afb8b8ce36b",
      "parents": [
        "09b174702601079c3a04806754be30ffbd70db4d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Dec 03 09:20:42 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 06 16:01:28 2010 -0500"
      },
      "message": "cfg80211: require add_virtual_intf to return new dev\n\ncfg80211 used to do all its bookkeeping in\nthe notifier, but some new stuff will have\nto use local variables so make the callback\nreturn the netdev pointer.\n\nTested-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "45904f21655cf4f0ae7d0fab5906fe51bf56ecf4",
      "tree": "fd023d65b881b6cfcf1529eed7c1ad2523c166e1",
      "parents": [
        "b9e61f11f47035e3b4545b51fb547fef48eb3096"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Fri Dec 03 09:20:40 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 06 16:01:28 2010 -0500"
      },
      "message": "nl80211/mac80211: define and allow configuring mesh element TTL\n\nThe TTL in path selection information elements is different from\nthe mesh ttl used in mesh data frames.  Version 7.03 of the 11s\ndraft calls this ttl \u0027Element TTL\u0027.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f7ca38dfe58c20cb1aa2ed9643187e8b194b5bae",
      "tree": "42db54588fd5fa769a16def75708117903577b40",
      "parents": [
        "9a67d761b39614c0495dcab9a204e21a9f4c4d31"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Nov 25 10:02:29 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 29 15:24:35 2010 -0500"
      },
      "message": "nl80211/cfg80211: extend mgmt-tx API for off-channel\n\nWith p2p, it is sometimes necessary to transmit\na frame (typically an action frame) on another\nchannel than the current channel. Enable this\nthrough the CMD_FRAME API, and allow it to wait\nfor a response. A new command allows that wait\nto be aborted.\n\nHowever, allow userspace to specify whether or\nnot it wants to allow off-channel TX, it may\nactually want to use the same channel only.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c063dbf52b998b852122dff07a8b8dd430b38437",
      "tree": "b27cc73fa8a1d9ed8fb5b0a1306e8194e18662a9",
      "parents": [
        "79b1c460a0b55e55981c25c56597c4d5d2872de3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Nov 24 08:10:05 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:19:36 2010 -0500"
      },
      "message": "cfg80211: allow using CQM event to notify packet loss\n\nThis adds the ability for drivers to use CQM events\nto notify about packet loss for specific stations\n(which could be the AP for the managed mode case).\nSince the threshold might be determined by the\ndriver (it isn\u0027t passed in right now) it will be\npassed out of the driver to userspace in the event.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "dd5b4cc71cd09c33e1579cc6d5720656e94e52de",
      "tree": "86a27c86480109d9b6bbedddc083095035fbef2d",
      "parents": [
        "46090979a55a0dc2cdb3d939f94fa47742108194"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Mon Nov 22 20:58:24 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:19:35 2010 -0500"
      },
      "message": "cfg80211/mac80211: improve ad-hoc multicast rate handling\n\n- store the multicast rate as an index instead of the rate value\n  (reduces cpu overhead in a hotpath)\n- validate the rate values (must match a bitrate in at least one sband)\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e9c0268f02f8970149158a9b7ea1e5c1c45c819d",
      "tree": "1c73aeb5aa981379545a0b1edbd13dc6cbea6fee",
      "parents": [
        "d7a066c92394f3e777351de0c903beeb8a08af76"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Nov 16 19:56:49 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:19:33 2010 -0500"
      },
      "message": "net/wireless: Use pr_\u003clevel\u003e and netdev_\u003clevel\u003e\n\nNo change in output for pr_\u003clevel\u003e prefixes.\nnetdev_\u003clevel\u003e output is different, arguably improved.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d7a066c92394f3e777351de0c903beeb8a08af76",
      "tree": "f54ce8ac77d32b4c3166b4a2ca92525174a3213b",
      "parents": [
        "ccb14354017272ddac002e859a2711610b6af174",
        "e476a5a41ad67d0e2b4a652820c49a3923eb936b"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:19:24 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:19:24 2010 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "ccb14354017272ddac002e859a2711610b6af174",
      "tree": "fa39f9b944508e596763c49b0088dc1cc2e263ca",
      "parents": [
        "f8afa42b01c7a9f45b7cbaadb0481a0eeb96f18d"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:18:36 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:18:36 2010 -0500"
      },
      "message": "Revert \"nl80211/mac80211: Report signal average\"\n\nThis reverts commit 86107fd170bc379869250eb7e1bd393a3a70e8ae.\n\nThis patch inadvertantly changed the userland ABI.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b2e253cf300c5e33f49b7dd8b593bfc722177401",
      "tree": "0da4d4121996f7869b0ce5ac469c6dd5e7c7beaa",
      "parents": [
        "b0e2880b0518ad11af20c7c93ec5cac93f9f03b0"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Nov 17 21:46:09 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 22 15:48:51 2010 -0500"
      },
      "message": "cfg80211: Fix regulatory bug with multiple cards and delays\n\nWhen two cards are connected with the same regulatory domain\nif CRDA had a delayed response then cfg80211\u0027s own set regulatory\ndomain would still be the world regulatory domain. There was a bug\non cfg80211\u0027s logic such that it assumed that once you pegged a\nrequest as the last request it was already the currently set\nregulatory domain. This would mean we would race setting a stale\nregulatory domain to secondary cards which had the same regulatory\ndomain since the alpha2 would match.\n\nWe fix this by processing each regulatory request atomically,\nand only move on to the next one once we get it fully processed.\nIn the case CRDA is not present we will simply world roam.\n\nThis issue is only present when you have a slow system and the\nCRDA processing is delayed. Because of this it is not a known\nregression.\n\nWithout this fix when a delay is present with CRDA the second card\nwould end up with an intersected regulatory domain and not allow it\nto use the channels it really is designed for. When two cards with\ntwo different regulatory domains were inserted you\u0027d end up\nrejecting the second card\u0027s regulatory domain request.\nThis fails with mac80211_hswim\u0027s regtest\u003d2 (two requests, same alpha2)\nand regtest\u003d3 (two requests, different alpha2) module parameter\noptions.\n\nThis was reproduced and tested against mac80211_hwsim using this\nCRDA delayer:\n\n       #!/bin/bash\n       echo $COUNTRY \u003e\u003e /tmp/log\n       sleep 2\n       /sbin/crda.orig\n\nAnd these regulatory tests:\n\n       modprobe mac80211_hwsim regtest\u003d2\n       modprobe mac80211_hwsim regtest\u003d3\n\nReported-by: Mark Mentovai \u003cmark@moxienet.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nTested-by: Mark Mentovai \u003cmark@moxienet.com\u003e\nTested-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b0e2880b0518ad11af20c7c93ec5cac93f9f03b0",
      "tree": "fe8b2f27d1515100a74e80d86f99ce608abfa296",
      "parents": [
        "f333a7a2f49e2a9b46f8d18962bd750b18beeecd"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Nov 17 21:46:08 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 22 15:48:50 2010 -0500"
      },
      "message": "cfg80211: move mutex locking to reg_process_pending_hints()\n\nThis will be required in the next patch and it makes the\nnext patch easier to review.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nTested-by: Mark Mentovai \u003cmark@moxienet.com\u003e\nTested-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f333a7a2f49e2a9b46f8d18962bd750b18beeecd",
      "tree": "211eef7a662424cdf8afdfa9db622031b876f553",
      "parents": [
        "31e99729ae66d8b74316547c40eed15172f14ea8"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Nov 17 21:46:07 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 22 15:48:50 2010 -0500"
      },
      "message": "cfg80211: move reg_work and reg_todo above\n\nThese will be used earlier in the next few patches.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nTested-by: Mark Mentovai \u003cmark@moxienet.com\u003e\nTested-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "31e99729ae66d8b74316547c40eed15172f14ea8",
      "tree": "67f88887c561e2e68bcfc72322a46340a92deb42",
      "parents": [
        "8ce469999552b0c3325350cd9b4be417f2bbfc23"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Nov 17 21:46:06 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 22 15:48:50 2010 -0500"
      },
      "message": "cfg80211: put core regulatory request into queue\n\nThis will simplify the synchronization for pending requests.\nWithout this we have a race between the core and when we\nrestore regulatory settings, although this is unlikely\nits best to just avoid that race altogether.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nTested-by: Mark Mentovai \u003cmark@moxienet.com\u003e\nTested-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "86107fd170bc379869250eb7e1bd393a3a70e8ae",
      "tree": "579ee24be87e94246450420f4de57d8eda942848",
      "parents": [
        "eef39befaae2a1559efe197d795c376a317af2af"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Tue Nov 16 10:58:48 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 18 14:22:20 2010 -0500"
      },
      "message": "nl80211/mac80211: Report signal average\n\nExtend nl80211 to report an exponential weighted moving average (EWMA) of the\nsignal value. Since the signal value usually fluctuates between different\npackets, an average can be more useful than the value of the last packet.\n\nThis uses the recently added generic EWMA library function.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "09a02fdb919876c01e8f05960750a418b3f7fa48",
      "tree": "56be1e83394ba38590ab16a0d2905fe49e05414d",
      "parents": [
        "9236d838c920e90708570d9bbd7bb82d30a38130"
      ],
      "author": {
        "name": "Mark Mentovai",
        "email": "mark@moxienet.com",
        "time": "Wed Nov 17 16:34:37 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 18 11:35:05 2010 -0500"
      },
      "message": "cfg80211: fix can_beacon_sec_chan, reenable HT40\n\nThis follows wireless-testing 9236d838c920e90708570d9bbd7bb82d30a38130\n(\"cfg80211: fix extension channel checks to initiate communication\") and\nfixes accidental case fall-through. Without this fix, HT40 is entirely\nblocked.\n\nSigned-off-by: Mark Mentovai \u003cmark@moxienet.com\u003e\nCc: stable@kernel.org\nAcked-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "885a46d0f7942d76c2f3860acb45f75237d3bb42",
      "tree": "f116fcc9b8204f7a113693e307de76e4098ebb36",
      "parents": [
        "a619a4c0e1fd4e8c360c63d0df3fa0a401107d69"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Thu Nov 11 15:07:22 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:39:08 2010 -0500"
      },
      "message": "cfg80211: add support for setting the ad-hoc multicast rate\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "afe0cbf87500f0585d217deb8c6fd329793a7957",
      "tree": "a7e4f6db468e623961ab2b71ccf2bfb9c6756894",
      "parents": [
        "0e67d6cb753643fc076a90fa9309301b3fbfb8db"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Nov 10 12:50:50 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:37:05 2010 -0500"
      },
      "message": "cfg80211: Add nl80211 antenna configuration\n\nAllow setting of TX and RX antennas configuration via nl80211.\n\nThe antenna configuration is defined as a bitmap of allowed antennas to use.\nThis API can be used to mask out antennas which are not attached or should not\nbe used for other reasons like regulatory concerns or special setups.\n\nSeparate bitmaps are used for RX and TX to allow configuring different antennas\nfor receiving and transmitting. Each bitmap is 32 bit long, each bit\nrepresenting one antenna, starting with antenna 1 at the first bit. If an\nantenna bit is set, this means the driver is allowed to use this antenna for RX\nor TX respectively; if the bit is not set the hardware is not allowed to use\nthis antenna.\n\nUsing bitmaps has the benefit of allowing for a flexible configuration\ninterface which can support many different configurations and which can be used\nfor 802.11n as well as non-802.11n devices. Instead of relying on some hardware\nspecific assumptions, drivers can use this information to know which antennas\nare actually attached to the system and derive their capabilities based on\nthat.\n\n802.11n devices should enable or disable chains, based on which antennas are\npresent (If all antennas belonging to a particular chain are disabled, the\nentire chain should be disabled). HT capabilities (like STBC, TX Beamforming,\nAntenna selection) should be calculated based on the available chains after\napplying the antenna masks. Should a 802.11n device have diversity antennas\nattached to one of their chains, diversity can be enabled or disabled based on\nthe antenna information.\n\nNon-802.11n drivers can use the antenna masks to select RX and TX antennas and\nto enable or disable antenna diversity.\n\nWhile covering chainmasks for 802.11n and the standard \"legacy\" modes \"fixed\nantenna 1\", \"fixed antenna 2\" and \"diversity\" this API also allows more rare,\nbut useful configurations as follows:\n\n1) Send on antenna 1, receive on antenna 2 (or vice versa). This can be used to\nhave a low gain antenna for TX in order to keep within the regulatory\nconstraints and a high gain antenna for RX in order to receive weaker signals\n(\"speak softly, but listen harder\"). This can be useful for building long-shot\noutdoor links. Another usage of this setup is having a low-noise pre-amplifier\non antenna 1 and a power amplifier on the other antenna. This way transmit\nnoise is mostly kept out of the low noise receive channel.\n(This would be bitmaps: tx 1 rx 2).\n\n2) Another similar setup is: Use RX diversity on both antennas, but always send\non antenna 1. Again that would allow us to benefit from a higher gain RX\nantenna, while staying within the legal limits.\n(This would be: tx 0 rx 3).\n\n3) And finally there can be special experimental setups in research and\ndevelopment even with pre 802.11n hardware where more than 2 antennas are\navailable. It\u0027s good to keep the API simple, yet flexible.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\n\n--\nv7:\tMade bitmasks 32 bit wide and rebased to latest wireless-testing.\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9236d838c920e90708570d9bbd7bb82d30a38130",
      "tree": "ee2d9ae6b4f82efe3b28e33abebec96b7e136141",
      "parents": [
        "b5261cf4f3860bd772346a3e692683b6144dd44c"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Fri Nov 12 16:31:23 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 15:59:39 2010 -0500"
      },
      "message": "cfg80211: fix extension channel checks to initiate communication\n\nWhen operating in a mode that initiates communication and using\nHT40 we should fail if we cannot use both primary and secondary\nchannels to initiate communication. Our current ht40 allowmap\nonly covers STA mode of operation, for beaconing modes we need\na check on the fly as the mode of operation is dynamic and\nthere other flags other than disable which we should read\nto check if we can initiate communication.\n\nDo not allow for initiating communication if our secondary HT40\nchannel has is either disabled, has a passive scan flag, a\nno-ibss flag or is a radar channel. Userspace now has similar\nchecks but this is also needed in-kernel.\n\nReported-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d91e41b690f795c04af4eb6fe28d2cafd3291051",
      "tree": "b37066063850a9e2003488d41ba49138d9109618",
      "parents": [
        "e702d3cf29143327679ce2e2a60775eaf829f377"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Oct 20 10:18:59 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:24:15 2010 -0500"
      },
      "message": "cfg80211: prefix REG_DBG_PRINT() with cfg80211\n\nEveryone\u0027s doing it, its the cool thing.\n\nCc: Easwar Krishnan \u003ceaswar.krishnan@atheros.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e702d3cf29143327679ce2e2a60775eaf829f377",
      "tree": "33cd8b0727a772c984d91797a78a2352845d6928",
      "parents": [
        "a65185367f9f876448f0f12ac09a673d20371efc"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Oct 21 19:17:04 2010 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:24:14 2010 -0500"
      },
      "message": "cfg80211: add debug print when processing a channel\n\nIn the worst case you are seeing really odd things you want\nmore information than what is provided right now, for those\nthat insist and want debug info through CONFIG_CFG80211_REG_DEBUG\nprovide a print of when we are processing a channel and with what\nregulatory rule.\n\nCc: Easwar Krishnan \u003ceaswar.krishnan@atheros.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: Senthil Balasubramanian \u003csenthilkumar@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a65185367f9f876448f0f12ac09a673d20371efc",
      "tree": "9d8f676082ac40db97ad1da6c059ec156c0820f9",
      "parents": [
        "926a0a094d2b9052db3f7f37438c3d305cea4be7"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Oct 20 10:18:57 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:24:13 2010 -0500"
      },
      "message": "cfg80211: add debug print when disabling a channel on a custom regd\n\nCc: Easwar Krishnan \u003ceaswar.krishnan@atheros.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "926a0a094d2b9052db3f7f37438c3d305cea4be7",
      "tree": "d2f19acc7b84ea60e823638f2cf49e5a11d3401e",
      "parents": [
        "ca4ffe8f2848169a8ded0ea8a60b2d81925564c9"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Oct 21 19:17:03 2010 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:24:12 2010 -0500"
      },
      "message": "cfg80211: add debug prints for when we ignore regulatory hints\n\nThis can help with debugging issues. You will only see\nthese with CONFIG_CFG80211_REG_DEBUG enabled.\n\nCc: Easwar Krishnan \u003ceaswar.krishnan@atheros.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: Senthil Balasubramanian \u003csenthilkumar@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ca4ffe8f2848169a8ded0ea8a60b2d81925564c9",
      "tree": "bfc6dabaf52b07b59c5146e26f71fe5193ddd04c",
      "parents": [
        "749b527b21465fb079796c03ffb4302584dc31c1"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Oct 20 10:18:55 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:24:10 2010 -0500"
      },
      "message": "cfg80211: fix disabling channels based on hints\n\nAfter a module loads you will have loaded the world roaming regulatory\ndomain or a custom regulatory domain. Further regulatory hints are\nwelcomed and should be respected unless the regulatory hint is coming\nfrom a country IE as the IEEE spec allows for a country IE to be a subset\nof what is allowed by the local regulatory agencies.\n\nSo disable all channels that do not fit a regulatory domain sent\nfrom a unless the hint is from a country IE and the country IE had\nno information about the band we are currently processing.\n\nThis fixes a few regulatory issues, for example for drivers that depend\non CRDA and had no 5 GHz freqencies allowed were not properly disabling\n5 GHz at all, furthermore it also allows users to restrict devices\nfurther as was intended.\n\nIf you recieve a country IE upon association we will also disable the\nchannels that are not allowed if the country IE had at least one\nchannel on the respective band we are procesing.\n\nThis was the original intention behind this design but it was\ncompletely overlooked...\n\nCc: David Quan \u003cdavid.quan@atheros.com\u003e\nCc: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\ncc: Easwar Krishnan \u003ceaswar.krishnan@atheros.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "749b527b21465fb079796c03ffb4302584dc31c1",
      "tree": "07269dcd8f82d163c3d7195d536f61b768da6c58",
      "parents": [
        "7ca43d03b1291481bdf894bbaec5d580e7684e7d"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Oct 20 10:18:54 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:24:09 2010 -0500"
      },
      "message": "cfg80211: fix allowing country IEs for WIPHY_FLAG_STRICT_REGULATORY\n\nWe should be enabling country IE hints for WIPHY_FLAG_STRICT_REGULATORY\neven if we haven\u0027t yet recieved regulatory domain hint for the driver\nif it needed one. Without this Country IEs are not passed on to drivers\nthat have set WIPHY_FLAG_STRICT_REGULATORY, today this is just all\nAtheros chipset drivers: ath5k, ath9k, ar9170, carl9170.\n\nThis was part of the original design, however it was completely\noverlooked...\n\nCc: Easwar Krishnan \u003ceaswar.krishnan@atheros.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7ca43d03b1291481bdf894bbaec5d580e7684e7d",
      "tree": "34ad4d5b915b760ccedce956e50cf3aa5300ebc9",
      "parents": [
        "2e48928d8a0f38c1b5c81eb3f1294de8a6382c68"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Oct 20 10:18:53 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 15 13:24:08 2010 -0500"
      },
      "message": "cfg80211: pass the reg hint initiator to helpers\n\nThis is required later.\n\nCc: Easwar Krishnan \u003ceaswar.krishnan@atheros.com\u003e\nCc: stable@kernel.org\nsigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3cc25e510dfc36dc62ee0aa87344b36ed7c1742a",
      "tree": "aa485987c383ac5c2843e1f3d7b3eb3a628f111b",
      "parents": [
        "8df86db9060ddd123d172c7adb6b2b71f31e77cd"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sun Oct 31 15:31:54 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 08 16:53:47 2010 -0500"
      },
      "message": "cfg80211: fix a crash in dev lookup on dump commands\n\nIS_ERR and PTR_ERR were called with the wrong pointer, leading to a\ncrash when cfg80211_get_dev_from_ifindex fails.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a171fba491f54216e356efa46096171a7ed01d10",
      "tree": "e0d89a5324c677e4049ce18011f3b7f948b071a0",
      "parents": [
        "3d2f2cd066e9e2b7e43d516d92e66dac2fc46aa0"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Mon Oct 18 17:44:51 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 25 14:43:14 2010 -0400"
      },
      "message": "cfg80211: fix regression on processing country IEs\n\nThe patch 4f366c5:\n\n\twireless: only use alpha2 regulatory information from country IE\n\nremoved some complex intersection we were always doing between the AP\u0027s\ncountry IE info and what we got from CRDA. When CRDA sent us back a\nregulatory domain we would do some sanity checks on that regulatory\ndomain response we just got. Part of these sanity checks included\nchecking that we already had performed an intersection for the\nrequest of NL80211_REGDOM_SET_BY_COUNTRY_IE type.\n\nThis mean that cfg80211 was only processing country IEs for cases\nwhere we already had an intersection, but since we removed enforcing\nthis this is no longer required, we should just apply the country\nIE country hint with the data received from CRDA.\n\nThis patch has fixes intended for kernels \u003e\u003d 2.6.36.\n\nCc: stable@kernel.org\nReported-by: Easwar Krishnan \u003ceaswar.krishnan@atheros.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0",
      "tree": "7851ef1c93aa1aba7ef327ca4b75fd35e6d10f29",
      "parents": [
        "02f36038c568111ad4fc433f6fa760ff5e38fab4",
        "ec37a48d1d16c30b655ac5280209edf52a6775d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits)\n  bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.\n  vlan: Calling vlan_hwaccel_do_receive() is always valid.\n  tproxy: use the interface primary IP address as a default value for --on-ip\n  tproxy: added IPv6 support to the socket match\n  cxgb3: function namespace cleanup\n  tproxy: added IPv6 support to the TPROXY target\n  tproxy: added IPv6 socket lookup function to nf_tproxy_core\n  be2net: Changes to use only priority codes allowed by f/w\n  tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled\n  tproxy: added tproxy sockopt interface in the IPV6 layer\n  tproxy: added udp6_lib_lookup function\n  tproxy: added const specifiers to udp lookup functions\n  tproxy: split off ipv6 defragmentation to a separate module\n  l2tp: small cleanup\n  nf_nat: restrict ICMP translation for embedded header\n  can: mcp251x: fix generation of error frames\n  can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set\n  can-raw: add msg_flags to distinguish local traffic\n  9p: client code cleanup\n  rds: make local functions/variables static\n  ...\n\nFix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and\ndrivers/net/wireless/ath/ath9k/debug.c as per David\n"
    },
    {
      "commit": "092e0e7e520a1fca03e13c9f2d157432a8657ff2",
      "tree": "451897252c4c08c4b5a8ef535da156f1e817e80b",
      "parents": [
        "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
        "776c163b1b93c8dfa5edba885bc2bfbc2d228a5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "message": "Merge branch \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  vfs: make no_llseek the default\n  vfs: don\u0027t use BKL in default_llseek\n  llseek: automatically add .llseek fop\n  libfs: use generic_file_llseek for simple_attr\n  mac80211: disallow seeks in minstrel debug code\n  lirc: make chardev nonseekable\n  viotape: use noop_llseek\n  raw: use explicit llseek file operations\n  ibmasmfs: use generic_file_llseek\n  spufs: use llseek in all file operations\n  arm/omap: use generic_file_llseek in iommu_debug\n  lkdtm: use generic_file_llseek in debugfs\n  net/wireless: use generic_file_llseek in debugfs\n  drm: use noop_llseek\n"
    },
    {
      "commit": "c64557d666eb62eb5f296c6b93bd0a5525ed1e36",
      "tree": "1e25cc32521d06ae876de18bb8e48b3cf9d30808",
      "parents": [
        "1a63c353c856c9f6d44a533afb6ad6dbbcdea683",
        "0d91f22b75347d9503b17a42b6c74d3f7750acd6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 15 16:11:56 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 15 16:11:56 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"
    },
    {
      "commit": "9ebad4ab87f2ffa6eca825327721e647c7457264",
      "tree": "d991c017031d7da8b58bc707809a12eef7320557",
      "parents": [
        "94a40c0c6bcc47ceba12e0247c5a23fb1e6c81e4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Oct 14 13:41:35 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 15 15:57:34 2010 -0400"
      },
      "message": "radiotap: fix vendor namespace parsing\n\nThere\u0027s a bug with radiotap vendor namespace\nparsing if you don\u0027t register for the given\nnamespace extensions. Fix this by passing\nonly the unknown vendor namespaces and the\nregistered data to frontends, but not both.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "271733cf844a2f5f186ef3b40c26d6397b71039a",
      "tree": "6b674540afe189b48599ae423c2174ebd48a8ffe",
      "parents": [
        "7a8266524af7ec70d1b3d10f964ce911d922d466"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Oct 13 12:06:23 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 13 15:45:22 2010 -0400"
      },
      "message": "cfg80211: notify drivers about frame registrations\n\nDrivers may need to adjust their filters according\nto frame registrations, so notify them about them.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cfd8e12f42746df396ecbdf7a1d8e92e8e4dbb97",
      "tree": "3f393fd50bd7eac0f9bf2d08cc8ce1f059446cde",
      "parents": [
        "5807bae7eda2d6da673c9f9f52460c3fbcea556c"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Mon Oct 11 10:28:59 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 12 16:05:29 2010 -0400"
      },
      "message": "wireless: Print wiphy name in sysfs.\n\nThe index cannot be used to reliably reconstruct a phy\nname, so explicitly add the phy name to sysfs so that scripts\ncan figure out the parent phy device for a particular\nwireless interface.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8610c29a2c9f273886b1c31ae4d92c69d4326262",
      "tree": "c0424e55a67e0a2a1c7f1d72a9d807c442da5a9c",
      "parents": [
        "15943a72c7d2031c9150917ca9161a9f891d455a"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sat Oct 09 02:39:29 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 11 15:04:20 2010 -0400"
      },
      "message": "cfg80211: add channel utilization stats to the survey command\n\nUsing these, user space can calculate a relative channel utilization\nwith arbitrary intervals by regularly taking snapshots of the survey\nresults.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\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": "7623225f905263424c7254dc6a07bff083a498dd",
      "tree": "804b483a7aa2c2ad373fbe2e9b30844dea5c886c",
      "parents": [
        "d86a4f2dd4ec554cf3346f4cab763925761c4095"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Oct 11 14:46:52 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 11 14:46:52 2010 -0400"
      },
      "message": "Revert \"wireless: Use first phyX name available when registering phy devices.\"\n\nThis reverts commit 5a254ffe3ffdfa84fe076009bd8e88da412180d2.\n\nThe commit failed to take into account that allocated wireless devices\n(wiphys) are not added into the device list upon allocation, but only\nwhen they are registered. Therefore, it opened up a race between\nallocating and registering a name, so that if two processes allocate and\nregister concurrently (\"alloc, alloc, register, register\" rather than\n\"alloc, register, alloc, register\") the code will attempt to use the\nsame name twice.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "e9a68707d736f4f73d7e209885d7b4c5c452b1dc",
      "tree": "d9f76964c77c1059483b08436ed060b702b8e25d",
      "parents": [
        "dd53df265b1ee7a1fbbc76bb62c3bec2383bbd44",
        "15a6321d1c0f8db561932cd99e1b9897981da71f"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 08 15:39:28 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 08 15:39:28 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\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ipw2x00/ipw2200.c\n"
    },
    {
      "commit": "388ac775be95e510c2095ed6cd59422a5183a9fb",
      "tree": "bbdb6f1b5aa46ec8ebb5c1eccdd4934082a66094",
      "parents": [
        "43b19952de54b0fccfcdc5968891ebe550367fe8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Oct 07 13:11:09 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Oct 07 14:41:28 2010 -0400"
      },
      "message": "cfg80211: constify WDS address\n\nThere\u0027s no need for the WDS peer address\nto not be const, so make it const.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "43b19952de54b0fccfcdc5968891ebe550367fe8",
      "tree": "2657f6820dfbaaaab1aa3dc4af48ecbeef363a89",
      "parents": [
        "7b99a7c2dab7efe7c265b66fedbf3444958ebfe3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Oct 07 13:10:30 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Oct 07 14:41:27 2010 -0400"
      },
      "message": "nl80211: use new genl helpers for WDS\n\nBill Jordan\u0027s patch to allow setting the WDS\npeer crossed with my patch removing all the\nboilerplate code in nl80211, and consequently\nhe didn\u0027t make use of it yet. Fix that.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3207390a8b58bfc1335750f91cf6783c48ca19ca",
      "tree": "cf8e7cde5d3bb4d0de5b6b451a4a47515630909a",
      "parents": [
        "b206b4ef062d83c0875a085672ed50e8c8b01521"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Oct 06 21:18:04 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 06 16:30:43 2010 -0400"
      },
      "message": "cfg80211: fix BSS double-unlinking\n\nWhen multiple interfaces are actively trying\nto associate with the same BSS, they may both\nfind that the BSS isn\u0027t there and then try to\nunlink it. This can cause errors since the\nunlinking code can\u0027t currently deal with items\nthat have already been unlinked.\n\nNormally this doesn\u0027t happen as most people\ndon\u0027t try to use multiple station interfaces\nthat associate at the same time too.\n\nFix this by using the list entry as a flag to\nsee if the item is still on a list.\n\nCc: stable@kernel.org\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nTested-by: Hun-Kyi Wynn \u003chkwynn@candelatech.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b206b4ef062d83c0875a085672ed50e8c8b01521",
      "tree": "f182cc272055f7b646bc62a5d37fb097a8fd07cc",
      "parents": [
        "09be251e9005ebd67e5eabcaad904edb7ecacc55"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Oct 06 18:34:12 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 06 16:30:43 2010 -0400"
      },
      "message": "nl80211/mac80211: Add retry and failed transmission count to station info\n\nThis information is already available in mac80211, we just need to export it\nvia cfg80211 and nl80211.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d537f5fdfcc9c57c1e3b9fb316a4bed2bf7597e7",
      "tree": "b81381e11aad48e7f068b061d037e5ac190a6211",
      "parents": [
        "e31b82136d1adc7a599b6e99d3321e5831841f5a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Oct 05 21:34:11 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 06 16:30:41 2010 -0400"
      },
      "message": "nl80211: fix error in generic netif_running check\n\nYikes! The error return keeps a netdev reference\nand the rdev mutex locked, fix that!\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.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": "6774889314ba507483e63c014fcb81adfc127202",
      "tree": "698dcdc2e1d26b3bd5595bba2a553b6107ee1a07",
      "parents": [
        "41265714810e20d91ddd7aaca30043b0f12190ad"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Oct 04 21:14:06 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:37:51 2010 -0400"
      },
      "message": "nl80211: reduce dumping boilerplate\n\nConsolidate boilerplate code needed for .dumpit\ncalls operating on netdevs.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "41265714810e20d91ddd7aaca30043b0f12190ad",
      "tree": "e69d25e8af99c0df71ffaa3746ab32d3e938d641",
      "parents": [
        "4c476991062a0a59523c2bf193f09087f469686a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Oct 04 21:14:05 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:37:51 2010 -0400"
      },
      "message": "nl80211: use generic check for netif_running\n\nUse a new flag that requires the netdev to be\nUP and use it to check instead of coding the\ncheck into all functions that require it.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4c476991062a0a59523c2bf193f09087f469686a",
      "tree": "d7342b806c285f7b0987386c3d5157230f858c43",
      "parents": [
        "ff4c92d85c6f2777d2067f8552e7fefb4d1754ae"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Oct 04 21:36:35 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:37:51 2010 -0400"
      },
      "message": "nl80211: use the new genetlink pre/post_doit hooks\n\nThis makes nl80211 use the new genetlink\npre_doit/post_doit hooks for locking and\nchecking the interface/wiphy index.\n\nThis significantly reduces the code size\nand the likelihood of locking errors.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e8347ebad2f1b15bddb6ed3ed5f767531eb52dc3",
      "tree": "02fa4846517ea56b06c0c6ad40d5870ca321153a",
      "parents": [
        "e51f3eff9a7e17ddd749799d4291f7e33e9883b9"
      ],
      "author": {
        "name": "Bill Jordan",
        "email": "bjordan@ig88.(none)",
        "time": "Fri Oct 01 13:54:28 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:24 2010 -0400"
      },
      "message": "cfg80211: patches to allow setting the WDS peer\n\nAdded a nl interface to set the peer bssid of a WDS interface.\n\nSigned-off-by: Bill Jordan \u003cbjordan@rajant.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2234362c427e2ef667595b9b81c0125003ac5607",
      "tree": "a3cef2721184bd61bc058b299957c0fd2119db68",
      "parents": [
        "b1ae1edf9e9872d3aa657cc34ae40c9aadfbc72f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 30 22:17:43 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:23 2010 -0400"
      },
      "message": "cfg80211: fix locking\n\nAdd missing unlocking of the wiphy in set_channel,\nand don\u0027t try to unlock a non-existing wiphy in\nset_cqm.\n\nCc: stable@kernel.org [2.6.35+]\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "663fcafd977f13e6483f7d4cf2ccdbc4fae81ed0",
      "tree": "b1c74fe389dff24d94c95eaeb3a52932f6671007",
      "parents": [
        "4bd530f3ab51c7d656bca29d927a50e5aa87175e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 30 21:06:09 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:23 2010 -0400"
      },
      "message": "cfg80211/mac80211: allow management frame TX in AP mode\n\nEnable management frame transmission and subscribing\nto management frames through nl80211 in both cfg80211\nand mac80211. Also update a few places that I forgot\nto update for P2P-client mode previously, and fix a\nsmall bug with non-action frames in this API.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "17e5a8082894a4b66cb69e7ec16074f0f01281e1",
      "tree": "604746f9c4aa8d77c41f1e22e9f553b5cdcfa823",
      "parents": [
        "0bda652300dff8136c9d889f1133462c7c7d332c"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Wed Sep 29 17:15:30 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:22 2010 -0400"
      },
      "message": "nl80211: allow drivers to indicate whether the survey data channel is in use\n\nSome user space applications only want to display survey data for\nthe operating channel, however there is no API to get that yet.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5a254ffe3ffdfa84fe076009bd8e88da412180d2",
      "tree": "31e2263807b442d507d98d7d5b1c53bf0b0702c2",
      "parents": [
        "b1a9338d5eaa9c38c326e20ce339247f4d585b62"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Mon Sep 27 09:07:26 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:21 2010 -0400"
      },
      "message": "wireless: Use first phyX name available when registering phy devices.\n\nChoose first available phyX name when creating phy devices.  This\nmeans that reloading a wifi driver will not cause a change in the\nname of it\u0027s phy device.\n\nAlso, allow users to rename a phy to any un-used name, including\nphy%d.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "41f4a6f71fe33faa7971c173c263fb431fe987fe",
      "tree": "fdc3e603162e3ad63f6ae4160f68eb803bb78d58",
      "parents": [
        "94d57c4cfaa43e29ca5fa5ff874048cfc67276f5",
        "1728943d83e9fd919e454332fe344944123b3c3a"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 01 11:12:36 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 01 11:12:36 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"
    },
    {
      "commit": "93b05238027420978d785569f8c1aa4a6867bc13",
      "tree": "8f391a9ea2438ed986d36b937fdbaf902e486187",
      "parents": [
        "dc4769f0bb949e312ad8d9b652047ff6709978c2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Sep 28 12:53:14 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 28 15:47:58 2010 -0400"
      },
      "message": "cfg80211: always set IBSS basic rates\n\nIBSS started from wireless extensions is currently\nmissing basic rate configuration, fix this by moving\nthe code to generate the default to the common code\nthat gets invoked for both nl80211 and wext.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "92e44948b2b3b2db8f39f17033f98ae2356156a5",
      "tree": "fd617ba0a5d939cbe03cfb579ee3e39c46fe2255",
      "parents": [
        "56af326830757f3e8a1742770d15dfd6e3c40e85"
      ],
      "author": {
        "name": "Teemu Paasikivi",
        "email": "ext-teemu.3.paasikivi@nokia.com",
        "time": "Fri Sep 24 07:23:55 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 27 15:57:47 2010 -0400"
      },
      "message": "nl80211: Fix exit from nl80211_set_power_save\n\nIf interface does not existk, when nl80211_set_power_save is called, (eg.\nmodule has been unloaded) it has been causing kernel panic. Added new\ngoto target to avoid crash if get_rdev_dev_by_info_ifindex does not\nreturn dev and rdev pointers.\n\nSigned-off-by: Teemu Paasikivi \u003cext-teemu.3.paasikivi@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e40051d134f7ee95c8c1f7a3471e84eafc9ab326",
      "tree": "88eb44e49a75721ae926665a2c42f08badac9d07",
      "parents": [
        "42099d7a3941d4aaf853caac92b3ae76149fc6e7",
        "2cc6d2bf3d6195fabcf0febc192c01f99519a8f3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 01:03:03 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 01:03:03 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/qlcnic/qlcnic_init.c\n\tnet/ipv4/ip_output.c\n"
    },
    {
      "commit": "29ad2facd47f8e37eab8b156e2c384fa181c8b4a",
      "tree": "25d4df186cd631810ff15a8e7d37cb6cdd806cdb",
      "parents": [
        "6e5c2b4e8addfaab8ef54dedaf7b607e1585c35b",
        "cd87a2d3a33d75a646f1aa1aa2ee5bf712d6f963"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 24 15:52:34 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 24 15:52:34 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tdrivers/net/wireless/ath/ath5k/base.c\n\tnet/mac80211/main.c\n"
    },
    {
      "commit": "a02cec2155fbea457eca8881870fd2de1a4c4c76",
      "tree": "cfbfc4b32bfe10f9cd803d46c31607d13f1858f5",
      "parents": [
        "6a08d194ee40806e0ccd5f36ed768e64cbfc979f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 22 20:43:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 23 14:33:39 2010 -0700"
      },
      "message": "net: return operator cleanup\n\nChange \"return (EXPR);\" to \"return EXPR;\"\n\nreturn is not a function, parentheses are not required.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b618f6f885579a6237e5bf4582fa6167972ddef4",
      "tree": "b11508178570b98ce9cb2d76ecebd046a6f0e77c",
      "parents": [
        "462fb2af9788a82a534f8184abfde31574e1cfa0",
        "6e5c2b4e8addfaab8ef54dedaf7b607e1585c35b"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 21 15:49:14 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 21 15:49:14 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\tarch/arm/mach-omap2/board-omap3pandora.c\n\tdrivers/net/wireless/ath/ath5k/base.c\n"
    },
    {
      "commit": "df6d02300f7c2fbd0fbe626d819c8e5237d72c62",
      "tree": "7f0eadba6ca9d0cc19b26dc82ec61bc8df4c9fe2",
      "parents": [
        "7acc7c683a747689aaaaad4fce1683fc3f85e552"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Sep 17 00:38:25 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 20 13:41:40 2010 -0400"
      },
      "message": "wext: fix potential private ioctl memory content leak\n\nWhen a driver doesn\u0027t fill the entire buffer, old\nheap contents may remain, and if it also doesn\u0027t\nupdate the length properly, this old heap content\nwill be copied back to userspace.\n\nIt is very unlikely that this happens in any of\nthe drivers using private ioctls since it would\nshow up as junk being reported by iwpriv, but it\nseems better to be safe here, so use kzalloc.\n\nReported-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "074ac8df9f93f2a35a356d92fd7f16cd846f0a03",
      "tree": "b6a77291a1eea9a11862ad78e965c1df29e62d43",
      "parents": [
        "f799a301abf77b87133d624164d28dc2b521e99d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 16 14:58:22 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 16 15:46:06 2010 -0400"
      },
      "message": "cfg80211/nl80211: introduce p2p device types\n\nThis adds P2P-STA and P2P-GO as device types so\nwe can distinguish between those and normal STA\nor AP (respectively) type interfaces.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "46a5ebaf02d69e26ee0f47a0b8d2d9bc619240d4",
      "tree": "77bc5ceee61ce125c4b608d7b979bf8d033ffdcc",
      "parents": [
        "f5521b13880f4f4f612e1d20dd4f565122d16e04"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Sep 15 13:28:15 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 16 15:46:00 2010 -0400"
      },
      "message": "cfg80211/mac80211: use lockdep_assert_held\n\nInstead of using a WARN_ON(!mutex_is_locked())\nuse lockdep_assert_held() which compiles away\ncompletely when lockdep isn\u0027t enabled, and\nalso is a more accurate assertion since it\nchecks that the current thread is holding the\nmutex.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9c376639297d3dd82d40e54c9cdca8da9dfc22f1",
      "tree": "4efdf23817f1ab3d90783f0f6335109537f174fd",
      "parents": [
        "78381c41776572cb642a485219c5d7651f198fbd"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Aug 20 15:13:59 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 16 15:19:44 2010 -0400"
      },
      "message": "include/net/cfg80211.h: wiphy_\u003clevel\u003e messages use dev_printk\n\nThe output becomes:\n\n[   41.261941] ieee80211 phy0: Selected rate control algorithm \u0027minstrel_ht\u0027\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2b18ab36cf7e956fb5b5ee12847e94fc66d496f4",
      "tree": "3abdb07b9caa17e902f43cec478a42e8d9ab4990",
      "parents": [
        "dc880abef75e7c62c9048171f5112500f36a9244"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jul 06 19:05:31 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Sep 16 10:33:08 2010 +0200"
      },
      "message": "net/wireless: use generic_file_llseek in debugfs\n\nThe default llseek operation is changing from\ndefault_llseek to no_llseek, so all code relying on\nthe current behaviour needs to make that explicit.\n\nThe wireless driver infrastructure and some of the drivers\nmake use of generated debugfs files, so they cannot\nbe converted by our script that automatically determines\nthe right operation.\n\nAll these files use debugfs and they typically rely\non simple_read_from_buffer, so the best llseek operation\nhere is generic_file_llseek.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: linux-wireless@vger.kernel.org\nCc: netdev@vger.kernel.org\n"
    },
    {
      "commit": "a1e567c83f541432e687142570215b75bebb1338",
      "tree": "5b01247fedf95af42a502aceb28fc4ef6d2541db",
      "parents": [
        "942623166df3256821e8451273bc07737745e3cb"
      ],
      "author": {
        "name": "Bill Jordan",
        "email": "bjordan@rajant.com",
        "time": "Fri Sep 10 11:22:32 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 14 16:08:03 2010 -0400"
      },
      "message": "nl80211: Uninitialized variable\n\nThere is a path in nl80211_set_wiphy where result is tested but\nuninitialized.\n\nI am hitting this path when I attempt:\n\nsh# iw dev wlan0 set channel 10\ncommand failed: Unknown error 1069727332 (-1069727332)\n\nSigned-off-by: William Jordan \u003cbjordan@rajant.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "942623166df3256821e8451273bc07737745e3cb",
      "tree": "a60dca14153c7d56ccf8a04db95b951cf4a2bfed",
      "parents": [
        "bbce80e1101526f7a616e75a0d77b57f4062c62d"
      ],
      "author": {
        "name": "Nikitas Angelinas",
        "email": "nikitasangelinas@gmail.com",
        "time": "Wed Sep 08 22:29:53 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 14 16:05:57 2010 -0400"
      },
      "message": "net/wireless: use ARRAY_SIZE macro in radiotap.c\n\nReplace sizeof(rtap_namespace_sizes) / sizeof(rtap_namespace_sizes[0])\nwith ARRAY_SIZE(rtap_namespace_sizes) in net/wireless/radiotap.c\n\nSigned-off-by: Nikitas Angelinas \u003cnikitasangelinas@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e548833df83c3554229eff0672900bfe958b45fd",
      "tree": "85efc4a76dc356593d6d394776aeb845dc580fb6",
      "parents": [
        "cbd9da7be869f676afc204e1a664163778c770bd",
        "053d8f6622701f849fda2ca2c9ae596c13599ba9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/main.c\n"
    },
    {
      "commit": "c3d34d5d9654ec9c2510f9341bfb1030b8f029d1",
      "tree": "1a5db6df49f9b55aa16b0359088dc0536387b3dd",
      "parents": [
        "42da2f948d949efd0111309f5827bf0298bcc9a4"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 30 17:36:40 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 31 14:48:47 2010 -0400"
      },
      "message": "wireless: register wiphy rfkill w/o holding cfg80211_mutex\n\nOtherwise lockdep complains...\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d17311\n\n[ INFO: possible circular locking dependency detected ]\n2.6.36-rc2-git4 #12\n-------------------------------------------------------\nkworker/0:3/3630 is trying to acquire lock:\n (rtnl_mutex){+.+.+.}, at: [\u003cffffffff813396c7\u003e] rtnl_lock+0x12/0x14\n\nbut task is already holding lock:\n (rfkill_global_mutex){+.+.+.}, at: [\u003cffffffffa014b129\u003e]\nrfkill_switch_all+0x24/0x49 [rfkill]\n\nwhich lock already depends on the new lock.\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #2 (rfkill_global_mutex){+.+.+.}:\n       [\u003cffffffff81079ad7\u003e] lock_acquire+0x120/0x15b\n       [\u003cffffffff813ae869\u003e] __mutex_lock_common+0x54/0x52e\n       [\u003cffffffff813aede9\u003e] mutex_lock_nested+0x34/0x39\n       [\u003cffffffffa014b4ab\u003e] rfkill_register+0x2b/0x29c [rfkill]\n       [\u003cffffffffa0185ba0\u003e] wiphy_register+0x1ae/0x270 [cfg80211]\n       [\u003cffffffffa0206f01\u003e] ieee80211_register_hw+0x1b4/0x3cf [mac80211]\n       [\u003cffffffffa0292e98\u003e] iwl_ucode_callback+0x9e9/0xae3 [iwlagn]\n       [\u003cffffffff812d3e9d\u003e] request_firmware_work_func+0x54/0x6f\n       [\u003cffffffff81065d15\u003e] kthread+0x8c/0x94\n       [\u003cffffffff8100ac24\u003e] kernel_thread_helper+0x4/0x10\n\n-\u003e #1 (cfg80211_mutex){+.+.+.}:\n       [\u003cffffffff81079ad7\u003e] lock_acquire+0x120/0x15b\n       [\u003cffffffff813ae869\u003e] __mutex_lock_common+0x54/0x52e\n       [\u003cffffffff813aede9\u003e] mutex_lock_nested+0x34/0x39\n       [\u003cffffffffa018605e\u003e] cfg80211_get_dev_from_ifindex+0x1b/0x7c [cfg80211]\n       [\u003cffffffffa0189f36\u003e] cfg80211_wext_giwscan+0x58/0x990 [cfg80211]\n       [\u003cffffffff8139a3ce\u003e] ioctl_standard_iw_point+0x1a8/0x272\n       [\u003cffffffff8139a529\u003e] ioctl_standard_call+0x91/0xa7\n       [\u003cffffffff8139a687\u003e] T.723+0xbd/0x12c\n       [\u003cffffffff8139a727\u003e] wext_handle_ioctl+0x31/0x6d\n       [\u003cffffffff8133014e\u003e] dev_ioctl+0x63d/0x67a\n       [\u003cffffffff8131afd9\u003e] sock_ioctl+0x48/0x21d\n       [\u003cffffffff81102abd\u003e] do_vfs_ioctl+0x4ba/0x509\n       [\u003cffffffff81102b5d\u003e] sys_ioctl+0x51/0x74\n       [\u003cffffffff81009e02\u003e] system_call_fastpath+0x16/0x1b\n\n-\u003e #0 (rtnl_mutex){+.+.+.}:\n       [\u003cffffffff810796b0\u003e] __lock_acquire+0xa93/0xd9a\n       [\u003cffffffff81079ad7\u003e] lock_acquire+0x120/0x15b\n       [\u003cffffffff813ae869\u003e] __mutex_lock_common+0x54/0x52e\n       [\u003cffffffff813aede9\u003e] mutex_lock_nested+0x34/0x39\n       [\u003cffffffff813396c7\u003e] rtnl_lock+0x12/0x14\n       [\u003cffffffffa0185cb5\u003e] cfg80211_rfkill_set_block+0x1a/0x7b [cfg80211]\n       [\u003cffffffffa014aed0\u003e] rfkill_set_block+0x80/0xd5 [rfkill]\n       [\u003cffffffffa014b07e\u003e] __rfkill_switch_all+0x3f/0x6f [rfkill]\n       [\u003cffffffffa014b13d\u003e] rfkill_switch_all+0x38/0x49 [rfkill]\n       [\u003cffffffffa014b821\u003e] rfkill_op_handler+0x105/0x136 [rfkill]\n       [\u003cffffffff81060708\u003e] process_one_work+0x248/0x403\n       [\u003cffffffff81062620\u003e] worker_thread+0x139/0x214\n       [\u003cffffffff81065d15\u003e] kthread+0x8c/0x94\n       [\u003cffffffff8100ac24\u003e] kernel_thread_helper+0x4/0x10\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\n"
    },
    {
      "commit": "3653910714a4a9b19aadb202c24f7b1ae61d3556",
      "tree": "9f26e90bfa6d1d905dbdab89b80c432f4e2e6a76",
      "parents": [
        "9df86e2e702c6d5547aced7f241addd2d698bb11"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sat Aug 28 17:41:06 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 31 14:20:40 2010 -0400"
      },
      "message": "net/wireless: Remove double test\n\nThe same expression is tested twice and the result is the same each time.\n\nThe sematic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@expression@\nexpression E;\n@@\n\n(\n* E\n  || ... || E\n|\n* E\n  \u0026\u0026 ... \u0026\u0026 E\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\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": "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": "7d64b7cc1fc33bab24567903a93f699d11649c0b",
      "tree": "b87c97377a413b1c8d562d135903ce128e7b4a65",
      "parents": [
        "b49d09c5bf9a3261ae711ac3bb91e22c172db428"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 14:26:51 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:27:07 2010 -0400"
      },
      "message": "cfg80211: allow vendor specific cipher suites\n\ncfg80211 currently rejects all cipher suites it\ndoesn\u0027t know about for key length checking\npurposes. This can lead to inconsistencies when\na driver advertises an algorithm that cfg80211\ndoesn\u0027t know about. Remove this rejection so\ndrivers can specify any algorithm they like.\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": "74b70a4e38d542843fccfb367dce1ac861cc3890",
      "tree": "8bfd236b1daede68637c6238c7c9cb813dfa82f2",
      "parents": [
        "f8d8b7a13d3d61f99bf3dc5c9650f87f9818d7a7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Aug 24 12:15:53 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:34:56 2010 -0400"
      },
      "message": "nl80211: fix missing nesting\n\ncommit 95a6ccbb46c70cff376684c752831c014c87029d\nAuthor: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nDate:   Thu Aug 12 15:38:38 2010 +0200\n\n    cfg80211/mac80211: extensible frame processing\n\nintroduced a netlink bug that caused parsing errors\nin userspace because it forgot to close a nesting,\nwhich would advertise a nesting length of zero to\nuserspace, which then completely threw off parsing\nand led to\n\n\tIllegal nla-\u003enla_type \u003d\u003d 0\n\nbeing printed by libnl.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2e161f78e5f63a7f9fd25a766bb7f816a01eb14a",
      "tree": "befd44feeb1f47da1f41e6fc310a223ad67030ff",
      "parents": [
        "ac4c977d16d843f12901595c91773dddb65768a9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Aug 12 15:38:38 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 24 16:27:56 2010 -0400"
      },
      "message": "cfg80211/mac80211: extensible frame processing\n\nAllow userspace to register for more than just\naction frames by giving the frame subtype, and\nmake it possible to use this in various modes\nas well.\n\nWith some tweaks and some added functionality\nthis will, in the future, also be usable in AP\nmode and be able to replace the cooked monitor\ninterface currently used in that case.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "633adf1ad1c92c02bd3f10bbd73737a969179378",
      "tree": "3f23d54719a1742d9326d61b6820147185cdb60c",
      "parents": [
        "b68b3c4d92ff2440414137763477648e6db6c96f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Aug 12 14:49:58 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 24 16:27:54 2010 -0400"
      },
      "message": "cfg80211: mark ieee80211_hdrlen const\n\nThis function analyses only its single, value-passed\nargument, and has no side effects. Thus it can be\nconst, which makes mac80211 smaller, for example:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n 362518\t  16720\t    884\t 380122\t  5ccda\tmac80211.ko (before)\n 362358\t  16720\t    884\t 379962\t  5cc3a\tmac80211.ko (after)\n\na 160 byte saving in text size, and an optimisation\nbecause the function won\u0027t be called as often.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "afea0b7af7a0c070da8b2029d721abc930e5f96f",
      "tree": "df0879b5404880f74440e3c381215152d7c9794a",
      "parents": [
        "5daa8a8e691e28c6c725e7e91319b160b555c615"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Aug 10 09:46:42 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 16 16:45:22 2010 -0400"
      },
      "message": "cfg80211: check if WEP is available for shared key auth\n\nWhen shared key auth is requested, cfg80211\nshould verify that the device is capable of\nWEP crypto which is required.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "04600794958f1833f5571c6cde40f260ab557f55",
      "tree": "e3e816cb3e99d40c18bffc618cf42dfa11d25c6e",
      "parents": [
        "d1f5b7a34aa5ff703c4966ea2652d4212ac75940"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Aug 05 17:45:15 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 16 15:26:40 2010 -0400"
      },
      "message": "cfg80211: support sysfs namespaces\n\nEnable using network namespaces with\nwireless devices even when sysfs is\nenabled using the same infrastructure\nthat was built for netdevs.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ],
  "next": "3f3b6a8d90b6e762e2bb83e6a9e86d9534b56cdc"
}
