)]}'
{
  "log": [
    {
      "commit": "c21dbf9214bce129f92e1af05552553ff0e318ed",
      "tree": "23f57010f34fc26ecf1d349a118f977afea418e4",
      "parents": [
        "18c949070b57d2cbcc0b25c5cfa003ece204e468"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jan 26 14:15:46 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 26 11:53:20 2010 -0500"
      },
      "message": "cfg80211: export cfg80211_find_ie\n\nThis new function (previously a static function\ncalled just \"find_ie\" can be used to find a\nspecific IE in a buffer of IEs.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "34a6eddbabd704b3c7dae9362234552267573be2",
      "tree": "661184452aa597e4f1034561b3ec9b267ad2e196",
      "parents": [
        "80a112ffe8dbada25f3780ecc4beebf23451d755"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Wed Jan 06 16:19:24 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:51:28 2010 -0500"
      },
      "message": "cfg80211: Store IEs from both Beacon and Probe Response frames\n\nStore information elements from Beacon and Probe Response frames in\nseparate buffers to allow both sets to be made available through\nnl80211. This allows user space applications to get access to IEs from\nBeacon frames even if we have received Probe Response frames from the\nBSS. Previously, the IEs from Probe Response frames would have\noverridden the IEs from Beacon frames.\n\nThis feature is of somewhat limited use since most protocols include\nthe same (or extended) information in Probe Response frames. However,\nthere are couple of exceptions where the IEs from Beacon frames could\nbe of some use: TIM IE is only included in Beacon frames (and it would\nbe needed to figure out the DTIM period used in the BSS) and at least\nsome implementations of Wireless Provisioning Services seem to include\nthe full IE only in Beacon frames).\n\nThe new BSS attribute for scan results is added to allow both the IE\nsets to be delivered. This is done in a way that maintains the\npreviously used behavior for applications that are not aware of the\nnew NL80211_BSS_BEACON_IES attribute.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "65486c8b30498dd274eea2c542696f22b63fe5b8",
      "tree": "4bcbeb24ce1655c275f2e1780cacefaf2b306781",
      "parents": [
        "befabac2d8e4925b97c5eebc78ecc4b2079fd9dd"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 15:33:35 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:19:58 2009 -0500"
      },
      "message": "cfg80211: fix error path in cfg80211_wext_siwscan\n\nIf there\u0027s an invalid channel or SSID, the code leaks\nthe scan request. Always free the scan request, unless\nit was successfully given to the driver.\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8f56874bd7e8bee73ed6a1cf80dcec2753616262",
      "tree": "aebd15dea662ef5efd89402b8fd92fec540a98eb",
      "parents": [
        "47e1c323069bcef0acb8a2b48921688573f5ca63",
        "159bcfeb9123c91f0dc885a42b6387a98192f896"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 04 13:25:15 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 04 13:25:15 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "f64f9e719261a87818dd192a3a2352e5b20fbd0f",
      "tree": "b2d5cbaef3df615295f6061d8c4d6a912690556c",
      "parents": [
        "152b6a62aea2d43359dd37004e9c218bf7bdeb3b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "message": "net: Move \u0026\u0026 and || to end of previous line\n\nNot including net/atm/\n\nCompiled tested x86 allyesconfig only\nAdded a \u003e 80 column line or two, which I ignored.\nExisting checkpatch plaints willfully, cheerfully ignored.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e60d7443e00a72a2c056950cdaab79c7b077f3d4",
      "tree": "0d2376434a0f44ac2b30bba0af3cdcb8e5421c90",
      "parents": [
        "ece1e3c61e59ba184150e5aff57bbc6355613e3e"
      ],
      "author": {
        "name": "Alban Browaeys",
        "email": "prahal@yahoo.com",
        "time": "Wed Nov 25 15:13:00 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Sat Nov 28 15:05:00 2009 -0500"
      },
      "message": "wireless : use a dedicated workqueue for cfg80211.\n\nThis patch moves the works cleanup, scan and events to a cfg80211\ndedicated workqueue.\n\nPlatform driver like eeepc-laptop ought to use works to rfkill (as\nnew rfkill does lock in rfkill_unregister and the platform driver is\ncalled from rfkill_switch_all which also lock the same mutex).\nThis raise a new issue in itself that the work scheduled by the platform\ndriver to the global worqueue calls wiphy_unregister which flush_work\nscan and event works (which thus flush works on the global workqueue inside\na work on the global workqueue) and also put on hold the  wdev_cleanup_work\n (which prevents the dev_put on netdev thus indefinite Usage count error on\nwifi device).\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Alban Browaeys \u003cprahal@yahoo.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "76aa5e704c80fb7ca8bd3d05593d9a28298c92cd",
      "tree": "55f00554edb8511cdb9783cc061a142a4b4732c6",
      "parents": [
        "136cfa28615ccce0f9374811480e0b81c4191ea5"
      ],
      "author": {
        "name": "Rui Paulo",
        "email": "rpaulo@gmail.com",
        "time": "Wed Nov 18 18:22:59 2009 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:28 2009 -0500"
      },
      "message": "mac80211: update cfg80211 scan result code for the updated mesh conf IE\n\nSigned-off-by: Rui Paulo \u003crpaulo@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "136cfa28615ccce0f9374811480e0b81c4191ea5",
      "tree": "9a07d6f316d19f85fd989b17e75d931f907c7d1a",
      "parents": [
        "fe7a5d5c1ad659bf0ec7dc171e122aeefa16ac25"
      ],
      "author": {
        "name": "Rui Paulo",
        "email": "rpaulo@gmail.com",
        "time": "Wed Nov 18 18:40:00 2009 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:27 2009 -0500"
      },
      "message": "mac80211: use a structure to hold the mesh config information element\n\nSigned-off-by: Rui Paulo \u003crpaulo@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "584991dccfd347cd2e1675ab262998f6c335d3c0",
      "tree": "0cb52e1f06e587561f0e06e1beae7de7faaf5528",
      "parents": [
        "6c085227bd7168fd84976479218f81bf35b5acd7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Nov 02 13:32:03 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 02 15:43:29 2009 -0500"
      },
      "message": "cfg80211: validate scan channels\n\nCurrently it is possible to request a scan on only\ndisabled channels, which could be problematic for\nsome drivers. Reject such scans, and also ignore\ndisabled channels that are given. This resuls in\nthe scan begin/end event only including channels\nthat are actually used.\n\nThis makes the mac80211 check for disabled channels\nsuperfluous. At the same time, remove the no-IBSS\ncheck from mac80211 -- nothing says that we should\nnot find any networks on channels that cannot be\nused for an IBSS, even when operating in IBSS mode.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3d23e349d807177eaf519d444677cee86b1a04cf",
      "tree": "e800dee247598e59185ddd2dd47d2ac6fe090b9c",
      "parents": [
        "bc974f4a230756faf4f69114f271de2e678b363b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Sep 29 23:27:28 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 07 16:39:43 2009 -0400"
      },
      "message": "wext: refactor\n\nRefactor wext to\n * split out iwpriv handling\n * split out iwspy handling\n * split out procfs support\n * allow cfg80211 to have wireless extensions compat code\n   w/o CONFIG_WIRELESS_EXT\n\nAfter this, drivers need to\n - select WIRELESS_EXT\t- for wext support\n - select WEXT_PRIV\t- for iwpriv support\n - select WEXT_SPY\t- for iwspy support\n\nexcept cfg80211 -- which gets new hooks in wext-core.c\nand can then get wext handlers without CONFIG_WIRELESS_EXT.\n\nWireless extensions procfs support is auto-selected\nbased on PROC_FS and anything that requires the wext core\n(i.e. WIRELESS_EXT or CFG80211_WEXT).\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8862dc5f25153a3c565a097220ed3de14ed72dfd",
      "tree": "fa2afcc9c6ae9bf6388aaab65ddc8dca41f089cf",
      "parents": [
        "a4e7b730f1c8c9179def7033a024183c58cf2538"
      ],
      "author": {
        "name": "Holger Schurig",
        "email": "hs4233@mail.mn-solutions.de",
        "time": "Fri Sep 11 10:13:55 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 14 14:36:04 2009 -0400"
      },
      "message": "cfg80211: minimal error handling for wext-compat freq scanning\n\nSigned-off-by: Holger Schurig \u003chs4233@mail.mn-solutions.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a4e7b730f1c8c9179def7033a024183c58cf2538",
      "tree": "b81bee6f9c4a69b5b9c81a2c03fe8284a6662daf",
      "parents": [
        "d37b7da39dbac8197e41a5f9c8162730f6b36d8b"
      ],
      "author": {
        "name": "Holger Schurig",
        "email": "h.schurig@mn-solutions.de",
        "time": "Fri Sep 11 10:13:53 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 14 14:36:04 2009 -0400"
      },
      "message": "cfg80211: use cfg80211_wext_freq() for freq conversion\n\nWEXT\u0027s \"struct iw_freq\" can also be used to handle a channel. This patch now\nuses cfg80211_wext_freq() instead of hand-converting the frequency. That\nallows user-space to specify channels as well, like with SIOCSIWFREQ.\n\nSigned-off-by: Holger Schurig \u003chs4233@mail.mn-solutions.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b2e3abdc708f8c0eff194af25362fdb239abe241",
      "tree": "a17ba8b9bab9078d73b7c452d3fa345d54a4908d",
      "parents": [
        "8c8f9ba7051b017e44124666b41c1dc70333a77c"
      ],
      "author": {
        "name": "Holger Schurig",
        "email": "hs4233@mail.mn-solutions.de",
        "time": "Wed Sep 09 13:09:54 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 09 11:25:27 2009 -0400"
      },
      "message": "cfg80211: allow scanning on specified frequencies when using wext-compatibility\n\nHandles the case when SIOCSIWSCAN specified iw_scan_req.num_channels and\niw_scan_req.channels[].\n\nSigned-off-by: Holger Schurig \u003chs4233@mail.mn-solutions.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fcc6cb0c13555e78c2d47257b6d1b5e59b0c419a",
      "tree": "b0fbc8129792ff3a0aa01bd437cfd1d957b8c076",
      "parents": [
        "abd8ea22c23c917f56fefcda8a4468fbc2247d7f"
      ],
      "author": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Tue Sep 01 18:12:11 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 02 15:29:04 2009 -0400"
      },
      "message": "cfg80211: fix looping soft lockup in find_ie()\n\nThe find_ie() function uses a size_t for the len parameter, and\ndirectly uses len as a loop variable.  If any received packets\nare malformed, it is possible for the decrease of len to overflow,\nand since the result is unsigned, the loop will not terminate.\nChange it to a signed int so the loop conditional works for\nnegative values.\n\nThis fixes the following soft lockup:\n\n[38573.102007] BUG: soft lockup - CPU#0 stuck for 61s! [phy0:2230]\n[38573.102007] Modules linked in: aes_i586 aes_generic fuse af_packet ipt_REJECT xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_state iptable_filter ip_tables x_tables acpi_cpufreq binfmt_misc dm_mirror dm_region_hash dm_log dm_multipath dm_mod kvm_intel kvm uinput i915 arc4 ecb drm snd_hda_codec_idt ath5k snd_hda_intel hid_apple mac80211 usbhid appletouch snd_hda_codec snd_pcm ath cfg80211 snd_timer i2c_algo_bit ohci1394 video snd processor ieee1394 rfkill ehci_hcd sg sky2 backlight snd_page_alloc uhci_hcd joydev output ac thermal button battery sr_mod applesmc cdrom input_polldev evdev unix [last unloaded: scsi_wait_scan]\n[38573.102007] irq event stamp: 2547724535\n[38573.102007] hardirqs last  enabled at (2547724534): [\u003cc1002ffc\u003e] restore_all_notrace+0x0/0x18\n[38573.102007] hardirqs last disabled at (2547724535): [\u003cc10038f4\u003e] apic_timer_interrupt+0x28/0x34\n[38573.102007] softirqs last  enabled at (92950144): [\u003cc103ab48\u003e] __do_softirq+0x108/0x210\n[38573.102007] softirqs last disabled at (92950274): [\u003cc1348e74\u003e] _spin_lock_bh+0x14/0x80\n[38573.102007]\n[38573.102007] Pid: 2230, comm: phy0 Tainted: G        W  (2.6.31-rc7-wl #8) MacBook1,1\n[38573.102007] EIP: 0060:[\u003cf8ea2d50\u003e] EFLAGS: 00010292 CPU: 0\n[38573.102007] EIP is at cmp_ies+0x30/0x180 [cfg80211]\n[38573.102007] EAX: 00000082 EBX: 00000000 ECX: ffffffc1 EDX: d8efd014\n[38573.102007] ESI: ffffff7c EDI: 0000004d EBP: eee2dc50 ESP: eee2dc3c\n[38573.102007]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068\n[38573.102007] CR0: 8005003b CR2: d8efd014 CR3: 01694000 CR4: 000026d0\n[38573.102007] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000\n[38573.102007] DR6: ffff0ff0 DR7: 00000400\n[38573.102007] Call Trace:\n[38573.102007]  [\u003cf8ea2f8d\u003e] cmp_bss+0xed/0x100 [cfg80211]\n[38573.102007]  [\u003cf8ea33e4\u003e] cfg80211_bss_update+0x84/0x410 [cfg80211]\n[38573.102007]  [\u003cf8ea3884\u003e] cfg80211_inform_bss_frame+0x114/0x180 [cfg80211]\n[38573.102007]  [\u003cf97255ff\u003e] ieee80211_bss_info_update+0x4f/0x180 [mac80211]\n[38573.102007]  [\u003cf972b118\u003e] ieee80211_rx_bss_info+0x88/0xf0 [mac80211]\n[38573.102007]  [\u003cf9739297\u003e] ? ieee802_11_parse_elems+0x27/0x30 [mac80211]\n[38573.102007]  [\u003cf972b224\u003e] ieee80211_rx_mgmt_probe_resp+0xa4/0x1c0 [mac80211]\n[38573.102007]  [\u003cf972bc59\u003e] ieee80211_sta_rx_queued_mgmt+0x919/0xc50 [mac80211]\n[38573.102007]  [\u003cc1009707\u003e] ? sched_clock+0x27/0xa0\n[38573.102007]  [\u003cc1009707\u003e] ? sched_clock+0x27/0xa0\n[38573.102007]  [\u003cc105ffd0\u003e] ? mark_held_locks+0x60/0x80\n[38573.102007]  [\u003cc1348be5\u003e] ? _spin_unlock_irqrestore+0x55/0x70\n[38573.102007]  [\u003cc134baa5\u003e] ? sub_preempt_count+0x85/0xc0\n[38573.102007]  [\u003cc1348bce\u003e] ? _spin_unlock_irqrestore+0x3e/0x70\n[38573.102007]  [\u003cc12c1c0f\u003e] ? skb_dequeue+0x4f/0x70\n[38573.102007]  [\u003cf972c021\u003e] ieee80211_sta_work+0x91/0xb80 [mac80211]\n[38573.102007]  [\u003cc1009707\u003e] ? sched_clock+0x27/0xa0\n[38573.102007]  [\u003cc134baa5\u003e] ? sub_preempt_count+0x85/0xc0\n[38573.102007]  [\u003cc10479af\u003e] worker_thread+0x18f/0x320\n[38573.102007]  [\u003cc104794e\u003e] ? worker_thread+0x12e/0x320\n[38573.102007]  [\u003cc1348be5\u003e] ? _spin_unlock_irqrestore+0x55/0x70\n[38573.102007]  [\u003cf972bf90\u003e] ? ieee80211_sta_work+0x0/0xb80 [mac80211]\n[38573.102007]  [\u003cc104cbb0\u003e] ? autoremove_wake_function+0x0/0x50\n[38573.102007]  [\u003cc1047820\u003e] ? worker_thread+0x0/0x320\n[38573.102007]  [\u003cc104c854\u003e] kthread+0x84/0x90\n[38573.102007]  [\u003cc104c7d0\u003e] ? kthread+0x0/0x90\n[38573.102007]  [\u003cc1003ab7\u003e] kernel_thread_helper+0x7/0x10\n\nCc: stable@kernel.org\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "01a0ac417ce9b4f1216a266f2fd454cffefc5aee",
      "tree": "3bc13cf46eebc77a44e65b16132d26f71b131f50",
      "parents": [
        "40ba60ddfeff8ef42fb33c0bdacfbb5f83e96b32"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Aug 20 21:36:16 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 28 14:40:25 2009 -0400"
      },
      "message": "cfg80211: check lost scans later, fix bug\n\nWhen we lose a scan, cfg80211 tries to clean up after\nthe driver. However, it currently does this too early,\nit does this in GOING_DOWN already instead of DOWN, so\nit may happen with mac80211. Besides fixing this, also\nmake it more robust by leaking the scan request so if\nthe driver later actually finishes the scan, it won\u0027t\ncrash. Also check in ___cfg80211_scan_done whether a\nscan request is still pending and exit if not.\n\nReported-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nTested-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "36e6fea84905512ea776707e82b5b435220efc17",
      "tree": "db588e7dbbfcf0fa47f4954344a03961e960c898",
      "parents": [
        "70bdb6b275d789ddf05c3a858e6b57715539394b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Aug 12 22:21:21 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:14:07 2009 -0400"
      },
      "message": "cfg80211: check for and abort dangling scan requests\n\nIf you trigger a scan request on an interface and then\ntake it down, or rmmod the module or unplug the device\nthe driver might \"forget\" to cancel the scan request.\nThat is a bug in the driver, but the current behaviour\nis that we just hang endlessly waiting for the netdev\nrefcount to become 0 which it never will. To improve\nrobustness, check for this situation in cfg80211, warn\nabout it and clean up behind the driver. I don\u0027t just\nclean up silently because it\u0027s likely that the driver\nalso has some internal state it has now leaked.\n\nAdditionally, this fixes a locking bug, clearing the\nscan_req pointer should be done under the rdev lock.\n\nFinally, we also need to _wait_ for the scan work and\nnot just abort it since it might be pending and wanting\nto do a cleanup.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5ba63533bbf653631faab60f6988506160ec6ba4",
      "tree": "8d9ef2670cd3b2f50fe3581820fba5aca365634d",
      "parents": [
        "ad5351db89681515681c5d5659ddf4c69e3cc6f5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Aug 07 17:54:07 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:13:44 2009 -0400"
      },
      "message": "cfg80211: fix alignment problem in scan request\n\nThe memory layout for scan requests was rather wrong,\nwe put the scan SSIDs before the channels which could\nlead to the channel pointers being unaligned in memory.\nIt turns out that using a pointer to the channel array\nisn\u0027t necessary anyway since we can embed a zero-length\narray into the struct.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f5ea9120be2e5d5c846243416cfdce01d02f5836",
      "tree": "cade27e47a90dde79a523598b96a2ebb50770d2f",
      "parents": [
        "f401a6f7ede753e56b84025e7d2db0d5ef560ce6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Aug 07 16:17:38 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:13:43 2009 -0400"
      },
      "message": "nl80211: add generation number to all dumps\n\nIn order for userspace to be able to figure out whether\nit obtained a consistent snapshot of data or not when\nusing netlink dumps, we need to have a generation number\nin each dump message that indicates whether the list has\nchanged or not -- its value is arbitrary.\n\nThis patch adds such a number to all dumps, this needs\nsome mac80211 involvement to keep track of a generation\nnumber to start with when adding/removing mesh paths or\nstations.\n\nThe wiphy and netdev lists can be fully handled within\ncfg80211, of course, but generation numbers need to be\nstored there as well.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "aa11d958d1a6572eda08214d7c6a735804fe48a5",
      "tree": "d025b05270ad1e010660d17eeadc6ac3c1abbd7d",
      "parents": [
        "07f6642ee9418e962e54cbc07471cfe2e559c568",
        "9799218ae36910af50f002a5db1802d576fffb43"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 12 17:44:53 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 12 17:44:53 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tarch/microblaze/include/asm/socket.h\n"
    },
    {
      "commit": "cd3468bad96c00b5a512f551674f36776129520e",
      "tree": "b9b705149112b1403d5a23f09ae24a7eac515827",
      "parents": [
        "eb4ad826419ab5b1260bc1625249114767d36bea"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 29 22:07:44 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 03 16:31:21 2009 -0400"
      },
      "message": "cfg80211: add two missing NULL pointer checks\n\nThese pointers can be NULL, the is_mesh() case isn\u0027t\never hit in the current kernel, but cmp_ies() can be\nhit under certain conditions.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: stable@kernel.org [2.6.29, 2.6.30]\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a9a11622c5c742c115fad371c0397ae86dd3bb67",
      "tree": "747d04a77d4411886befb5701322fa06da90a0fb",
      "parents": [
        "1f9298f96082692bdfe73af6fc2167f627f21647"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Jul 27 12:01:53 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 29 15:46:20 2009 -0400"
      },
      "message": "cfg80211: self-contained wext handling where possible\n\nFinally! This is what you\u0027ve all been waiting for!\n\nThis patch makes cfg80211 take care of wext emulation\n_completely_ by itself, drivers that don\u0027t need things\ncfg80211 doesn\u0027t do yet don\u0027t even need to be aware of\nwireless extensions.\nThis means we can also clean up mac80211\u0027s and iwm\u0027s\nKconfig and make it possible to build them w/o wext\nnow!\n\n\t\tRIP wext.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "09f97e0fc4ae81f151bd76b97e28d2af429c1427",
      "tree": "71ed205db6791f574591eca0e672611f31e00391",
      "parents": [
        "977923b00c79185c11b4b47664f5ffa4c3820438"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Jul 23 12:14:29 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 27 15:24:17 2009 -0400"
      },
      "message": "cfg80211: increase scan result expire time\n\nUsing background scanning in mac80211 the time a scan needs to\nfinish can exceed 10 seconds. Hence, increase the scan results\nexpire time to 15 seconds which should be sufficient.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "463d018323851a608eef52a9427b0585005c647f",
      "tree": "b5ad2ee6115e6b780c264022cbc20b36d22fe80c",
      "parents": [
        "5061b0c2b9066de426fbc63f1278d2210e789412"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 14 00:33:35 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 27 15:24:07 2009 -0400"
      },
      "message": "cfg80211: make aware of net namespaces\n\nIn order to make cfg80211/nl80211 aware of network namespaces,\nwe have to do the following things:\n\n * del_virtual_intf method takes an interface index rather\n   than a netdev pointer - simply change this\n\n * nl80211 uses init_net a lot, it changes to use the sender\u0027s\n   network namespace\n\n * scan requests use the interface index, hold a netdev pointer\n   and reference instead\n\n * we want a wiphy and its associated virtual interfaces to be\n   in one netns together, so\n    - we need to be able to change ns for a given interface, so\n      export dev_change_net_namespace()\n    - for each virtual interface set the NETIF_F_NETNS_LOCAL\n      flag, and clear that flag only when the wiphy changes ns,\n      to disallow breaking this invariant\n\n * when a network namespace goes away, we need to reparent the\n   wiphy to init_net\n\n * cfg80211 users that support creating virtual interfaces must\n   create them in the wiphy\u0027s namespace, currently this affects\n   only mac80211\n\nThe end result is that you can now switch an entire wiphy into\na different network namespace with the new command\n\tiw phy#\u003cidx\u003e set netns \u003cpid\u003e\nand all virtual interfaces will follow (or the operation fails).\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "74d154189d597b91da4322996dbf4f5c3d1544ab",
      "tree": "6f09861b5e2f875d2d8ea2127b16add9103221c6",
      "parents": [
        "5a6338db37885af06760d40cad589316e48431e9",
        "ffafa60d496f80c250f2ae0340ae94434c0b0b4d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 23 19:03:51 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 23 19:03:51 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwmc3200wifi/netdev.c\n\tnet/wireless/scan.c\n"
    },
    {
      "commit": "9e81eccf199d910e5ea8db377a43478e4eccd033",
      "tree": "c425a97da799df89255b13314e4dd96ec40419db",
      "parents": [
        "e56f0975360369347725c49654ecfe3792710429"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@web.de",
        "time": "Sun Jul 19 05:05:37 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 21 12:07:44 2009 -0400"
      },
      "message": "cfg80211: double free in __cfg80211_scan_done\n\nThis patch fixes a double free corruption in __cfg80211_scan_done:\n\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n BUG kmalloc-512: Object already free\n ------------------------------------------------\n\n INFO: Allocated in load_elf_binary+0x18b/0x19af age\u003d6\n INFO: Freed in load_elf_binary+0x104e/0x19af age\u003d5\n INFO: Slab 0xffffea0001bae4c0 objects\u003d14 used\u003d7\n INFO: Object 0xffff88007e8a9918 @offset\u003d6424 fp\u003d0xffff88007e8a9488\n\n Bytes b4 0xffff88007e8a9908:  00 00 00 00 00 00 00 00 5a 5a\n [...]\n Pid: 28705, comm: rmmod Tainted: P         C 2.6.31-rc2-wl #1\n Call Trace:\n  [\u003cffffffff810da9f4\u003e] print_trailer+0x14e/0x16e\n  [\u003cffffffff810daa56\u003e] object_err+0x42/0x61\n  [\u003cffffffff810dbcd9\u003e] __slab_free+0x2af/0x396\n  [\u003cffffffffa0ec9694\u003e] ? wiphy_unregister+0x92/0x142 [cfg80211]\n  [\u003cffffffff810dd5e3\u003e] kfree+0x13c/0x17a\n  [\u003cffffffffa0ec9694\u003e] ? wiphy_unregister+0x92/0x142 [cfg80211]\n  [\u003cffffffffa0ec9694\u003e] wiphy_unregister+0x92/0x142 [cfg80211]\n  [\u003cffffffffa0eed163\u003e] ieee80211_unregister_hw+0xc8/0xff [mac80211]\n  [\u003cffffffffa0f3fbc8\u003e] p54_unregister_common+0x31/0x66 [p54common]\n  [...]\n FIX kmalloc-512: Object at 0xffff88007e8a9918 not freed\n\nThe code path which leads to the *funny* double free:\n\n       request \u003d rdev-\u003escan_req;\n       dev \u003d dev_get_by_index(\u0026init_net, request-\u003eifidx);\n\t/*\n\t * the driver was unloaded recently and\n\t * therefore dev_get_by_index will return NULL!\n\t */\n        if (!dev)\n                goto out;\n\t[...]\n\trdev-\u003escan_req \u003d NULL; /* not executed... */\n\t[...]\n out:\n        kfree(request);\n\nSigned-off-by: Christian Lamparter \u003cchunkeey@web.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "667503ddcb96f3b10211f997fe55907fa7509841",
      "tree": "5e2559e94a716bb81bfc7566e3e3a05267810c31",
      "parents": [
        "4f5dadcebb55fccef34722bbbf6401d39124c8a4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 07 03:56:11 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:02:32 2009 -0400"
      },
      "message": "cfg80211: fix locking\n\nOver time, a lot of locking issues have crept into\nthe smarts of cfg80211, so e.g. scan completion can\nrace against a new scan, IBSS join can race against\nleaving an IBSS, etc.\n\nIntroduce a new per-interface lock that protects\nmost of the per-interface data that we need to keep\ntrack of, and sprinkle assertions about that lock\neverywhere. Some things now need to be offloaded to\nwork structs so that we don\u0027t require being able to\nsleep in functions the drivers call. The exception\nto that are the MLME callbacks (rx_auth etc.) that\ncurrently only mac80211 calls because it was easier\nto do that there instead of in cfg80211, and future\ndrivers implementing those calls will, if they ever\nexist, probably need to use a similar scheme like\nmac80211 anyway...\n\nIn order to be able to handle _deauth and _disassoc\nproperly, introduce a cookie passed to it that will\ndetermine locking requirements.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4d0c8aead32ecdbe1310ad473b3637991f560865",
      "tree": "6d7bbfc1676e5cf4d21dd61fc5ace1c041622c2c",
      "parents": [
        "c1e6fb1aad0d4d4f032d46b6bab093a41c6c82bf"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 07 03:56:09 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:02:32 2009 -0400"
      },
      "message": "cfg80211: properly name driver locking\n\nCurrently we call that cfg80211_put_dev(), but that is\nmisleading. With the new convention of using \u0027rdev\u0027 for\nregistered_device variables, also call that function\ncfg80211_unlock_rdev().\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "19957bb399e2722719c0e20c9ae91cf8b6aaff04",
      "tree": "9c4d53fe5938ceee41333a1afd5be0ed5c1ce313",
      "parents": [
        "517357c685ccc4b5783cc7dbdae8824ada19a97f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jul 02 17:20:43 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:53 2009 -0400"
      },
      "message": "cfg80211: keep track of BSSes\n\nIn order to avoid problems with BSS structs going away\nwhile they\u0027re in use, I\u0027ve long wanted to make cfg80211\nkeep track of them. Without the SME, that wasn\u0027t doable\nbut now that we have the SME we can do this too. It can\nkeep track of up to four separate authentications and\none association, regardless of whether it\u0027s controlled\nby the cfg80211 SME or the userspace SME.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6829c878ecd24ff0ae41b4668c7e9d0f11b66942",
      "tree": "acf78b685d60694040953b4f61d768b95b79e45d",
      "parents": [
        "b23aa676ab9d54469cda9f7151f51a2851c6f36e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jul 02 09:13:27 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:51 2009 -0400"
      },
      "message": "cfg80211: emulate connect with auth/assoc\n\nThis adds code to cfg80211 so that drivers (mac80211 right\nnow) that don\u0027t implement connect but rather auth/assoc can\nstill be used with the nl80211 connect command. This will\nalso be necessary for the wext compat code.\n\nSigned-off-by: Samuel Ortiz \u003csamuel.ortiz@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a538e2d5a30f577e9c8f6ccfe72b29a258e0fe86",
      "tree": "56bc91e64d25fc4fdc1f00f01e0afa8be519e252",
      "parents": [
        "222ec50a0a5d20e75522aacf4c767df6585e8548"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jun 16 19:56:42 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 14:57:53 2009 -0400"
      },
      "message": "cfg80211: issue netlink notification when scan starts\n\nTo ease multiple apps working together smoothly,\nsend a notification when a scan is started.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2dce4c2b5f0b43bd25bf9ea6ded06b7f8a54c91f",
      "tree": "f9ded076fd61f5bd4ce93c995a4c9ab0dbf60742",
      "parents": [
        "76d8b64e536362e16e38ee1c279c965ebfe094cc"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jul 02 15:46:41 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 07 12:55:28 2009 -0400"
      },
      "message": "cfg80211: fix refcount leak\n\nThe code in cfg80211\u0027s cfg80211_bss_update erroneously\ngrabs a reference to the BSS, which means that it will\nnever be freed.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: stable@kernel.org [2.6.29, 2.6.30]\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "362a415dce2130b0e4cebfc8f8fbd8128baff308",
      "tree": "6d93d638116b7083bc34a1ef15057024cacd6bf9",
      "parents": [
        "51b50fbeb574f581c0b112e035541f42fa3e604a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun May 24 16:43:15 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 03 14:05:10 2009 -0400"
      },
      "message": "nl80211: bounce scan request back to userspace\n\nWhen a scan finishes only the program that asked for it\nknows what kind of scan it was; let\u0027s tell everybody else\nabout the scan parameters as well so they can evaluate\nthe result of the scan better. Also helps with debugging.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a8679be2073392cf22a910bc25da0c7d36459845",
      "tree": "0d25750ea4ba3a85fe683f285261083d77080976",
      "parents": [
        "22f6dacdfcfdc792d068e9c41234808860498d04",
        "9dfd6ba353b993d648dcda72480c7ce92cd27c7e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 08 12:46:17 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 08 12:46:17 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "22f6dacdfcfdc792d068e9c41234808860498d04",
      "tree": "281a7d476f256ea3e2f800177ba685b169cc0540",
      "parents": [
        "928f308f556f4943e50c5064b546f47bce301f02",
        "9b05126baa146fc3f41360164141d4e1b3ea93c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 08 02:48:30 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 08 02:48:30 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tinclude/net/tcp.h\n"
    },
    {
      "commit": "44e1b98f733e48bb781e4229120e1de5e0c9fdbb",
      "tree": "ea78354841cd6c6ea74e9005343b1119eca6f7be",
      "parents": [
        "273de92c8461776aaac7b32f8d5889a72b38ea10"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Sun Apr 26 11:27:33 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:44 2009 -0400"
      },
      "message": "cfg80211: Use the correct IE buffer pointer\n\nIf the IE buffer was allocated, the pub.information_elements pointer\nwas also changed to the allocated space. So we must not assume anymore\nthat the pointer points at the \"found\" tail.\n\nSo if it was allocated previously, take the codebranch that grows the\nbuffer size (if necessary) and put the data into the allocated buffer.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "273de92c8461776aaac7b32f8d5889a72b38ea10",
      "tree": "9a6b4d78fd3b81e321c2ee507b0e491dbde90baf",
      "parents": [
        "90ccda9baccec8223ca5456fbe49adf7264d1543"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Sat Apr 25 22:28:55 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:42 2009 -0400"
      },
      "message": "cfg80211: Remove unnecessary ksize() call\n\nThis removes an unnecessary ksize() call. krealloc() will do this\ntest internally and won\u0027t perform any allocation if the space is\nalready sufficient to hold the data.\nSo remove the redundant check.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c0f0aac05fa84b37ed46db8cf6c8bee9a67bbcca",
      "tree": "c0748d3ba37d5d1666c5d7eaa91cc7af6a10acbe",
      "parents": [
        "8ccd8f21122dcc30a665516d43aa8b4aa8ae51f6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 30 20:09:56 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 04 16:22:10 2009 -0400"
      },
      "message": "cfg80211: fix truncated IEs\n\nAnother bug in the \"cfg80211: do not replace BSS structs\" patch,\na forgotten length update leads to bogus data being stored and\npassed to userspace, often truncated.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ba44cb7226afd4e19308c1d8a90e8b7c566c0d8b",
      "tree": "83c398ff2e4ad5c41996771cf7130a5c0e255511",
      "parents": [
        "9d308429a9fd0fa644f0b748f6241631f74a6cda"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 20 18:49:39 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:18 2009 -0400"
      },
      "message": "cfg80211: mark all WEXT handlers _GPL\n\nThe fact that these are exported is a technical detail\nof the conversion period -- we don\u0027t want anybody to\nstart relying on these. Ultimately we want things to\nuse cfg80211 only, and once everything that is in wext\nis converted to cfg80211 drivers will not need to touch\nwext _at all_.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "06aa7afaaa21a4e7f1bcb196bd3f29193924a603",
      "tree": "1337931da6e0c1e41b9f0460aea80b2a03cc7eae",
      "parents": [
        "964c1d417e4738d359ba263921a7b9c18fa711c4"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Thu Mar 26 23:40:09 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:54:36 2009 -0400"
      },
      "message": "cfg80211: add cfg80211_inform_bss\n\nAdded cfg80211_inform_bss() for full-mac devices to use.\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cd1658f592a60d028dd2e48d86724b737a82cab0",
      "tree": "1ab6ca94c78fa9281e1d4fb12d9e8b85a69f93fc",
      "parents": [
        "160002fe845218f5789a26954048592c3920ac7b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 16 15:00:58 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 17 15:27:13 2009 -0400"
      },
      "message": "cfg80211: do not replace BSS structs\n\nInstead, allocate extra IE memory if necessary. Normally,\nthis isn\u0027t even necessary since there\u0027s enough space.\n\nThis is a better way of correcting the \"held BSS can\ndisappear\" issue, but also a lot more code. It is also\nnecessary for proper auth/assoc BSS handling in the\nfuture.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "160002fe845218f5789a26954048592c3920ac7b",
      "tree": "f2462675782d61cf47ba73894c2d927630c2571b",
      "parents": [
        "7181d4673710888b6d7084b37b9d77ed4f4e41b2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 16 12:15:38 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 17 15:27:13 2009 -0400"
      },
      "message": "cfg80211: copy hold when replacing BSS\n\nWhen we receive a probe response frame we can replace the\nBSS struct in our list -- but if that struct is held then\nwe need to hold the new one as well.\n\nWe really should fix this completely and not replace the\nstruct, but this is a bandaid for now.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a08c1c1ac0c26229ca1ca45d554b209a56edc8be",
      "tree": "b49e2968fae2612ced8a090a659309b1300fe7cb",
      "parents": [
        "9050bdd8589c373e01e41ddbd9a192de2ff01ef0"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Sun Mar 22 21:57:28 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:13 2009 -0400"
      },
      "message": "cfg80211: add feature to hold bss\n\nIn beacon filtering there needs to be a way to not expire the BSS even\nwhen no beacons are received. Add an interface to cfg80211 to hold\nBSS and make sure that it\u0027s not expired.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e38f8a7a8bebbab9d97f204e2cf05ef58b048a1d",
      "tree": "6b0e9f6ce18eb6e2e6d1b29db3538399d0735b70",
      "parents": [
        "3fc71f775af677f640f0f0780b16f1b0958f6d9d"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Sat Feb 21 00:20:39 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 27 14:52:59 2009 -0500"
      },
      "message": "cfg80211: Add AP beacon regulatory hints\n\nWhen devices are world roaming they cannot beacon or do active scan\non 5 GHz or on channels 12, 13 and 14 on the 2 GHz band. Although\nwe have a good regulatory API some cards may _always_ world roam, this\nis also true when a system does not have CRDA present. Devices doing world\nroaming can still passive scan, if they find a beacon from an AP on\none of the world roaming frequencies we make the assumption we can do\nthe same and we also remove the passive scan requirement.\n\nThis adds support for providing beacon regulatory hints based on scans.\nThis works for devices that do either hardware or software scanning.\nIf a channel has not yet been marked as having had a beacon present\non it we queue the beacon hint processing into the workqueue.\n\nAll wireless devices will benefit from beacon regulatory hints from\nany wireless device on a system including new devices connected to\nthe system at a later time.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "77965c970d7da9c9b6349ff2b1d9adecf54c403b",
      "tree": "bda8a85fa872a46d5cb5c48891cf3ee21c91e838",
      "parents": [
        "630e64c487c0a9550f05b465216a1cd9125b52f2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Feb 18 18:45:06 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 27 14:52:42 2009 -0500"
      },
      "message": "cfg80211: clean up signal type\n\nIt wasn\u0027t a good idea to make the signal type a per-BSS option,\nalthough then it is closer to the actual value. Move it to be\na per-wiphy setting, update mac80211 to match.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a77b855245541823b49999a27245ad7428879096",
      "tree": "29e80ea3f90a22309b55ea1823eda5700ebc4b49",
      "parents": [
        "cb3a8eec0e66edfe8db7d3b3bf19d25745bae3c3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Feb 18 18:27:22 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 27 14:52:40 2009 -0500"
      },
      "message": "cfg80211/mac80211: fill qual.qual value/adjust max_qual.qual\n\nDue to various bugs in the software stack we end up having\nto fill qual.qual; level should be used, but wpa_supplicant\ndoesn\u0027t properly ignore qual.qual, NM should use qual.level\nregardless of that because qual.qual is 0 but doesn\u0027t handle\nIW_QUAL_DBM right now.\n\nSo fill qual.qual with the qual.level value clamped to\n-110..-40 dBm or just the regular \u0027unspecified\u0027 signal level.\nThis requires a mac80211 change to properly announce the\nmax_qual.qual and avg_qual.qual values.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cb3a8eec0e66edfe8db7d3b3bf19d25745bae3c3",
      "tree": "b4eacfc01470617fca40779bccdca6625dba7716",
      "parents": [
        "abd2fdb4c606f0e5cfec3647d57ebd20f03caafd"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dcbw@redhat.com",
        "time": "Wed Feb 11 17:14:43 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 27 14:52:40 2009 -0500"
      },
      "message": "cfg80211: age scan results on resume\n\nScanned BSS entries are timestamped with jiffies, which doesn\u0027t\nincrement across suspend and hibernate.  On resume, every BSS in the\nscan list looks like it was scanned within the last 10 seconds,\nirregardless of how long the machine was actually asleep.  Age scan\nresults on resume with the time spent during sleep so userspace has a\nclue how old they really are.\n\nSigned-off-by: Dan Williams \u003cdcbw@redhat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "79420f09e76e8e1dd1149d6ce9c20e06cbb5802a",
      "tree": "42adcb9fa34682629050778fa1c2b4d3382b6469",
      "parents": [
        "d491af19db3adcc1eb1653e60a427fb4df36f361"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:59 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:56 2009 -0500"
      },
      "message": "cfg80211: add more flexible BSS lookup\n\nAdd a more flexible BSS lookup function so that mac80211 or\nother drivers can actually use this for getting the BSS to\nconnect to.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d491af19db3adcc1eb1653e60a427fb4df36f361",
      "tree": "7116bcc9f6de56d181d16463252c4aabab77b20e",
      "parents": [
        "78c1c7e109f1f14e7c18f290c4ebc58da220c7ba"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:58 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:54 2009 -0500"
      },
      "message": "cfg80211: allow users to request removing a BSS\n\nThis patch introduces cfg80211_unlink_bss, a function to\nallow a driver to remove a BSS from the internal list and\nmake it not show up in scan results any more -- this is\nto be used when the driver detects that the BSS is no\nlonger available.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "78c1c7e109f1f14e7c18f290c4ebc58da220c7ba",
      "tree": "11d4666d578dc6f9ee4c57dfe3fb4e8498d9ed79",
      "parents": [
        "99cf5f5f3571ce3a837e379d3b87bf5ddf54f17d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:57 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:53 2009 -0500"
      },
      "message": "cfg80211: free_priv for BSS info\n\nWhen cfg80211 users have their own allocated data in the per-BSS\nprivate data, they will need to free this when the BSS struct is\ndestroyed. Add a free_priv method and fix one place where the BSS\nwas kfree\u0027d rather than released properly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2a5193119269062608582418deba7af82844159a",
      "tree": "1f2fe8cffbeb7530dce7fa708310f6fb29ab0dd8",
      "parents": [
        "849b7967818995a32c3017542e33eb3155944368"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:55 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:49 2009 -0500"
      },
      "message": "cfg80211/nl80211: scanning (and mac80211 update to use it)\n\nThis patch adds basic scan capability to cfg80211/nl80211 and\nchanges mac80211 to use it. The BSS list that cfg80211 maintains\nis made driver-accessible with a private area in each BSS struct,\nbut mac80211 doesn\u0027t yet use it. That\u0027s another large project.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ]
}
