)]}'
{
  "log": [
    {
      "commit": "a0d0d1685f9763ab26a394df3ab84026b39a06a7",
      "tree": "4165dc6fd3266977ab4b3fa3b379c47597f97d88",
      "parents": [
        "31a67102f4762df5544bc2dfb34a931233d2a5b2",
        "05f8f25276ea8c7d41b3649890d6eaf179e67a81"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 22 15:18:06 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 22 15:18:06 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next\n"
    },
    {
      "commit": "a9d3c05cca51d80ef2b9eddabf794c9458e36c2c",
      "tree": "82cae7d9fc6ad945b76b08b65fe2f18f3a3aeec4",
      "parents": [
        "044e68c0cd01a70fd4929ce19ce52ba5df839b22"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon May 07 17:45:29 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 16 12:46:04 2012 -0400"
      },
      "message": "mac80211: fix single queue drivers\n\nMy queue management rework broke drivers that don\u0027t\nhave multiple AC queues and register a single queue\nonly, causing a warning:\n\nWARNING: at net/mac80211/iface.c:162 ieee80211_check_queues\n\nThis was due to filling the queues wrongly and then\nnoticing the error when checking later.\n\nReported-and-Tested-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b203ca39126bad99583c908be587df067820a1ea",
      "tree": "940e32bd15392b400cf50c2ac31c7895637c09fe",
      "parents": [
        "c47fc9814ca15cc075f1f09e8c069b041f2ea397"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 08 18:56:52 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 20:49:18 2012 -0400"
      },
      "message": "mac80211: Convert compare_ether_addr to ether_addr_equal\n\nUse the new bool function ether_addr_equal to add\nsome clarity and reduce the likelihood for misuse\nof compare_ether_addr for sorting.\n\nDone via cocci script:\n\n$ cat compare_ether_addr.cocci\n@@\nexpression a,b;\n@@\n-\t!compare_ether_addr(a, b)\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tcompare_ether_addr(a, b)\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) \u003d\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) !\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) \u003d\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) !\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!!ether_addr_equal(a, b)\n+\tether_addr_equal(a, b)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d6c4a2e4641bbc556dd74d3aa158c413a972492",
      "tree": "da944af17682659bb433dc2282dcb48380c14cd1",
      "parents": [
        "6e06c0e2347ec79d0bd5702b2438fe883f784545",
        "1c430a727fa512500a422ffe4712166c550ea06a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:35:40 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:35:40 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/intel/e1000e/param.c\n\tdrivers/net/wireless/iwlwifi/iwl-agn-rx.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans.h\n\nResolved the iwlwifi conflict with mainline using 3-way diff posted\nby John Linville and Stephen Rothwell.  In \u0027net\u0027 we added a bug\nfix to make iwlwifi report a more accurate skb-\u003etruesize but this\nconflicted with RX path changes that happened meanwhile in net-next.\n\nIn e1000e a conflict arose in the validation code for settings of\nadapter-\u003eitr.  \u0027net-next\u0027 had more sophisticated logic so that\nlogic was used.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "94c514fe240fc0dd02187b78facefde8b6744634",
      "tree": "d61b01327c2264e4b4e002180076135f98d40533",
      "parents": [
        "ad12886091cbc955dafd6cb91de2411b3ff36b39"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue Apr 24 14:18:28 2012 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 24 14:56:10 2012 -0400"
      },
      "message": "mac80211: Adds clean sdata helper\n\nAdds hepler to clean sdata ieee80211_clean_sdata similar way as\nieee80211_setup_sdata is implemented. The function will be used by other\ninterfaces later.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "afa762f6871a8cb05fbef5d0f83fac14304aa816",
      "tree": "170556b5b27b7028ded1600358439dc66e18ebbb",
      "parents": [
        "78cbcf2b9dbe0565820dc7721316f9c401000a68"
      ],
      "author": {
        "name": "Eliad Peller",
        "email": "eliad@wizery.com",
        "time": "Mon Apr 23 14:45:15 2012 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 24 14:42:42 2012 -0400"
      },
      "message": "mac80211: call ieee80211_mgd_stop() on interface stop\n\nieee80211_mgd_teardown() is called on netdev removal, which\noccurs after the vif was already removed from the low-level\ndriver, resulting in the following warning:\n\n[ 4809.014734] ------------[ cut here ]------------\n[ 4809.019861] WARNING: at net/mac80211/driver-ops.h:12 ieee80211_bss_info_change_notify+0x200/0x2c8 [mac80211]()\n[ 4809.030388] wlan0:  Failed check-sdata-in-driver check, flags: 0x4\n[ 4809.036862] Modules linked in: wlcore_sdio(-) wl12xx wlcore mac80211 cfg80211 [last unloaded: cfg80211]\n[ 4809.046849] [\u003cc001bd4c\u003e] (unwind_backtrace+0x0/0x12c)\n[ 4809.055937] [\u003cc047cf1c\u003e] (dump_stack+0x20/0x24)\n[ 4809.065385] [\u003cc003e334\u003e] (warn_slowpath_common+0x5c/0x74)\n[ 4809.075589] [\u003cc003e408\u003e] (warn_slowpath_fmt+0x40/0x48)\n[ 4809.088291] [\u003cbf033630\u003e] (ieee80211_bss_info_change_notify+0x200/0x2c8 [mac80211])\n[ 4809.102844] [\u003cbf067f84\u003e] (ieee80211_destroy_auth_data+0x80/0xa4 [mac80211])\n[ 4809.116276] [\u003cbf068004\u003e] (ieee80211_mgd_teardown+0x5c/0x74 [mac80211])\n[ 4809.129331] [\u003cbf043f18\u003e] (ieee80211_teardown_sdata+0xb0/0xd8 [mac80211])\n[ 4809.141595] [\u003cc03b5e58\u003e] (rollback_registered_many+0x228/0x2f0)\n[ 4809.153056] [\u003cc03b5f48\u003e] (unregister_netdevice_many+0x28/0x50)\n[ 4809.165696] [\u003cbf041ea8\u003e] (ieee80211_remove_interfaces+0xb4/0xdc [mac80211])\n[ 4809.179151] [\u003cbf032174\u003e] (ieee80211_unregister_hw+0x50/0xf0 [mac80211])\n[ 4809.191043] [\u003cbf0bebb4\u003e] (wlcore_remove+0x5c/0x7c [wlcore])\n[ 4809.201491] [\u003cc02c6918\u003e] (platform_drv_remove+0x24/0x28)\n[ 4809.212029] [\u003cc02c4d50\u003e] (__device_release_driver+0x8c/0xcc)\n[ 4809.222738] [\u003cc02c4e84\u003e] (device_release_driver+0x30/0x3c)\n[ 4809.233099] [\u003cc02c4258\u003e] (bus_remove_device+0x10c/0x128)\n[ 4809.242620] [\u003cc02c26f8\u003e] (device_del+0x11c/0x17c)\n[ 4809.252150] [\u003cc02c6de0\u003e] (platform_device_del+0x28/0x68)\n[ 4809.263051] [\u003cbf0df49c\u003e] (wl1271_remove+0x3c/0x50 [wlcore_sdio])\n[ 4809.273590] [\u003cc03806b0\u003e] (sdio_bus_remove+0x48/0xf8)\n[ 4809.283754] [\u003cc02c4d50\u003e] (__device_release_driver+0x8c/0xcc)\n[ 4809.293729] [\u003cc02c4e2c\u003e] (driver_detach+0x9c/0xc4)\n[ 4809.303163] [\u003cc02c3d7c\u003e] (bus_remove_driver+0xc4/0xf4)\n[ 4809.312973] [\u003cc02c5a98\u003e] (driver_unregister+0x70/0x7c)\n[ 4809.323220] [\u003cc03809c4\u003e] (sdio_unregister_driver+0x24/0x2c)\n[ 4809.334213] [\u003cbf0df458\u003e] (wl1271_exit+0x14/0x1c [wlcore_sdio])\n[ 4809.344930] [\u003cc009b1a4\u003e] (sys_delete_module+0x228/0x2a8)\n[ 4809.354734] ---[ end trace 515290ccf5feb522 ]---\n\nRename ieee80211_mgd_teardown() to ieee80211_mgd_stop(),\nand call it on ieee80211_do_stop().\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bb3e10fb585f1911fedf5fcc4411dcf8d8d63f54",
      "tree": "84cba10f31d122cf986537c6d8cacf21399dba6c",
      "parents": [
        "8e8b41f9d8c8e63fc92f899ace8da91a490ac573"
      ],
      "author": {
        "name": "Luciano Coelho",
        "email": "coelho@ti.com",
        "time": "Thu Apr 12 16:09:49 2012 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 16 14:16:58 2012 -0400"
      },
      "message": "mac80211: check IEEE80211_HW_QUEUE_CONTROL in ieee80211_check_queues()\n\nCommit 3a25a8c8 (mac80211: add improved HW queue control) introduced a\nbug when running in AP mode without the IEEE80211_HW_QUEUE_CONTROL\nflag set.  The ieee80211_check_queues() function always returns\n-EINVAL, preventing AP mode from starting.  To fix this, check whether\nthis flag is set before checking if cab_queue is set properly.\n\nSigned-off-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4d6c36fa227afc7b76b85ee48e3ef3972fe0ca23",
      "tree": "4415934f1ea4b3ab0b2df135510640100437e71c",
      "parents": [
        "3a25a8c8b75b430c4f4022918e26fa51d557ecde"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Apr 03 14:45:54 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 11 16:23:51 2012 -0400"
      },
      "message": "mac80211: clean up an ieee80211_do_open error path\n\nEliad\u0027s comment prompted me to look closer at\nthe error paths in ieee80211_do_open() and I\nfound one that should use the error labels.\n\nAlso add a comment about the clear_bit since\nin many error cases the bit hasn\u0027t been set.\n\nCc: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3a25a8c8b75b430c4f4022918e26fa51d557ecde",
      "tree": "d4863b7f17c2ea44fb523e29951b6bd202ddb1ad",
      "parents": [
        "4b6f1dd6a6faf4ed8d209bbd548e78b15e55aee8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Apr 03 16:28:50 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 11 16:23:50 2012 -0400"
      },
      "message": "mac80211: add improved HW queue control\n\nmac80211 currently only supports one hardware queue\nper AC. This is already problematic for off-channel\nuses since if we go off channel while the BE queue\nis full and then try to send an off-channel frame\nthe frame will never go out. This will become worse\nwhen we support multi-channel since then a queue on\none channel might be full, but we have to stop the\nsoftware queue for all channels. That is obviously\nnot desirable.\n\nTo address this problem allow drivers to register\nmore hardware queues, and allow them to map them to\nvirtual interfaces. When they stop a hardware queue\nthe corresponding AC software queues on the correct\ninterfaces will be stopped as well. Additionally,\nthere\u0027s an off-channel queue to solve that problem\nand a per-interface after-DTIM beacon queue. This\nallows drivers to manage software queues closer to\nhow the hardware works.\n\nCurrently, there\u0027s a limit of 16 hardware queues.\nThis may or may not be sufficient, we can adjust it\nas needed.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4b6f1dd6a6faf4ed8d209bbd548e78b15e55aee8",
      "tree": "7d79667ca414d70b99cb82a646d1a3c2cc466670",
      "parents": [
        "3edaf3e61fda3aa9ff8d38445bf92f2bec23bf63"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Apr 03 14:35:57 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 11 16:23:49 2012 -0400"
      },
      "message": "mac80211: add explicit monitor interface if needed\n\nThe queue mapping redesign that I\u0027m planning to do\nwill break pure injection unless we handle monitor\ninterfaces explicitly. One possible option would\nbe to have the driver tell mac80211 about monitor\nmode queues etc., but that would duplicate the API\nsince we already need to have queue assignments\nhandled per virtual interface.\n\nSo in order to solve this, have a virtual monitor\ninterface that is added whenever all active vifs\nare monitors. We could also use the state of one\nof the monitor interfaces, but managing that would\nbe complicated, so allocate separate state.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3edaf3e61fda3aa9ff8d38445bf92f2bec23bf63",
      "tree": "55cb71f4299d413dd8bd23caeb54304854588b1d",
      "parents": [
        "fe40cb6274988852aa5a84440d8f81c00cea4028"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Apr 03 10:24:00 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 11 16:23:48 2012 -0400"
      },
      "message": "mac80211: manage AP netdev carrier state\n\nThe AP netdev is really only active when beaconing, so\nmanage the carrier state accordingly. Also do that for\nVLAN interfaces enslaved to a given AP interface.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "32c5057b22a60b23353dda93c57e475856ca286c",
      "tree": "68a80dd3fb3a93f0eacf1566c3dd60877efe6cf2",
      "parents": [
        "4644ae89033872a62b4fea6ca96b958e115efdc0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Mar 28 11:04:29 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 10 14:56:10 2012 -0400"
      },
      "message": "mac80211: use IEEE80211_NUM_ACS\n\nWhen comparing hw-\u003equeues to determine if the\ndevice is QoS capable, use IEEE80211_NUM_ACS\ninstead of just 4.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ded81f6ba934e792e441f20178683608cbc0b5cb",
      "tree": "61f464547c5eb15cbb8496a92220a2ceae40cda9",
      "parents": [
        "54bcbc695e2ca88e1c8f05a93d38a04ac6b1aa0e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Mar 28 11:04:26 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 10 14:54:10 2012 -0400"
      },
      "message": "mac80211: decouple # of netdev queues from HW queues\n\nWhen we get more hardware queues, we\u0027ll still want\nto only have netdev queues per AC, so set it up in\nthat way. If the hardware doesn\u0027t support QoS (by\nnot supporting at least 4 queues) the netdevs get\na single queue only (this is no change in behavior\nas there are no drivers with 2 or 3 queues today.)\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3abead59fcdeb56df8b83288a2f5edbe6423b0bb",
      "tree": "dd9ee248d46e9a7fe6e583507bebc93015b8e4d6",
      "parents": [
        "293702a3fb75832613e2af097bdc3ac8ef775b33"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Mar 02 15:56:59 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 05 15:53:46 2012 -0500"
      },
      "message": "mac80211: combine QoS with other BSS changes\n\nWhen associating and particularly when disassociating\nthere\u0027s no need to notify the driver about changes\nwith multiple calls to bss_info_changed, we should\ncombine the QoS enabling/disabling into the same call\nas otherwise the driver could get confused about QoS\nsuddenly getting disabled while connected.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8701ff0a88bcfc8c7dced3842919ad8d016a6835",
      "tree": "ba71774b83e92d6507a398024a6d89b146181320",
      "parents": [
        "f4fb4b212d2668f831918023bc3ca451997faee6",
        "00f157b49780e194c38dafdf9df8e10b8a6a9626"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 29 14:53:21 2012 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 29 14:53:21 2012 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless\n"
    },
    {
      "commit": "54e4ffb2abb3c086637cbc75a2bfe55a8ce987c8",
      "tree": "85ffa4a2295970bb5b1ea7601544fa03a2fc2f4b",
      "parents": [
        "fda82417884eecd9f2c8b4e6bb2039def0da7ec4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Sat Feb 25 21:48:08 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 27 14:06:42 2012 -0500"
      },
      "message": "mac80211: fix auth/assoc data \u0026 timer leak\n\nWhen removing an interface while it is in the\nprocess of authenticating or associating, we\nleak the auth_data or assoc_data, and leave\nthe timer pending. The timer then crashes the\nsystem when it fires as its data is gone.\n\nFix this by explicitly deleting all the data\nwhen the interface is removed. This uncovered\nanother bug -- this problem should have been\ndetected by the sta_info_flush() warning but\nthat function doesn\u0027t ever return non-zero,\nI\u0027ll fix that in a separate patch.\n\nReported-by: Hieu Nguyen \u003chieux.c.nguyen@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0dee00686da88cc32753e02e4e8efdd9e326e4d2",
      "tree": "19552d6f17e99cda523f8ba702c3b465aa7097a8",
      "parents": [
        "8617b093d0031837a7be9b32bc674580cfb5f6b5"
      ],
      "author": {
        "name": "Mohammed Shafi Shajakhan",
        "email": "mohammed@qca.qualcomm.com",
        "time": "Mon Feb 20 14:44:01 2012 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Feb 21 14:45:27 2012 -0500"
      },
      "message": "mac80211: Fix a warning on changing to monitor mode from STA\n\nnothing needs to be done for monitor/AP_VLAN mode on calling\nieee80211_bss_info_change_notify -\u003e drv_bss_info_changed with the change\nflag \u0027BSS_CHANGED_IDLE\u0027. \u0027wl1271\u0027 seems to use BSS_CHANGED_IDLE only for\nSTA and IBSS mode. further the non-idle state of the monitor mode is\ntaken care by the \u0027count\u0027 variable which counts non-idle interfaces.\nieee80211_idle_off(local, \"in use\") will be called.\nthis fixes the following WARNING when we have initially STA mode\n(network manager running) and not associated, and change it to monitor\nmode with network manager disabled and bringing up the monitor mode.\nthis changes the idle state from \u0027true\u0027 (STA unassociated) to \u0027false\u0027\n(MONITOR mode)\nexposed by the commit 405385f8ce7a2ed8f82e216d88b5282142e1288b\n\"mac80211: set bss_conf.idle when vif is connected\"\n\n\tWARNING: net/mac80211/main.c:212\n\tieee80211_bss_info_change_notify+0x1cf/0x330 [mac80211]()\n\tHardware name: 64756D6\n\tPid: 3835, comm: ifconfig Tainted: G           O\n\t3.3.0-rc3-wl #9\n\tCall Trace:\n\t  [\u003cc0133b02\u003e] warn_slowpath_common+0x72/0xa0\n\t  [\u003cfc8e8c3f\u003e] ?\n\t  ieee80211_bss_info_change_notify+0x1cf/0x330 [mac80211]\n\t  [\u003cfc8e8c3f\u003e] ?\n\t  ieee80211_bss_info_change_notify+0x1cf/0x330 [mac80211]\n\t  [\u003cc0133b52\u003e] warn_slowpath_null+0x22/0x30\n\t  [\u003cfc8e8c3f\u003e]\n\t  ieee80211_bss_info_change_notify+0x1cf/0x330 [mac80211]\n\t  [\u003cfc8f9de3\u003e] __ieee80211_recalc_idle+0x113/0x430\n\t  [mac80211]\n\t  [\u003cfc8fabc6\u003e] ieee80211_do_open+0x156/0x7e0 [mac80211]\n\t  [\u003cfc8f8a25\u003e] ?\n\t  ieee80211_check_concurrent_iface+0x25/0x180 [mac80211]\n\t  [\u003cc015dd9f\u003e] ? raw_notifier_call_chain+0x1f/0x30\n\t  [\u003cfc8fb290\u003e] ieee80211_open+0x40/0x80 [mac80211]\n\t  [\u003cc05894f6\u003e] __dev_open+0x96/0xe0\n\t  [\u003cc068fba5\u003e] ? _raw_spin_unlock_bh+0x35/0x40\n\t  [\u003cc05881d9\u003e] __dev_change_flags+0x109/0x170\n\t  [\u003cc0589423\u003e] dev_change_flags+0x23/0x60\n\t  [\u003cc05f3770\u003e] devinet_ioctl+0x6a0/0x770\n\n ieee80211 phy0: device no longer idle - in use\n\nCc: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: Mohammed Shafi Shajakhan \u003cmohammed@qca.qualcomm.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "885bd8eca6ac172e299750d99bd5c9fddbed89b9",
      "tree": "7ce2265d4738f6ea1f40f13d86d96c150bef73cf",
      "parents": [
        "3dc5e1751803e812806d7aa46150af92f91ef489"
      ],
      "author": {
        "name": "Eliad Peller",
        "email": "eliad@wizery.com",
        "time": "Thu Feb 02 17:44:55 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:55:51 2012 -0500"
      },
      "message": "mac80211: support hw scan while idle\n\nCurrently, mac80211 goes to idle-off before starting a scan.\nHowever, some devices that implement hw scan might not\nneed going idle-off in order to perform a hw scan, and\nthus saving some energy and simplifying their state machine.\n\n(Note that this is also the case for sched scan - it\ncurrently doesn\u0027t make mac80211 go idle-off)\n\nAdd a new flag to indicate support for hw scan while idle.\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "66e67e418908442389d3a9e6509985f01cbaf9b0",
      "tree": "01fad87d0d47f5887497c569d98cee20fa1f0f29",
      "parents": [
        "4c0c0b75e0c35ddb8f61c06bcbffede63ab4f4a2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 20 13:55:27 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:50:37 2012 -0500"
      },
      "message": "mac80211: redesign auth/assoc\n\nThis is the second part of the auth/assoc redesign,\nthe mac80211 part. This moves the auth/assoc code\nout of the work abstraction and into the MLME, so\nthat we don\u0027t flip channels all the time etc.\n\nThe only downside is that when we are associated,\nwe need to drop the association in order to create\na connection to another AP, but for most drivers\nthis is actually desirable and the ability to do\nwas never used by any applications. If we want to\nimplement resource reservation with FT-OTA, we\u0027d\nprobably best do it with explicit R-O-C in wpa_s.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "874239f51f8759f3955630fa5da5cf13cd6567d5",
      "tree": "224640a759c0734bc6d0bfd5fd207301b1ef4a10",
      "parents": [
        "b0302aba812bcc39291cdab9ad7e37008f352a91",
        "b49ba04a3a0382e7314d990707c21094c410425a"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 01 10:48:50 2012 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 01 10:48:50 2012 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless\n"
    },
    {
      "commit": "19468413e8d98d44be8daf0acaf8d576dfc53fa2",
      "tree": "99d7df720566824c4588ccff03c65e60c381e60d",
      "parents": [
        "24db78c05b1e3ccb5a78aedd17aa1008c91dab5a"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "simon.wunderlich@s2003.tu-chemnitz.de",
        "time": "Sat Jan 28 17:25:33 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 30 15:48:26 2012 -0500"
      },
      "message": "mac80211: add support for mcs masks\n\n* Handle MCS masks set by the user.\n* Match rates provided by the rate control algorithm to the mask set,\n  also in HT mode, and switch back to legacy mode if necessary.\n* add debugfs files to observate the rate selection\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Mathias Kretschmer \u003cmathias.kretschmer@fokus.fraunhofer.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "83d5cc012441531ab0bf6f99881958e964e9cf11",
      "tree": "b36a127cd4d735f5b4a0b7fbfbdd3714bceca44f",
      "parents": [
        "c037b8367c7e2b775a99d74037f5df014d2fbf06"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jan 12 09:31:10 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 30 15:41:25 2012 -0500"
      },
      "message": "mac80211: station state transition error handling\n\nIn the future, when we start notifying drivers,\nstate transitions could potentially fail. To make\nit easier to distinguish between programming bugs\nand driver failures:\n * rename sta_info_move_state() to\n   sta_info_pre_move_state() which can only be\n   called before the station is inserted (and\n   check this with a new station flag).\n * rename sta_info_move_state_checked() to just\n   plain sta_info_move_state(), as it will be\n   the regular function that can fail for more\n   than just one reason (bad transition or an\n   error from the driver)\n\nThis makes the programming model easier -- one of\nthe functions can only be called before insertion\nand can\u0027t fail, the other can fail.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "405385f8ce7a2ed8f82e216d88b5282142e1288b",
      "tree": "fe96a1cd18291247dfd13efccf09be9334a1cc27",
      "parents": [
        "ba1960257c5980f9b58057995ce3394bd8e48ca3"
      ],
      "author": {
        "name": "Eliad Peller",
        "email": "eliad@wizery.com",
        "time": "Wed Jan 11 13:11:50 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 24 14:47:09 2012 -0500"
      },
      "message": "mac80211: set bss_conf.idle when vif is connected\n\n__ieee80211_recalc_idle() iterates through the vifs,\nsets bss_conf.idle \u003d true if they are disconnected,\nand increases \"count\" if they are not (which later\ngets evaluated in order to determine whether the\ndevice is idle).\n\nHowever, the loop doesn\u0027t set bss_conf.idle \u003d false\n(along with increasing \"count\"), causing the device\nidle state and the vif idle state to get out of sync\nin some cases.\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d9a7ddb05e5419ca5e4b54f57074dc33c7ea991c",
      "tree": "3de3213e7e79a64254ea778374aeaaffa61b5bab",
      "parents": [
        "87be1e1e00f870567780dec111193426b4c085e8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Dec 14 12:35:30 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Dec 15 14:46:34 2011 -0500"
      },
      "message": "mac80211: refactor station state transitions\n\nStation entries can have various states, the most\nimportant ones being auth, assoc and authorized.\nThis patch prepares us for telling the driver about\nthese states, we don\u0027t want to confuse drivers with\nstrange transitions, so with this we enforce that\nthey move in the right order between them (back and\nforth); some transitions might happen before the\ndriver even knows about the station, but at least\nruntime transitions will be ordered correctly.\n\nAs a consequence, IBSS and MESH stations will now\nhave the ASSOC flag set (so they can transition to\nAUTHORIZED), and we can get rid of a special case\nin TX processing.\n\nWhen freeing a station, unwind the state so that\nother parts of the code (or drivers later) can rely\non the transitions.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d3c1597b8d1ba0447ce858c7c385eabcf69f2c8f",
      "tree": "8cb77c385088aadf240d270f1c854d72d4193c52",
      "parents": [
        "3c26f1f68e24d087cd3481aeb68a6274e6e0b30b"
      ],
      "author": {
        "name": "Thomas Pedersen",
        "email": "thomas@cozybit.com",
        "time": "Thu Nov 24 17:15:23 2011 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 28 14:44:05 2011 -0500"
      },
      "message": "mac80211: fix forwarded mesh frame queue mapping\n\nWe can\u0027t rely on ieee80211_select_queue() to do its job at this point\nsince the skb-\u003eprotocol is not yet known. Instead, factor out and reuse\nthe queue mapping logic for injected frames.\n\nAlso, to mitigate congestion, forwarded frames should be dropped if the\noutgoing queue was stopped.  This was not correctly implemented as we\nwere not checking the right queue.  Furthermore, we were dropping frames\nthat had arrived to their destination if that queue was stopped.\n\nSigned-off-by: Thomas Pedersen \u003cthomas@cozybit.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b53be7920bd9bb1bb99fecc2ff537bc79d24082f",
      "tree": "de46261ba26859086fed002694ee4693ad45bd40",
      "parents": [
        "1d9d9213d526f2f4ef9a3aa198a29a0b1a670fa1"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "simon.wunderlich@s2003.tu-chemnitz.de",
        "time": "Fri Nov 18 14:20:44 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 28 14:36:21 2011 -0500"
      },
      "message": "mac80211: Add NoAck per tid support\n\nThis patch contains the processing changes in mac80211.\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Mathias Kretschmer \u003cmathias.kretschmer@fokus.fraunhofer.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5e2e05de55ce1dd05521c419b80241551d36b473",
      "tree": "da44b985485f7b49958a4917882ccefcfe24b4a7",
      "parents": [
        "a5f69d94d8e239b48299abdd836840b7447866ab"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue Nov 15 09:33:09 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 17 15:43:57 2011 -0500"
      },
      "message": "mac80211: use kfree_skb() instead of kfree()\n\nsk_buff structs should be freed using kfree_skb().\n\nThis was introduced recently in 029458212 \"mac80211: Save probe\nresponse data for bss\".\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "029458212604570eec4789049a8a74428484dbb4",
      "tree": "cabbe65d50e83498300a25b02a67f8475c02c3b7",
      "parents": [
        "00f740e1a3b7abb51980371ee8fa113df22ae0b8"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Thu Nov 10 11:28:57 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 11 12:32:51 2011 -0500"
      },
      "message": "mac80211: Save probe response data for bss\n\nAllow setting a probe response template for an interface operating in\nAP mode. Low level drivers are notified about changes in the probe\nresponse template and are able to retrieve a copy of the current probe\nresponse. This data can, for example, be uploaded to hardware as a\ntemplate.\n\nSigned-off-by: Guy Eilam \u003cguy@wizery.com\u003e\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "86a2ea4134b48f6371103cfceb521bf2d2bf76cd",
      "tree": "3a8477f9b078b8dd69bba51be49fa62b48195b5f",
      "parents": [
        "94e2ad9ee47025747d19620f288fb533d49c0475"
      ],
      "author": {
        "name": "Eliad Peller",
        "email": "eliad@wizery.com",
        "time": "Tue Nov 08 15:36:59 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 11 12:32:49 2011 -0500"
      },
      "message": "mac80211: set carrier_on for ibss vifs only while joined\n\nmac80211 should set carrier_on for ibss vifs\nonly while they are joined (similar to sta vifs)\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "665c93a93e35cafcd8c84073824f1ef1b19f0a7d",
      "tree": "f466c5d30e1afd4e8201c916523574d563530785",
      "parents": [
        "6096de7fd4eeda305e114e7d74e6f47404590425"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Nov 04 11:18:11 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 09 16:05:49 2011 -0500"
      },
      "message": "mac80211: add support for control port protocol in AP mode\n\nThis will allow us to support dynamic WEP with 802.1X\nproperly in mac80211 by not encrypting outgoing and\naccepting unencrypted incoming frames.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7b7eab6fc1bc8852d9649541b59283cd89cc526f",
      "tree": "7b071ee01187bc3ee843c86b88189cc4eab73cf1",
      "parents": [
        "6e3e939f3b1bf8534b32ad09ff199d88800835a0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Nov 03 14:41:13 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 09 16:01:02 2011 -0500"
      },
      "message": "mac80211: verify virtual interfaces in driver API\n\nThe driver is never informed about monitor or\nAP_VLAN interfaces, so whenever we pass those\nto it later this is a bug. Verify we don\u0027t as\nthere are some cases where this could happen.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "59034591029e9f3b691fe02ff60938556dba5683",
      "tree": "287baf9c4e5d0a81948c0f321937ef17a6d96d05",
      "parents": [
        "3a8aea098c8ebe3437d877542d138085be33346c"
      ],
      "author": {
        "name": "Eliad Peller",
        "email": "eliad@wizery.com",
        "time": "Sun Oct 16 10:57:31 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 08 15:53:57 2011 -0500"
      },
      "message": "mac80211: call set_wmm_default only for valid vifs\n\nmac80211 calls ieee80211_set_wmm_default (which in turn\ncalls drv_conf_tx()) for every new interface, including\n\"internal\" ones (e.g. monitor interface, which the low-level\ndriver doesn\u0027t know about).\n\nLimit this call only to valid interfaces.\n\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "094daf7db7c47861009899ce23f9177d761e20b0",
      "tree": "a107065393720b80664157a035b206576e834793",
      "parents": [
        "3ed6f6958c0ac21958285d8648f14d34da4bbcb3",
        "5f68a2b0a890d086e40fc7b55f4a0c32c28bc0d2"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 11 15:35:42 2011 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 11 15:35:42 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.infradead.org/users/linville/wireless-next into for-davem\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n"
    },
    {
      "commit": "c2c98fdeb5c897499644eb247285c8e3dacc6450",
      "tree": "aaa9c0f8dd16ab896308470e21a0813041094670",
      "parents": [
        "deeaee197b0fa694ba6c8f02cdb57b3be7115b4f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 29 16:04:36 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 30 15:57:19 2011 -0400"
      },
      "message": "mac80211: optimise station flags\n\nThe flaglock in struct sta_info has long been\nsomething that I wanted to get rid of, this\nfinally does the conversion to atomic bitops.\n\nThe conversion itself is straight-forward in\nmost places, a few things needed to change a\nbit since we can no longer use multiple bits\nat the same time.\n\nOn x86-64, this is a fairly significant code\nsize reduction:\n   text\t   data\t    bss\t    dec\t    hex\n 427861\t  23648\t   1008\t 452517\t  6e7a5\tbefore\n 425383\t  23648\t    976\t 450007\t  6ddd7\tafter\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8e00f5fbb4ecbc3431fa686cba60cd76a62604af",
      "tree": "78aa3bdef892dbd1afc8969fc528e529cfc266f7",
      "parents": [
        "56fd49e399ce1d82200fad5b8924d4e35a587809",
        "0874073570d9184a169a4ae2abbe8dbcb71878e9"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 30 14:52:16 2011 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 30 14:52:29 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.infradead.org/users/linville/wireless-next into for-davem\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-pci.c\n\tdrivers/net/wireless/wl12xx/main.c\n"
    },
    {
      "commit": "6f2d93353a48af4d5b6ea2a79994d7c9a94b356a",
      "tree": "5ce98ab1b817d4b177c68b89f1da0e541e2f35a9",
      "parents": [
        "da3ba88a9996cd64c6768bed5727e02da81e2c8d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Sep 20 17:40:51 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 21 16:19:41 2011 -0400"
      },
      "message": "mac80211: fix AP/VLAN PS buffer race\n\nWhen an AP interface is removed without the\nAP/VLAN interfaces having been removed before\nalready, the AP-VLAN interface might still\nhave sleeping stations and buffer multicast\nframes which will happen on the AP interface.\nThus, we need to remove AP/VLAN interfaces\nbefore purging buffered broadcast frames.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b53d63ecce17c4ddf8636def9f6e8b865c3927f9",
      "tree": "683ef774fcfb423fa35f61e4326d0ce3f6a7c283",
      "parents": [
        "765cf9976e937f1cfe9159bf4534967c8bf8eb6d",
        "12e62d6f7ec475e546b40bece2045da15d6c21ef"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 19 15:00:16 2011 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 19 15:00:16 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://infradead/~/public_git/wireless-next into for-davem\n"
    },
    {
      "commit": "ece1a2e7e86078c8379937b546e32cb7f25fcb6c",
      "tree": "f15c838069746175237e3639f85e800d712f88b9",
      "parents": [
        "af089c15cb13e1c5d984e41f495c8363dd5b1e30"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Mon Aug 29 13:23:04 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 13 15:42:32 2011 -0400"
      },
      "message": "mac80211: Remove mesh paths when an interface is removed\n\nWhen an interface is removed, the mesh paths associated with it should\nalso be removed.\n\nThis fixes a bug we observed when reloading a device driver module\nwithout reloading mac80211s.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "afc4b13df143122f99a0eb10bfefb216c2806de0",
      "tree": "5a90e0a8226ce4173d8d366f5bed0322c9623cdd",
      "parents": [
        "01789349ee52e4a3faf376f1485303d9723c4f1f"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Aug 16 06:29:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 17 20:22:03 2011 -0700"
      },
      "message": "net: remove use of ndo_set_multicast_list in drivers\n\nreplace it by ndo_set_rx_mode\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a9b3cd7f323b2e57593e7215362a7b02fc933e3a",
      "tree": "eba1741956aef3015d5b1a07253bf93c4c1bc7df",
      "parents": [
        "76f793e3a47139d340185cbc1a314740c09b13d3"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 01 16:19:00 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 02 04:29:23 2011 -0700"
      },
      "message": "rcu: convert uses of rcu_assign_pointer(x, NULL) to RCU_INIT_POINTER\n\nWhen assigning a NULL value to an RCU protected pointer, no barrier\nis needed. The rcu_assign_pointer, used to handle that but will soon\nchange to not handle the special case.\n\nConvert all rcu_assign_pointer of NULL value.\n\n//smpl\n@@ expression P; @@\n\n- rcu_assign_pointer(P, NULL)\n+ RCU_INIT_POINTER(P, NULL)\n\n// \u003c/smpl\u003e\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "550fd08c2cebad61c548def135f67aba284c6162",
      "tree": "8aa7c4d20a9faeb42261b75cfa38d8fd27b574ff",
      "parents": [
        "d8873315065f1f527c7c380402cf59b1e1d0ae36"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Jul 26 06:05:38 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:30 2011 -0700"
      },
      "message": "net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared\n\nAfter the last patch, We are left in a state in which only drivers calling\nether_setup have IFF_TX_SKB_SHARING set (we assume that drivers touching real\nhardware call ether_setup for their net_devices and don\u0027t hold any state in\ntheir skbs.  There are a handful of drivers that violate this assumption of\ncourse, and need to be fixed up.  This patch identifies those drivers, and marks\nthem as not being able to support the safe transmission of skbs by clearning the\nIFF_TX_SKB_SHARING flag in priv_flags\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: Karsten Keil \u003cisdn@linux-pingi.de\u003e\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCC: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nCC: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCC: Patrick McHardy \u003ckaber@trash.net\u003e\nCC: Krzysztof Halasa \u003ckhc@pm.waw.pl\u003e\nCC: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCC: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCC: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCC: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2fcf282471f04f465d0368e46e973e01504292b3",
      "tree": "cc1921dba4ce8769396ed5e1581e4a44f382de75",
      "parents": [
        "5d82c53a380ca96421a714481c9113ba54ede609"
      ],
      "author": {
        "name": "Mohammed Shafi Shajakhan",
        "email": "mohammed@qca.qualcomm.com",
        "time": "Tue Jul 12 15:19:04 2011 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 13 14:49:42 2011 -0400"
      },
      "message": "mac80211: remove a redundant check\n\nis_valid_ether_addr itself checks for is_zero_ether_addr\n\nSigned-off-by: Mohammed Shafi Shajakhan \u003cmohammed@qca.qualcomm.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "55d990592f83cbfabfefde6e32bf27d4e7493d0c",
      "tree": "15b9e0dc0f8ed6bb0ae6943de3c7c65413aced0d",
      "parents": [
        "f15220eaa7296154aace6832791a82188dddb8fd"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Sat Jul 09 15:39:16 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 11 15:02:19 2011 -0400"
      },
      "message": "mac80211: allocate only one RX queue\n\nWe don\u0027t have multiple RX queues, so there\u0027s no use\nin allocating multiple, use alloc_netdev_mqs() to\nallocate multiple TX but only one RX queue.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "59e7e7078d6c2c6294caf454c6e3695f9d3e46a2",
      "tree": "6ef8de26cd28e6ac4fff34258300889ef989e98c",
      "parents": [
        "6f213ff1919fab6f8244ceae55631b5d6ef750a7"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Thu Jun 02 17:28:37 2011 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 03 14:22:06 2011 -0400"
      },
      "message": "mac80211: call dev_alloc_name before copying name to sdata\n\nThis partially reverts 1c5cae815d19ffe02bdfda1260949ef2b1806171, because\nthe netdev name is copied into sdata-\u003ename, which is used for debugging\nmessages, for example. Otherwise, we get messages like this:\n\nwlan%d: authenticated\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nCc: Jiri Pirko \u003cjpirko@redhat.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "31ec97d9cebac804814de298592648f7c18d8281",
      "tree": "f725fcce0d5a9d6d7bd64b777de0a44e71773d0e",
      "parents": [
        "557eed603159b4e007c57d97fad1333ecebd3c2e",
        "daf8cf608d57a0b9f22276036e420cc82cf6ab4f"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 24 16:47:54 2011 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 24 16:47:54 2011 -0400"
      },
      "message": "Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "e00cf3b9eb7839b952e434a75bff6b99e47337ac",
      "tree": "ef583ab8ac09bf703026650d4bc7777e6a3864d3",
      "parents": [
        "1a8218e96271790a07dd7065a2ef173e0f67e328",
        "3b8ab88acaceb505aa06ef3bbf3a73b92470ae78"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 16 14:55:42 2011 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 16 19:32:19 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-agn-tx.c\n\tnet/mac80211/sta_info.h\n"
    },
    {
      "commit": "c29acf201007a6d73223f864f52406eb5ba19933",
      "tree": "f64976bf10ade80e6ceb39f917f6741b575ee301",
      "parents": [
        "8e621fc90b42fa2ca4ff65dd8d9cb21723e47837"
      ],
      "author": {
        "name": "Rajkumar Manoharan",
        "email": "rmanoharan@atheros.com",
        "time": "Sat May 14 09:43:28 2011 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 16 14:25:29 2011 -0400"
      },
      "message": "mac80211: abort scan_work immediately when the device goes down\n\nAs long as no delay is required b/w channel change, scan work\nis proceeding without scheduling a new work. In such case, we\ncan not abort scan work when the card was unplugged. This patch\ncompletes the scanning immediately whenever the device goes down.\n\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Rajkumar Manoharan \u003crmanoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "40b275b69ee660274b77fb612b0db31fd282fc3f",
      "tree": "29a4f82a44a12edcf9db5de6a3c6df9615a5799e",
      "parents": [
        "ec034b208dc8aa5dc73ec46c3f27e34c5efbf113"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri May 13 14:15:49 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 16 14:10:41 2011 -0400"
      },
      "message": "mac80211: sparse RCU annotations\n\nThis adds sparse RCU annotations to most of\nmac80211, only the mesh code remains to be\ndone.\n\nDue the the previous patches, the annotations\nare pretty simple. The only thing that this\nactually changes is removing the RCU usage of\nkey-\u003esta in debugfs since this pointer isn\u0027t\nactually an RCU-managed pointer (it only has\na single assignment done before the key even\ngoes live). As that is otherwise harmless, I\ndecided to make it part of this patch.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1c5cae815d19ffe02bdfda1260949ef2b1806171",
      "tree": "d47a73c05afacd21985abb8df9862136385c58f0",
      "parents": [
        "e8920674979705392abc4db4ebbe78feb68a4da1"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Apr 30 01:21:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 05 10:57:45 2011 -0700"
      },
      "message": "net: call dev_alloc_name from register_netdevice\n\nForce dev_alloc_name() to be called from register_netdevice() by\ndev_get_valid_name(). That allows to remove multiple explicit\ndev_alloc_name() calls.\n\nThe possibility to call dev_alloc_name in advance remains.\n\nThis also fixes veth creation regresion caused by\n84c49d8c3e4abefb0a41a77b25aa37ebe8d6b743\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a0e9ae1bd788bc19adc4d4ae08c98b233697402",
      "tree": "13825eeb5bbeae27d66e95f12168eff4b60701ab",
      "parents": [
        "01a16b21d6adf992aa863186c3c4e561a57c1714",
        "b65a0e0c84cf489bfa00d6aa6c48abc5a237100f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x.h\n"
    },
    {
      "commit": "5f04d5068a90602b93a7953e9a47c496705c6976",
      "tree": "272ea087a13648cb3dd34e0feed08cfc4b1e5e2c",
      "parents": [
        "2205a6ea93fea76f88b43727fea53f3ce3790d6f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Feb 20 11:49:45 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 20 11:49:45 2011 -0800"
      },
      "message": "net: Fix more stale on-stack list_head objects.\n\nFrom: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n\nIn the beginning with batching unreg_list was a list that was used only\nonce in the lifetime of a network device (I think).  Now we have calls\nusing the unreg_list that can happen multiple times in the life of a\nnetwork device like dev_deactivate and dev_close that are also using the\nunreg_list.  In addition in unregister_netdevice_queue we also do a\nlist_move because for devices like veth pairs it is possible that\nunregister_netdevice_queue will be called multiple times.\n\nSo I think the change below to fix dev_deactivate which Eric D. missed\nwill fix this problem.  Now to go test that.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2cf22b897c63df65e7360a1897e5312c58617fbd",
      "tree": "6fe5490470468b749f8d9dedd60834b0c46d2716",
      "parents": [
        "4e6975f7b8ca31febaa94a1ee1acfb5322f8a82b"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Mon Jan 31 11:30:09 2011 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Feb 03 16:44:43 2011 -0500"
      },
      "message": "mac80211: Recalculate channel-type on iface removal.\n\nWhen a vif goes away, it could cause the super-chan\nto be recalculated differently, so do that calculation\non iface removal.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "21f83589644bb2ed98079bf1e2154c8e70ca6a6c",
      "tree": "ede391a8c788a43f7c4ea3baa3367e020d45f179",
      "parents": [
        "c96e96354a6c9456cdf1f150eca504e2ea35301e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Sat Dec 18 17:20:47 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 05 16:07:12 2011 -0500"
      },
      "message": "mac80211: implement hardware offload for remain-on-channel\n\nThis allows drivers to support remain-on-channel\noffload if they implement smarter timing or need\nto use a device implementation like iwlwifi.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "67408c8c7b9daf28b50e33be3541334c07d15789",
      "tree": "ac11ea966add7f7187274fcf9e647c5227099108",
      "parents": [
        "e1e5406854378dfada3f33c7192b012083a5b8e0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 30 08:59:23 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 22 14:33:37 2010 -0500"
      },
      "message": "mac80211: selective throughput LED trigger active\n\nThe throughput LED trigger was always active when\nthe radio was enabled. In most cases that\u0027s likely\nthe desired behaviour, but iwlwifi requires it to\nbe only active when one of the virtual interfaces\nis actually \"connected\" in some way.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e1e5406854378dfada3f33c7192b012083a5b8e0",
      "tree": "e878058f28b8f6db50ef5d73d09aed66dd9ad9f2",
      "parents": [
        "fe67c913f1ec2a01aaa9176c80ef36eaf87d705d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 30 08:58:45 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 22 14:33:37 2010 -0500"
      },
      "message": "mac80211: add throughput based LED blink trigger\n\niwlwifi and other drivers like to blink their LED\nbased on throughput. Implement this generically in\nmac80211, based on a throughput table the driver\nspecifies. That way, drivers can set the blink\nfrequencies depending on their desired behaviour\nand max throughput.\n\nAll the drivers need to do is provide an LED class\ndevice, best with blink hardware offload.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\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": "09b174702601079c3a04806754be30ffbd70db4d",
      "tree": "a98e00fafeb106a8d9fb3d336250bb4220be09ac",
      "parents": [
        "45904f21655cf4f0ae7d0fab5906fe51bf56ecf4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Dec 03 09:20:41 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 06 16:01:28 2010 -0500"
      },
      "message": "mac80211: move mesh filter adjusting\n\nLogically, the filter adjusting belongs with\nstarting/stopping mesh, not interface up/down,\nso move it there.\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": "352ffad646c0e0c5cf9ae8cea99710ee0d66ee27",
      "tree": "41987fe0c7e00dfc3aa6871f1a51007e42f22c03",
      "parents": [
        "fbb078fcd2fa83646ad9504d8e4c54a67b8729ae"
      ],
      "author": {
        "name": "Brian Cavagnolo",
        "email": "brian@cozybit.com",
        "time": "Thu Nov 04 16:59:28 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 08 16:53:47 2010 -0500"
      },
      "message": "mac80211: unset SDATA_STATE_OFFCHANNEL when cancelling a scan\n\nFor client STA interfaces, ieee80211_do_stop unsets the relevant\ninterface\u0027s SDATA_STATE_RUNNING state bit prior to cancelling an\ninterrupted scan.  When ieee80211_offchannel_return is invoked as\npart of cancelling the scan, it doesn\u0027t bother unsetting the\nSDATA_STATE_OFFCHANNEL bit because it sees that the interface is\ndown.  Normally this doesn\u0027t matter because when the client STA\ninterface is brought back up, it will probably issue a scan.  But\nin some cases (e.g., the user changes the interface type while it\nis down), the SDATA_STATE_OFFCHANNEL bit will remain set.  This\nprevents the interface queues from being started.  So we\ncancel the scan before unsetting the SDATA_STATE_RUNNING bit.\n\nSigned-off-by: Brian Cavagnolo \u003cbrian@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7be5086d4cb7cceb71d724a9524d5e927785d04f",
      "tree": "eaf0b7d527b9b91c704c8f339d855923c0a34571",
      "parents": [
        "271733cf844a2f5f186ef3b40c26d6397b71039a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Oct 13 12:06:24 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 13 15:45:22 2010 -0400"
      },
      "message": "mac80211: add probe request filter flag\n\nUsing the frame registration notification, we\ncan see when probe requests are requested and\nnotify the low-level driver via filtering. The\nflag is also set in AP and IBSS modes.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "53f73c09d64f1fa7d7e6e8b6bb7468d42eddc92d",
      "tree": "a9284928f65ad33b3cbef9625871bb0c0116f875",
      "parents": [
        "845d708e62f08a45ff716fdb270c52585cad31d0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Oct 05 19:37:40 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 06 16:30:40 2010 -0400"
      },
      "message": "mac80211: avoid transmitting delBA to old AP\n\nWhen roaming while we have active BA session,\nwe can end up transmitting delBA frames to\nthe old AP while we\u0027re already on the new AP\u0027s\nchannel, which can cause warnings.\n\nSimply avoid sending those frames, but still\ntear down the internal session state, since\nthey are not really necessary anyway as we\nwill implicitly disassociate when sending the\nassociation to the new AP.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1be7fe8de9f25e173282f8f989f83bc5b5decfe9",
      "tree": "e7b45e034560f6dc0f0403d098d85e1c94a3b3e1",
      "parents": [
        "e8347ebad2f1b15bddb6ed3ed5f767531eb52dc3"
      ],
      "author": {
        "name": "Bill Jordan",
        "email": "bjordan@rajant.com",
        "time": "Fri Oct 01 11:20:41 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:25 2010 -0400"
      },
      "message": "mac80211: fix for WDS interfaces\n\nInitialize the rate table for WDS interfaces, and\nadd cases to allow WDS packets to pass the xmit and receive\ntests.\n\nSigned-off-by: Bill Jordan \u003cbjordan@rajant.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "85416a4fa193754ef36e12b20bb02fe661cb7f17",
      "tree": "45228e888bd76a5f1251c55ea28377ddedfe2914",
      "parents": [
        "5a254ffe3ffdfa84fe076009bd8e88da412180d2"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@googlemail.com",
        "time": "Sat Oct 02 13:17:07 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:21 2010 -0400"
      },
      "message": "mac80211: fix rx monitor filter refcounters\n\nThis patch fixes an refcounting bug. Previously it\nwas possible to corrupt the per-device recv. filter\nand monitor management counters when:\n\tiw dev wlanX set monitor [new flags]\nwas issued on an active monitor interface.\n\nAcked-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: Christian Lamparter \u003cchunkeey@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2ca27bcff7127da1aa7dd39cd2a6f7cb187e327f",
      "tree": "fae1b81c56763a53d432310b8fcbb81b9bb48d7e",
      "parents": [
        "074ac8df9f93f2a35a356d92fd7f16cd846f0a03"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 16 14:58:23 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 16 15:46:07 2010 -0400"
      },
      "message": "mac80211: add p2p device type support\n\nWhen a driver advertises p2p device support,\nmac80211 will handle it, but internally it will\nrewrite the interface type to STA/AP rather than\nP2P-STA/GO since otherwise a lot of paths need\nto be touched that are otherwise identical. A\np2p boolean tells drivers whether or not a given\ninterface will be used for p2p or not.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2d2080c3c1d52e186166afc3efe5067291e618bf",
      "tree": "e90c4bcb6320e68cceb6a1695895cceae2e14cb3",
      "parents": [
        "46a5ebaf02d69e26ee0f47a0b8d2d9bc619240d4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Sep 15 15:13:13 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 16 15:46:01 2010 -0400"
      },
      "message": "mac80211: set running state earlier\n\nWhen an interface is brought up, the recent changes\nto allow changing type-while-up only set the running\nbit after everything was done. This broke a number\nof things, including idle calculation for monitor\ninterfaces, and it also broke WDS station insertion\n(although nobody noticed yet).\n\nThus, change the code to set the running bit earlier,\nbut keep it after the driver\u0027s add_interface was\ncalled because otherwise drivers may iterate over\ninterfaces they haven\u0027t fully set up yet.\n\nReported-by: Rajkumar Manoharan \u003crmanoharan@atheros.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "34d4bc4d41d282a66dafe1b01a7d46bad468cefb",
      "tree": "ac0936b00f1ebd037be32fd0e5f304f26366e6c0",
      "parents": [
        "87490f6db38999fee7f6d3dbecc5b94730c7e010"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 12:35:58 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:53:31 2010 -0400"
      },
      "message": "mac80211: support runtime interface type changes\n\nAdd support to mac80211 for changing the interface\ntype even when the interface is UP, if the driver\nsupports it.\n\nTo achieve this\n * add a new driver callback for switching,\n * split some of the interface up/down code out\n   into new functions (do_open/do_stop), and\n * maintain an own __SDATA_RUNNING bit that will\n   not be set during interface type, so that any\n   other code doesn\u0027t use the interface.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "87490f6db38999fee7f6d3dbecc5b94730c7e010",
      "tree": "d32a07b51aaa9349f779af63901eec8fa267ac8c",
      "parents": [
        "bf533e0bfd77d9671adabdf134b1ac7f24bb0670"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 12:35:57 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:53:31 2010 -0400"
      },
      "message": "mac80211: split out concurrent vif checks\n\nSplit the concurrent virtual interface checks\ninto a new function that can be used to check\nfor any given new interface type.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bf533e0bfd77d9671adabdf134b1ac7f24bb0670",
      "tree": "80246d2a03e3aa1b6ebea0760cb4beab67e58f3d",
      "parents": [
        "26a58456be40d8181b884eb5b4e61e3f73ba94e0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 12:35:56 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:53:30 2010 -0400"
      },
      "message": "mac80211: simplify zero address checks\n\nThe libertas_tf special code for zero addresses\nis a bit too complex, it compares against a stack\nvalue instead of using is_zero_ether_addr() and\ntries to update all interfaces even if just the\none that\u0027s being brought up needs to be changed.\nAdditionally, the repeated check for a valid MAC\naddress need only be done if we actually changed\nit on the fly.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b9dcf712d1fb98bf279fcd453a42a763b104961d",
      "tree": "a09aa20ca2c26dbf9439beca7c8c9a403e70c8b5",
      "parents": [
        "2337db8db845ece2d4ab7673a343e285f1bfda85"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 12:35:54 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:53:30 2010 -0400"
      },
      "message": "mac80211: clean up ifdown/cleanup paths\n\nThere\u0027s a lot of redundant code in mac80211\u0027s\ninterface cleanup/down, for example freeing\nAP beacons is done both when the interface is\nset DOWN as well as when it is torn down, of\nwhich only the former has any effect.\n\nAlso, a bunch of things should be closer to\nwhere they matter, like the MLME timers that\nwe should cancel when disassociating, rather\nthan only when the interface is set DOWN.\n\nClean up all this code.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a621fa4d6a7fdf9d34938d2e129a72624833eeeb",
      "tree": "1b15e9fabbec3b2bdf04f5cd60526c0154a0dcc1",
      "parents": [
        "c0692b8fe29fb4d4dad33487aabf3ed7e1e880c0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 14:26:54 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:27:07 2010 -0400"
      },
      "message": "mac80211: 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). Support this\nin mac80211 via the cfg80211 API for it.\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": "0fb9a9ec27718fbf7fa3153bc94becefb716ceeb",
      "tree": "8f5d6a5fa9f2c6b8b08273dc198d6187d0a70361",
      "parents": [
        "b62177a0aa0521fd07cd7501534c0c3b256ebce6"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Aug 20 16:25:38 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:33:17 2010 -0400"
      },
      "message": "net/mac80211: Use wiphy_\u003clevel\u003e\n\nStandardize logging messages from\n\tprintk(KERN_\u003clevel\u003e \"%s: \" fmt , wiphy_name(foo), args);\nto\n\twiphy_\u003clevel\u003e(foo, fmt, args);\n\nSigned-off-by: Joe Perches \u003cjoe@perches.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": "7da7cc1d42d8ce02cca16df8c021e6d657f1f8fd",
      "tree": "3d18e0b36edfcc015d27f66890cf4a8d60c45bda",
      "parents": [
        "1fdaa46e9f26ccbab5e0eb8c4d4f8e1fbf32c7df"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Aug 05 17:02:38 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 16 15:26:40 2010 -0400"
      },
      "message": "mac80211: per interface idle notification\n\nSometimes we don\u0027t just need to know whether or\nnot the device is idle, but also per interface.\nThis adds that reporting capability to mac80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4e6cbfd09c66893e5134c9896e9af353c2322b66",
      "tree": "274e8374c2b097058a5152da3bf6cf62d99dbad7",
      "parents": [
        "68e887ef21dfd9adcf896ef92a9676bf9036a0aa"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jul 29 16:14:13 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 16 14:39:46 2010 -0400"
      },
      "message": "mac80211: support use of NAPI for bottom-half processing\n\nThis patch implement basic infrastructure to support use of NAPI by\nmac80211-based hardware drivers.\n\nBecause mac80211 devices can support multiple netdevs, a dummy netdev\nis used for interfacing with the NAPI code in the core of the network\nstack.  That structure is hidden from the hardware drivers, but the\nactual napi_struct is exposed in the ieee80211_hw structure so that the\npoll routines in drivers can retrieve that structure.  Hardware drivers\ncan also specify their own weight value for NAPI polling.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "53e9b1de6840d9047f768878adcbd1d116f72aca",
      "tree": "1926848bff27967029d24d954530f57845f36f3c",
      "parents": [
        "4ced3f74dae18715920cb680098ec7ff4345d0a3"
      ],
      "author": {
        "name": "David Gnedt",
        "email": "david.gnedt@davizone.at",
        "time": "Mon Jul 19 20:44:02 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 20 16:02:58 2010 -0400"
      },
      "message": "mac80211: set carrier on for monitor interfaces on ieee80211_open\n\nIf a station interface is reused as monitor interface it is possible that\nthe carrier is still set to off. This breaks packet injection on that\nmonitor interface.\nForce the carrier on in monitor interface initialisation like it is also done\nfor other interface types (e.g. adhoc, mesh point, ap).\n\nSigned-off-by: David Gnedt \u003cdavid.gnedt@davizone.at\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "875ae5f68883c75aad826e715df8ec0619551a07",
      "tree": "6fd0fb7822a5c58b210e256738756355363e5cd7",
      "parents": [
        "b807b8a16bee27eb93a3393c173ce209a992ef18"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sat Jul 17 15:59:07 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 20 16:02:58 2010 -0400"
      },
      "message": "mac80211: fix aggregation action frame handling with AP VLANs\n\nWhen aggregation related action frames are enqueued for further work,\nand they originate from a STA that is part of an AP VLAN, they are\ncurrently enqueued for the AP interface. This breaks the sta_info_get()\nlookup in the actual work function, and because of that, aggregation\nsessions are not established for this STA.\n\nFix this by replacing the sta_info_get call with a call to\nsta_info_get_bss.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "685429623f88d84f98bd5daffc3c427c408740d4",
      "tree": "d50f119094dd3fb7668f837dbe50857d11bb4fa3",
      "parents": [
        "5ea096c0c85e80335889539899af9a4717976e0b"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Wed Jun 09 13:43:26 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:42:31 2010 -0400"
      },
      "message": "mac80211: Fix circular locking dependency in ARP filter handling\n\nThere is a circular locking dependency when configuring the\nhardware ARP filters on association, occurring when flushing the mac80211\nworkqueue. This is what happens:\n\n[   92.026800] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[   92.030507] [ INFO: possible circular locking dependency detected ]\n[   92.030507] 2.6.34-04781-g2b2c009 #85\n[   92.030507] -------------------------------------------------------\n[   92.030507] modprobe/5225 is trying to acquire lock:\n[   92.030507]  ((wiphy_name(local-\u003ehw.wiphy))){+.+.+.}, at: [\u003cffffffff8105b5c0\u003e] flush_workq\nueue+0x0/0xb0\n[   92.030507]\n[   92.030507] but task is already holding lock:\n[   92.030507]  (rtnl_mutex){+.+.+.}, at: [\u003cffffffff812b9ce2\u003e] rtnl_lock+0x12/0x20\n[   92.030507]\n[   92.030507] which lock already depends on the new lock.\n[   92.030507]\n[   92.030507]\n[   92.030507] the existing dependency chain (in reverse order) is:\n[   92.030507]\n[   92.030507] -\u003e #2 (rtnl_mutex){+.+.+.}:\n[   92.030507]        [\u003cffffffff810761fb\u003e] lock_acquire+0xdb/0x110\n[   92.030507]        [\u003cffffffff81341754\u003e] mutex_lock_nested+0x44/0x300\n[   92.030507]        [\u003cffffffff812b9ce2\u003e] rtnl_lock+0x12/0x20\n[   92.030507]        [\u003cffffffffa022d47c\u003e] ieee80211_assoc_done+0x6c/0xe0 [mac80211]\n[   92.030507]        [\u003cffffffffa022f2ad\u003e] ieee80211_work_work+0x31d/0x1280 [mac80211]\n\n[   92.030507] -\u003e #1 ((\u0026local-\u003ework_work)){+.+.+.}:\n[   92.030507]        [\u003cffffffff810761fb\u003e] lock_acquire+0xdb/0x110\n[   92.030507]        [\u003cffffffff8105a51a\u003e] worker_thread+0x22a/0x370\n[   92.030507]        [\u003cffffffff8105ecc6\u003e] kthread+0x96/0xb0\n[   92.030507]        [\u003cffffffff81003a94\u003e] kernel_thread_helper+0x4/0x10\n[   92.030507]\n[   92.030507] -\u003e #0 ((wiphy_name(local-\u003ehw.wiphy))){+.+.+.}:\n[   92.030507]        [\u003cffffffff81075fdc\u003e] __lock_acquire+0x1c0c/0x1d50\n[   92.030507]        [\u003cffffffff810761fb\u003e] lock_acquire+0xdb/0x110\n[   92.030507]        [\u003cffffffff8105b60e\u003e] flush_workqueue+0x4e/0xb0\n[   92.030507]        [\u003cffffffffa023ff7b\u003e] ieee80211_stop_device+0x2b/0xb0 [mac80211]\n[   92.030507]        [\u003cffffffffa0231635\u003e] ieee80211_stop+0x3e5/0x680 [mac80211]\n\nThe locking in this case is quite complex. Fix the problem by rewriting the\nway the hardware ARP filter list is handled - i.e. make a copy of the address\nlist to the bss_conf struct, and provide that list to the hardware driver\nwhen needed.\n\nThe current patch will enable filtering also in promiscuous mode. This may need\nto be changed in the future.\n\nReported-by: Reinette Chatre \u003creinette.chatre@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": "a93e364430de7f7a5f4eedd604ad1ab3d825dde5",
      "tree": "441f0f69dc5b08d79c5f5f4e7adae88ad18dbd86",
      "parents": [
        "f955ebb44798e0058c987a0817810d2542e87349"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:46 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:28 2010 -0400"
      },
      "message": "mac80211: change RX aggregation locking\n\nTo prepare for allowing drivers to sleep in\nampdu_action, change the locking in the RX\naggregation code to use a mutex, so that it\nwould already allow drivers to sleep. But\nexplicitly disable BHs around the callback\nfor now since the TX part cannot yet sleep,\nand drivers\u0027 locking might 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": "c1475ca99edcc7216ddc45838ab2c3281c14ba22",
      "tree": "3f1a5fd9c2fce428382cf49e3140c281a49e006b",
      "parents": [
        "344eec67c7b8557234e149d254bca2ae9614d61e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:37 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:27 2010 -0400"
      },
      "message": "mac80211: move aggregation callback processing\n\nThis moves the aggregation callback processing\nto the per-sdata skb queue and a work function\nrather than the tasklet.\n\nUnfortunately, this means that it extends the\npkt_type hack to that skb queue. However, it\nwill enable making ampdu_action API changes\ngradually, my current plan is to get rid of\nthis again by forcing drivers to only return\nfrom ampdu_action() when everything is done,\nthus removing the callbacks completely.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "344eec67c7b8557234e149d254bca2ae9614d61e",
      "tree": "a7243e1f8c67adf535be457b4ccccb212259f41c",
      "parents": [
        "bed7ee6e44cb7633a4f9821688a6c7ae977615ed"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:36 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:27 2010 -0400"
      },
      "message": "mac80211: move blockack stop due to fragmentation\n\nThere\u0027s a corner case where we receive a fragmented\nframe during a blockack session, in which case we\nwill terminate that session. To simplify future work\nin this area that will culminate in allowing the\ndriver callbacks for aggregation to sleep, move the\nprocessing of this case out of the RX path into the\ninterface work.\n\nThis will simplify future work because the new place\nfor this code doesn\u0027t require that the function will\nalways be atomic, which the RX path needs.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bed7ee6e44cb7633a4f9821688a6c7ae977615ed",
      "tree": "0c4997408d74abbde021b11b6b1046d815524e15",
      "parents": [
        "77a121c3a88eb00a4b5e753d083dbb7d49fefb0a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:35 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:26 2010 -0400"
      },
      "message": "mac80211: always process blockack action from workqueue\n\nTo prepare for making the ampdu_action callback\nsleep, make mac80211 always process blockack\naction frames from the skb queue. This gets rid\nof the current special case for managed mode\ninterfaces as well.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "36b3a628a4e85d002ee8813ebd2a5caef6d3c1a7",
      "tree": "927219d1cf6ef466ec574c8172365fa1b37d53be",
      "parents": [
        "1fa57d017366fb26b58af110a38b36a4f0214a62"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:33 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:26 2010 -0400"
      },
      "message": "mac80211: common work skb freeing\n\nAll the management processing functions free the\nskb after they are done, so this can be done in\nthe new common code instead.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1fa57d017366fb26b58af110a38b36a4f0214a62",
      "tree": "9bf7e82b3e429908498a70aa5c75c2af06b261b6",
      "parents": [
        "64592c8fc0e99d445fc3fdedddeb6088e20086f1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:32 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:38:17 2010 -0400"
      },
      "message": "mac80211: use common work function\n\nEven with the previous patch, IBSS, managed\nand mesh modes all attach their own work\nfunction to the shared work struct, which\nmeans some duplicated code. Change that to\nonly have a frame processing function and a\nfurther work function for each of them and\nshare some common code.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "64592c8fc0e99d445fc3fdedddeb6088e20086f1",
      "tree": "2493358821abc4050b25f8a0bd813b763b188d38",
      "parents": [
        "35f20c14a103ca2c7062999e934a513b83d84de6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:31 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:38:17 2010 -0400"
      },
      "message": "mac80211: use common work struct\n\nIBSS, managed and mesh modes all have their\nown work struct, and in the future we want\nto also use it in other modes to process\nframes from the now common skb queue.\n\nThis also makes the skb queue and work safe\nto use from other interface types.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "35f20c14a103ca2c7062999e934a513b83d84de6",
      "tree": "780e5dd272b685d7b82fdd849b886553d203c430",
      "parents": [
        "2a419056c15478d2df3f3e9d4fa64e34eb1faa7d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:30 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:38:17 2010 -0400"
      },
      "message": "mac80211: use common skb queue\n\nIBSS, managed and mesh modes all have an\nskb queue, and in the future we want to\nalso use it in other modes, so make them\nall use a common skb queue already.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2a419056c15478d2df3f3e9d4fa64e34eb1faa7d",
      "tree": "680342d6b883c18eec9003f2b93abd8ffd1e6ae6",
      "parents": [
        "9d38d85de0270e3927bffab94973a9c78d1dc800"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:29 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:38:16 2010 -0400"
      },
      "message": "mac80211: simplify station/aggregation code\n\nA number of places use RCU locking for accessing\nthe station list, even though they do not need\nto. Use mutex locking instead to prepare for the\nlocking changes I want to make. The mlme code is\nalso using a WLAN_STA_DISASSOC flag that has the\nsame meaning as WLAN_STA_BLOCK_BA, so use that.\n\nWhile doing so, combine places where we loop\nover stations twice, and optimise away some of\nthe loops by checking if the hardware supports\naggregation at all first.\n\nAlso fix a more theoretical race condition: right\nnow we could resume, set up an aggregation session,\nand right after tear it down again due to the code\nthat is needed for hardware reconfiguration here.\nAlso mark add a comment to that code marking it as\na workaround.\n\nFinally, remove a pointless aggregation disabling\nloop when an interface is stopped, directly after\nthat we remove all stations from it which will also\ndisable all aggregation sessions that may still be\nactive, and does so in a race-free way unlike the\ncurrent loop that doesn\u0027t block new sessions.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ad0e2b5a00dbec303e4682b403bb6703d11dcdb2",
      "tree": "b7aeb06a284af0cfb4aa1de840592478b373f554",
      "parents": [
        "efe4c457a1d4e56840c42bf2e409dc04e8ad4304"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jun 01 10:19:19 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 03 14:10:46 2010 -0400"
      },
      "message": "mac80211: simplify key locking\n\nSince I recently made station management able\nto sleep, I can now rework key management as\nwell; since it will no longer need a spinlock\nand can also use a mutex instead, a bunch of\ncode to allow drivers\u0027 set_key to sleep while\nkey management is protected by a spinlock can\nnow be removed.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e0961f112cd88176acc6d1af6ca6352f85cdf993",
      "tree": "084acde7dd4f3ca8b3a27dd8de03191ef8a97450",
      "parents": [
        "761ab470364b550c9b1a5e1e31be51d415aaf42b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri May 28 14:48:52 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 03 14:10:45 2010 -0400"
      },
      "message": "mac80211: remove useless work starting\n\nEver since we use only cfg80211 for configuration,\nthere is no configuration that could be pending at\nthis point, cfg80211 will have the configuration\nthat is pending and apply it afterwards.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "871039f02f8ec4ab2e5e9010718caa8e085786f1",
      "tree": "f0d2b3127fc48c862967d68c46c2d46668137515",
      "parents": [
        "e4077e018b5ead3de9951fc01d8bf12eeeeeefed",
        "4a1032faac94ebbf647460ae3e06fc21146eb280"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 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/stmmac/stmmac_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_cmd.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_spi.c\n\tnet/core/ethtool.c\n\tnet/mac80211/scan.c\n"
    },
    {
      "commit": "22bedad3ce112d5ca1eaf043d4990fa2ed698c87",
      "tree": "b6fba5688d48b1396f01d13ee53610dea7749c15",
      "parents": [
        "a748ee2426817a95b1f03012d8f339c45c722ae1"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu Apr 01 21:22:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:22:15 2010 -0700"
      },
      "message": "net: convert multicast list to list_head\n\nConverts the list and the core manipulating with it to be the same as uc_list.\n\n+uses two functions for adding/removing mc address (normal and \"global\"\n variant) instead of a function parameter.\n+removes dev_mcast.c completely.\n+exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for\n manipulation with lists on a sandbox (used in bonding and 80211 drivers)\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "1e4dcd012423b6a28f968a55886d2b27896a1586",
      "tree": "c2eadaf6a33175840b2f5d8fb7dd6af1d5be76ed",
      "parents": [
        "43ead78ac48b75aaf47de96fcf10cbf5962f32a6"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Fri Mar 19 07:14:53 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Mar 23 16:51:42 2010 -0400"
      },
      "message": "mac80211: Add support for connection monitor in hardware\n\nThis patch is based on a RFC patch by Kalle Valo.\n\nThe wl1271 has a feature which handles the connection monitor logic\nin hardware, basically sending periodically nullfunc frames and reporting\nto the host if AP is lost, after attempting to recover by sending\nprobe-requests to the AP.\n\nAdd support to mac80211 by adding a new flag IEEE80211_HW_CONNECTION_MONITOR\nwhich prevents conn_mon_timer from triggering during idle periods, and\nprevents sending probe-requests to the AP if beacon-loss is indicated by the\nhardware.\n\nCc: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fa9029f8c34576e121a4b6ddbbd645081fe50c74",
      "tree": "0b098868b2d6f9db43c8342b2d2a1df99f3ccd3f",
      "parents": [
        "df13cce53a7b28a81460e6bfc4857e9df4956141"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Feb 25 15:13:11 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Mar 09 15:03:07 2010 -0500"
      },
      "message": "mac80211: use different MAC addresses for virtual interfaces\n\nDrivers can now advertise to cfg80211 that they have\nmultiple MAC addresses reserved for a device, but we\ndon\u0027t currently make use of that in mac80211.\n\nChange that and assign different addresses to new\nvirtual interfaces (if addresses are available) in\norder to make it easier for users to use multiple\nvirtual interfaces; they no longer need to always\nassign a new MAC address manually.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2f5265e6e785b2a666dd985ea157bc8c260be8fa",
      "tree": "ce12947c600cc0e6de2cf0cab57cb518b09b907c",
      "parents": [
        "f318d658decb5789cfbb43041daf3dc3aade1df0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Feb 12 10:45:05 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 15 16:12:52 2010 -0500"
      },
      "message": "mac80211: fix netdev rename\n\nFix a copy bug introduced by\n\n    commit 47846c9b0c10808d9337d2e7d09361f3e0a0a71a\n    Author: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\n    Date:   Wed Nov 25 17:46:19 2009 +0100\n\n        mac80211: reduce reliance on netdev\n\nThis manifested itself only in debug messages\nand in the debugfs rename failure that would\nalways happen due to trying to rename the dir\nover itself.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nTested-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "861a57cd01f97e984320b5aeeee019ede48c714d",
      "tree": "aeb4997f87d97299bad1563bc93b6ec2df015e06",
      "parents": [
        "031cf0e94c9c8302a4592707939d6c2039f17f28"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Tue Jan 12 04:08:26 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 19 16:25:07 2010 -0500"
      },
      "message": "mac80211: fix WMM AC default for non-QoS data frames\n\nThe WMM AC selection added to the monitor mode selection function\naccidentally assigns non-QoS data frames to the same AC as mgmt frames\n(VO). This is not serious, but should be fixed anyway. This patch\nassigns them to the BE AC instead.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "031cf0e94c9c8302a4592707939d6c2039f17f28",
      "tree": "02f3f0d3f89f03217bdb83530af30a95c9ab6191",
      "parents": [
        "730dd70549e0ec755dd55615ba5cfc38a482a947",
        "ad580db50ee8dccd069ffcd76d6f70fa6d4a62a8"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 19 15:58:41 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 19 15:58:41 2010 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "37eb0b164cf9fa9f70c8500926f5cde7c652f48e",
      "tree": "9260e7045f32268c8c4ded718677711d371cd5ed",
      "parents": [
        "e00cfce0cb2a397859607bf515c6de9ce064b64a"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Wed Jan 06 13:09:08 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:50:11 2010 -0500"
      },
      "message": "cfg80211/mac80211: Use more generic bitrate mask for rate control\n\nExtend struct cfg80211_bitrate_mask to actually use a bitfield mask\ninstead of just a single fixed or maximum rate index. This change\nitself does not modify the behavior (except for debugfs files), but it\nprepares cfg80211 and mac80211 for a new nl80211 command for setting\nwhich rates can be used in TX rate control.\n\nSince frames are now going through the rate control algorithm\nunconditionally, the internal IEEE80211_TX_INTFL_RCALGO flag can now\nbe removed. The RC implementations can use the rate_idx_mask value to\noptimize their behavior if only a single rate is enabled.\n\nThe old max_rate_idx in struct ieee80211_tx_rate_control is maintained\n(but commented as deprecated) for backwards compatibility with existing\nRC implementations. Once these implementations have been updated to\nuse the more generic rate_idx_mask, the max_rate_idx value can be\nremoved.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "193e70ef65a6c33f2935ce1f4adeb08ecb9202cf",
      "tree": "f079d1fe437bb9cd1f69ace985114e074c65a023",
      "parents": [
        "39825f4dc9f4e409e8ea43ef4df04a924699ad1f"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Mon Jan 11 06:47:00 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 11 19:37:09 2010 -0500"
      },
      "message": "mac80211: fix queue selection for data frames on monitor interfaces\n\nWhen ieee80211_monitor_select_queue encounters data frames, it selects\nthe WMM AC based on skb-\u003epriority and assumes that skb-\u003epriority\ncontains a valid 802.1d tag. However this assumption is incorrect, since\nieee80211_select_queue has not been called at this point.\nIf skb-\u003epriority \u003e 7, an array overrun occurs, which could lead to\ninvalid values, resulting in crashes in the tx path.\nFix this by setting skb-\u003epriority based on the 802.11 header for QoS\nframes and using the default AC for all non-QoS frames.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b49bb574e44226b332c28439999d196ddec2f643",
      "tree": "39343a3c05998f27408af743c99d1f1795d28595",
      "parents": [
        "d79074488083ec0d7ecd15352192dc1631f25643"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jan 08 19:00:00 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 08 15:49:29 2010 -0500"
      },
      "message": "mac80211: fix endian error\n\nI forgot to convert the radiotap length to\nCPU endian, which sparse found thankfully.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "045cfb71a3901005bf6dcedae98cecb3360a0bfc",
      "tree": "ab237ace8b3e71cc7ac2e5a8a7f6b79a7a959bf2",
      "parents": [
        "8a5b33f55452c226aa0e47d737e541985ff10e16"
      ],
      "author": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@wantstofly.org",
        "time": "Thu Jan 07 15:01:42 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 08 15:49:15 2010 -0500"
      },
      "message": "mac80211: fix queue selection for packets injected via monitor interface\n\nCommit \u0027mac80211: fix skb buffering issue\u0027 added an -\u003endo_select_queue()\nfor monitor interfaces which can end up dereferencing ieee802_1d_to_ac[]\nbeyond the end of the array for injected data packets (as skb-\u003epriority\nisn\u0027t guaranteed to be zero or within [0:7]), which then triggers the\nWARN_ON in net/core/dev.c:dev_cap_txqueue().  Fix this by always setting\nthe priority to zero on injected data frames.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cfa6cb2048beb35ae7f1d2fa19160aab240557d1",
      "tree": "9f3215138783d7a6cfd341e51495c1c2a725cfb4",
      "parents": [
        "8271195e38d01f3551bb10b1c7de856cd8507882",
        "8a5b33f55452c226aa0e47d737e541985ff10e16"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 06 17:22:54 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 06 17:26:13 2010 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tnet/mac80211/scan.c\n\tnet/mac80211/wme.c\n"
    }
  ],
  "next": "8a5b33f55452c226aa0e47d737e541985ff10e16"
}
