)]}'
{
  "log": [
    {
      "commit": "dc9f48ce7c7d345be31208def51572a8250a4a03",
      "tree": "c8989c1905d740bb49c1b186b909b8408c1a4315",
      "parents": [
        "d654567dec75782d6fd9add4b7b9c50e0926d369"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Wed Oct 27 13:40:33 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 27 15:46:51 2010 -0400"
      },
      "message": "mac80211: Fix scan_ies_len to include DS Params\n\nCommit 651b52254fc061f02d965524e71de4333a009a5a added DS Parameter Set\ninformation into Probe Request frames that are transmitted on 2.4 GHz\nband, but it failed to increment local-\u003escan_ies_len to cover this new\ninformation. This variable needs to be updated to match the maximum IE\ndata length so that the extra buffer need gets reduced from the driver\nlimit.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "99b88a0ecbdbc6df03527292571b2b442965814a",
      "tree": "71a5c8b9e0dcb6e6a07c182e05b97bff8095a348",
      "parents": [
        "229aebb873e29726b91e076161649cf45154b0bf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Oct 15 17:35:28 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 25 14:43:12 2010 -0400"
      },
      "message": "mac80211: cancel restart_work explicitly instead of depending on flush_scheduled_work()\n\niee80211_hw-\u003erestart_work is the only work which uses the system\nworkqueue.  Instead of calling flush_scheduled_work() during\niee80211_exit(), cancel the work during unregistration.\n\nThis is to prepare for the deprecation and removal of\nflush_scheduled_work().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c64557d666eb62eb5f296c6b93bd0a5525ed1e36",
      "tree": "1e25cc32521d06ae876de18bb8e48b3cf9d30808",
      "parents": [
        "1a63c353c856c9f6d44a533afb6ad6dbbcdea683",
        "0d91f22b75347d9503b17a42b6c74d3f7750acd6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 15 16:11:56 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 15 16:11:56 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "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": "e9a68707d736f4f73d7e209885d7b4c5c452b1dc",
      "tree": "d9f76964c77c1059483b08436ed060b702b8e25d",
      "parents": [
        "dd53df265b1ee7a1fbbc76bb62c3bec2383bbd44",
        "15a6321d1c0f8db561932cd99e1b9897981da71f"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 08 15:39:28 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 08 15:39:28 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ipw2x00/ipw2200.c\n"
    },
    {
      "commit": "4136c4224ccf1907d309e1cdfaefef9da97dbc5e",
      "tree": "be65af6057850d068b7858f5679a00b64fb2e92d",
      "parents": [
        "e229f844d7223b7063bea1e649203ac521a58fe1"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Wed Oct 06 11:22:10 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 06 16:30:42 2010 -0400"
      },
      "message": "mac80211: assure we also cancel deferred scan request\n\nThis is partial revert and fix for commit\n85f72bc839705294b32b6c16b491c0422f0a71b3 \"mac80211: only cancel\nsoftware-based scans on suspend\"\n\nWhen cfg80211 request the scan and mac80211 perform some management work,\nwe defer the scan request. We do not canceling such requests when calling\nieee80211_scan_cancel(), because of SCAN_SW_SCANNING bit check just\nbefore the call. So fix that problem.\n\nAnother problem, which commit 85f72bc839705294b32b6c16b491c0422f0a71b3\ntries to solve, is we can not cancel HW scan. Hence patch make\nieee80211_scan_cancel() ignore HW scan (see code comments). Keeping\nlocal-\u003emtx lock assures that the deferred scan will not become\n\"working\" HW scan.\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "025e6be220e448c02045e8499c7db8ce4bc8eea2",
      "tree": "0b28807104e80926d33eec8634dd94c5561e64ab",
      "parents": [
        "6774889314ba507483e63c014fcb81adfc127202"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Oct 05 10:41:47 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:37:51 2010 -0400"
      },
      "message": "mac80211: fix deadlock with multiple interfaces\n\nThe locking around ieee80211_recalc_smps is\nbuggy -- it cannot acquire another interface\u0027s\nmutex while the iflist mutex is held because\nanother code path could be holding the iface\nmutex and trying to acquire the iflist mutex.\n\nBut the locking is also unnecessary, we only\ncheck \"ifmgd-\u003eassociated\" as a bool, and don\u0027t\nuse the pointer (in check_mgd_smps).\n\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "78be49ec2a0df34de9441930fdced20311fd709f",
      "tree": "0eb6da18b78abc19e58b1cfd2375c548454186a8",
      "parents": [
        "5a5b6ed6ce46be128f2a5a9e56f47193c3ac3e32"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Sat Oct 02 11:31:55 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:28 2010 -0400"
      },
      "message": "mac80211: distinct between max rates and the number of rates the hw can report\n\nSome drivers cannot handle multiple retry rates specified by the rc\nalgorithm but instead use their own retry table (for example rt2800).\nHowever, if such a device registers itself with a max_rates value of 1\nthe rc algorithm cannot make use of the extended information the device\ncan provide about retried rates. On the other hand, if a device\nregisters itself with a max_rates value \u003e 1 the rc algorithm assumes\nthat the device can handle multi rate retries.\n\nFix this issue by introducing another hw parameter max_report_rates that\ncan be set to a different value then max_rates to indicate if a device\nis capable of reporting more rates then specified in max_rates.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.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": "bc86863de63e6ae7ec6f9f524604631608c6cb02",
      "tree": "ae4d1096ea66a03e23f515739d630dc85e61aa86",
      "parents": [
        "8e0167a4bdce4adcea64d2197378673d332cda28"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Fri Oct 01 14:05:27 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:24 2010 -0400"
      },
      "message": "mac80211: perform scan cancel in hw reset work\n\nMove ieee80211_scan_cancel() and all other related code to\nieee80211_restart_work() as ieee80211_restart_hw() is intended to be\ncallable from any context.\n\nFix a bug that RTNL lock is not taken during ieee80211_cancel_scan().\n\nTake local-\u003emtx before WARN(test_bit(SCAN_HW_SCANNING, \u0026local-\u003escanning)\nto prevent the race condition with __ieee80211_start_scan() described\nhere: http://marc.info/?l\u003dlinux-wireless\u0026m\u003d128516716810537\u0026w\u003d2\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "41f4a6f71fe33faa7971c173c263fb431fe987fe",
      "tree": "fdc3e603162e3ad63f6ae4160f68eb803bb78d58",
      "parents": [
        "94d57c4cfaa43e29ca5fa5ff874048cfc67276f5",
        "1728943d83e9fd919e454332fe344944123b3c3a"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 01 11:12:36 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 01 11:12:36 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "8d4780eb1ece4e8109b4f6b2e5e61f7fc593c3f4",
      "tree": "4d68c0dea0d852cddc64e0d65a2d303c918c0e6d",
      "parents": [
        "d99bf6e707444af4df294f54a679f679018d7ec3"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Fri Sep 24 21:59:57 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 28 15:47:55 2010 -0400"
      },
      "message": "mac80211: fix offchannel assumption upon association\n\nAssociation is dealt with as an atomic offchannel operation,\nwe do this because we don\u0027t know we are associated until we\nget the associatin response from the AP. When we do get the\nassociatin response though we were never clearing the offchannel\nstate. This has a few implications, we told drivers we were\nstill offchannel, and the first configured TX power for the\nchannel does not take into account any power constraints.\n\nFor ath9k this meant ANI calibration would not start upon\nassociation, and we\u0027d have to wait until the first bgscan\nto be triggered. There may be other issues this resolves\nbut I\u0027m too lazy to comb the code to check.\n\nCc: stable@kernel.org\nCc: Amod Bodas \u003camod.bodas@atheros.com\u003e\nCc: Vasanth Thiagarajan \u003cvasanth.thiagarajan@atheros.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "29ad2facd47f8e37eab8b156e2c384fa181c8b4a",
      "tree": "25d4df186cd631810ff15a8e7d37cb6cdd806cdb",
      "parents": [
        "6e5c2b4e8addfaab8ef54dedaf7b607e1585c35b",
        "cd87a2d3a33d75a646f1aa1aa2ee5bf712d6f963"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 24 15:52:34 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 24 15:52:34 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tdrivers/net/wireless/ath/ath5k/base.c\n\tnet/mac80211/main.c\n"
    },
    {
      "commit": "b618f6f885579a6237e5bf4582fa6167972ddef4",
      "tree": "b11508178570b98ce9cb2d76ecebd046a6f0e77c",
      "parents": [
        "462fb2af9788a82a534f8184abfde31574e1cfa0",
        "6e5c2b4e8addfaab8ef54dedaf7b607e1585c35b"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 21 15:49:14 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 21 15:49:14 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tarch/arm/mach-omap2/board-omap3pandora.c\n\tdrivers/net/wireless/ath/ath5k/base.c\n"
    },
    {
      "commit": "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": "95ae6b228f814fc0528d0506ee9f18ac333d6851",
      "tree": "d5287f3dee478e1bd5fa79e63192447c5bc91e92",
      "parents": [
        "9e0064a5456fd75fd7c70f6f3692c7f732f91a65"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 15 04:04:31 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 15 22:06:05 2010 -0700"
      },
      "message": "ipv4: ip_ptr cleanups\n\ndev-\u003eip_ptr is protected by rtnl and rcu.\n\nYet some places dont use appropriate primitives and/or locking rules.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "edeb78a7fa838b7fb9c2043680bd8da7cb5cb0e5",
      "tree": "6f788ac16b25e1ab065b5e01fe27676b8aecb9c7",
      "parents": [
        "e7e16b90b477a07d17af37dceb2e8af1ddbd9712"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Mon Sep 13 14:46:42 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 14 16:14:25 2010 -0400"
      },
      "message": "mac80211: wait for scan work complete before restarting hw\n\nThis is needed to avoid warning in ieee80211_restart_hw about hardware\nscan in progress.\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nAcked-by: Wey-Yi W Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e548833df83c3554229eff0672900bfe958b45fd",
      "tree": "85efc4a76dc356593d6d394776aeb845dc580fb6",
      "parents": [
        "cbd9da7be869f676afc204e1a664163778c770bd",
        "053d8f6622701f849fda2ca2c9ae596c13599ba9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/main.c\n"
    },
    {
      "commit": "18145c69349f2ab60c470798f83b3a2639e2a8d9",
      "tree": "459b583796289d587b21eb3390f5a09eb09a52de",
      "parents": [
        "cd35a3912188d006f251fff1028d84e1d1649ca2"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 30 15:12:02 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 31 15:20:45 2010 -0400"
      },
      "message": "mac80211: cancel scan in ieee80211_restart_hw if software scan pending\n\nThis function exists to clean-up after a hardware error or something\nsimilar.  The restart is accomplished using the same infrastructure used\nto resume after a suspend.  The suspend path cancels running scans, so\nit seems appropriate to do that here as well for software-based scans.\nIf a hardware-based scan is pending, issue a warning message since this\nindicates that the drivers has failed to clean-up after itself.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "071249b1d501b1f31a6b1af3fbcbe03158a84e5c",
      "tree": "f25daa4a50718b42ee8597a0b6b8c3ca86be7383",
      "parents": [
        "f880c2050f30b23c9b6f80028c09f76e693bf309"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Aug 25 14:47:38 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 30 16:02:34 2010 -0400"
      },
      "message": "mac80211: delete work timer\n\nThe new workqueue changes helped me find this bug\nthat\u0027s been lingering since the changes to the work\nprocessing in mac80211 -- the work timer is never\ndeleted properly. Do that to avoid having it fire\nafter all data structures have been freed. It can\u0027t\nbe re-armed because all it will do, if running, is\nschedule the work, but that gets flushed later and\nwon\u0027t have anything to do since all work items are\ngone by now (by way of interface removal).\n\nCc: stable@kernel.org [2.6.34+]\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "26a58456be40d8181b884eb5b4e61e3f73ba94e0",
      "tree": "d3284dcba4f286d1f666b1efca136c018791e692",
      "parents": [
        "b9dcf712d1fb98bf279fcd453a42a763b104961d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 12:35:55 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:53:30 2010 -0400"
      },
      "message": "mac80211: switch to ieee80211_sdata_running\n\nSince the introduction of ieee80211_sdata_running(),\nsome new code was introduced that uses netif_running()\ninstead. Switch all these instances over.\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": "3ffc2a905b1faae4c0fe39d66f0752c3a4cbb3c7",
      "tree": "d50902e1e171877e4fb034e36c837f16984ab9b4",
      "parents": [
        "7d64b7cc1fc33bab24567903a93f699d11649c0b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 14:26:52 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:27:07 2010 -0400"
      },
      "message": "mac80211: allow vendor specific cipher suites\n\nAllow drivers to specify their own set of cipher\nsuites to advertise vendor-specific ciphers. The\ndriver is then required to implement hardware\ncrypto offload 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": "5eb5a52da6ef04604cf8faca43ec670f69f417d3",
      "tree": "4d3397d83cb533ba4fa8dd47b884305c877b01d7",
      "parents": [
        "45f7e3116fad77e6dd15cb0e2eaccb7de7b806c9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Aug 25 14:34:01 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:34:56 2010 -0400"
      },
      "message": "mac80211: fix mesh advertisement\n\nWhen a mac80211-based driver advertises mesh mode\nsupport, this will be advertised to userspace.\nHowever, if mac80211 was compiled without mesh\nsupport, then that won\u0027t actually be true. Fix\nthis by removing the bit for mesh if mesh isn\u0027t\ncompiled in.\n\nSince this synchronizes what we advertise to\ncfg80211 and actually support, it means we can\nnow rely on cfg80211\u0027s interface type checks\nand need not check again in mac80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "258086a48b766d12a500f98834654ffa927ca475",
      "tree": "95090b63fbd9643693a8fe2e85b218356815bd4b",
      "parents": [
        "11791a6f7534906b4a01ffb54ba0b02ca39398ef"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@googlemail.com",
        "time": "Sun Aug 22 23:48:25 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 25 14:33:20 2010 -0400"
      },
      "message": "mac80211: cancel restart_work in ieee80211_unregister_hw\n\nUnlike most other workqueue-tasks, the restart_work is\nnot scheduled onto mac80211\u0027s private per-interface\nworkqueue, but onto one of the system-wide workqueues.\n\nTherefore the mac80211-stack has to cancel any pending\nrestarts, before destroying the shared device context\nand handing back the memory. Otherwise - under very\nunlucky circumstances - there could be a stale work-\nitem left, because some other kernel component might\nhave delayed the execution of ieee80211_restart_work\nfor too long.\n\nSigned-off-by: Christian Lamparter \u003cchunkeey@googlemail.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": "5daa8a8e691e28c6c725e7e91319b160b555c615",
      "tree": "61996afc92c70e16a27fdee190295cc00b223151",
      "parents": [
        "dc1580ddfc1f70636f6ef80a385902f7e8278deb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Aug 10 09:46:41 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 16 16:45:21 2010 -0400"
      },
      "message": "mac80211: dont advertise WEP if unavailable\n\nWhen WEP is unavailable, don\u0027t advertise it\nto cfg80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a1699b75a1db31a1da2f0fc610ee696d02a19280",
      "tree": "f10a936a42a4bd35b39496d64426b61e465c43a6",
      "parents": [
        "c240879f3488ae0904a7ba5bdaaa54638b2d8852"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jul 30 16:46:07 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 16 15:26:37 2010 -0400"
      },
      "message": "mac80211: unify scan and work mutexes\n\nHaving both scan and work mutexes is not just\na bit too fine grained, it also creates issues\nwhen there\u0027s code that needs both since they\nthen need to be acquired in the right order,\nwhich can be hard to do.\n\nTherefore, use just a single mutex for both.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ffd2778bb984afe3cc264e22a125c06587020aa3",
      "tree": "b27593154b333ccc9797f834bcc2e6f19fed39f6",
      "parents": [
        "4d7ede7f5ad58c5316335b9018ddef58bd687def"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Thu Jul 29 17:36:43 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 16 15:23:43 2010 -0400"
      },
      "message": "mac80211: fix driver offchannel notification when the channel does not change\n\nWhen running in client mode and associating to an AP, the channel\nchange is usually performed with the offchannel flag still set.\nHowever after the assoc is complete, the following channel change event\nis suppressed because the run time channel is already set to the operating channel.\nFix this by sending channel change notifications to the driver even if\nonly the offchannel flag changes.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\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": "93c08c32914264f539baf7f04cce310a0dd30a7a",
      "tree": "c59d790b05399ff4ae247f80d00cc339550bf232",
      "parents": [
        "93c0584ca92a76bd458c7fd505b1747901315156"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Tue Aug 03 08:22:25 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Aug 04 15:28:37 2010 -0400"
      },
      "message": "mac80211: Fix compilation warning when CONFIG_INET is not set\n\nThe warning is:\n  net/mac80211/main.c:688: warning: label ‘fail_ifa’ defined but not used\n\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4552124543141debf40a94b67155e57aa6bb34d6",
      "tree": "c2080f8be1a08c92a40bb05464800c05d4806152",
      "parents": [
        "a0daa0e7592ada797d6835f11529097aabc27ad2"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Wed Jul 28 02:40:49 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 28 16:24:02 2010 -0400"
      },
      "message": "mac80211: inform drivers about the off-channel status on channel changes\n\nFor some drivers it can be useful to know whether the channel they\u0027re\nsupposed to switch to is going to be used for short off-channel work or\nscanning, or whether the hardware is expected to stay on it for a while\nlonger. This is important for various kinds of calibration work, which\ntakes longer to complete and should keep some persistent state, even if\nthe channel temporarily changes.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3473187d2459a078e00e5fac8aafc30af69c57fa",
      "tree": "93c3da6dbcbfd09ea81884bee790219d4cee0d56",
      "parents": [
        "73e194639d90594d06d0c10019c0ab4638869135"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 07 15:07:49 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jul 08 16:35:50 2010 -0400"
      },
      "message": "mac80211: remove wep dependency\n\nThe current mac80211 code assumes that WEP is always available.  If WEP\nfails to initialize, ieee80211_register_hw will always fail.\n\nIn some cases (e.g. FIPS certification), the cryptography used by WEP is\nunavailable.  However, in such cases there is no good reason why CCMP\nencryption (or even no link level encryption) cannot be used.  So, this\npatch removes mac80211\u0027s assumption that WEP (and TKIP) will always be\navailable for use.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ff61638105db6f5832ef8700436ba6aa6d3a2fda",
      "tree": "ff55ef6186cd46d87ca4e54efbbe82f5ecc68f1e",
      "parents": [
        "685429623f88d84f98bd5daffc3c427c408740d4"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Wed Jun 09 09:51:52 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 15 16:00:48 2010 -0400"
      },
      "message": "mac80211: Fix ps-qos network latency handling\n\nThe ps-qos latency handling is broken. It uses predetermined latency values\nto select specific dynamic PS timeouts. With common AP configurations, these\nvalues overlap with beacon interval and are therefore essentially useless\n(for network latencies less than the beacon interval, PSM is disabled.)\n\nThis patch remedies the problem by replacing the predetermined network latency\nvalues with one high value (1900ms) which is used to go trigger full psm. For\nbackwards compatibility, the value 2000ms is still mapped to a dynamic ps\ntimeout of 100ms.\n\nCurrently also the mac80211 internal value for storing user space configured\ndynamic PSM values is incorrectly in the driver visible ieee80211_conf struct.\nMove it to the ieee80211_local struct.\n\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\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": "a6a67db2bc89d2b1ff07e0817f11235c20d2c329",
      "tree": "1096c42ede83af4dbae34387246f91c0d6649baf",
      "parents": [
        "5d22c89b9bea17a0e48e7534a9b237885e2c0809"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:41 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:27 2010 -0400"
      },
      "message": "mac80211: refcount aggregation queue stop\n\nmac80211 currently maintains the ampdu_lock to\navoid starting a queue due to one aggregation\nsession while another aggregation session needs\nthe queue stopped.\n\nWe can do better, however, and instead refcount\nthe queue stops for this particular purpose,\nthus removing the need for the lock. This will\nhelp making ampdu_action able to sleep.\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": "90b726097ba0dcc1f9725182513e669a30e77db5",
      "tree": "34e18b515c3f3d39b3f604ee2034441b85f23c3a",
      "parents": [
        "3cfd43f484c8d4bcb38db83f7be19fbd4ac8440c"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Mon Jun 07 10:52:12 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 08 09:31:21 2010 -0400"
      },
      "message": "mac80211: Add netif state checking to ieee80211_ifa_changed\n\nThere\u0027s a window for ieee80211_ifa_changed() to get called whilst the\nmanaged mode mutex has not been initialized when opening and stopping the\ninterface. Currently this causes a kernel BUG like the following:\n\n[  132.460013] kernel BUG at /home/wifi/iwlwifi-2.6/net/mac80211/main.c:380!\n[  132.460013] invalid opcode: 0000 [#1] SMP\n\nThe mutex is initialized during open(), hence once netif_running() is true,\nthe mutex should be valid. Fix by adding a netif_running() check to the\nfunction.\n\nReported-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nTested-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "26b36cfefaf2be98b225e3c1a399edb0daf52ddd",
      "tree": "6344512c5477ebc5d8b2d5862b6e2dc2ce5b865b",
      "parents": [
        "2826bcd844e05dcbef9b9284bddb7fe88e8d314f"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 04 14:25:44 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 04 14:25:44 2010 -0400"
      },
      "message": "mac80211: make ARP filtering depend on CONFIG_INET\n\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": "2b2c009ecf71f4c66ff8420b63dddbc9737e04e3",
      "tree": "62f93194843ecf92d871d34963450c03d165af08",
      "parents": [
        "095dfdb0c479661f437b24b85e31f0d0b841eab6"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Thu May 27 15:32:13 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 03 14:10:45 2010 -0400"
      },
      "message": "mac80211: Add support for hardware ARP query filtering\n\nSome hardware allow extended filtering of ARP frames not intended for\nthe host. To perform such filtering, the hardware needs to know the current\nIP address(es) of the host, bound to its interface.\n\nAdd support for ARP filtering to mac80211 by adding a new op to the driver\ninterface, allowing to configure the current IP addresses. This op is called\nupon association with the currently configured address(es), and when\nassociated whenever the IP address(es) change.\n\nThis patch adds configuration of IPv4 addresses only, as IPv6 addresses don\u0027t\nneed ARP filtering.\n\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": "ec8aa669b8393b6789b1954d587c63264af7ff99",
      "tree": "1a4c43dc718262d1aa6256de2d50b9e03a76c604",
      "parents": [
        "b4df47081b67bce9dcb7b84b551588c7402a330a"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Thu May 13 16:48:03 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 02 16:12:59 2010 -0400"
      },
      "message": "mac80211: add the minstrel_ht rate control algorithm\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cc755896a4274f11283bca32d1d658203844057a",
      "tree": "218970ece71df99f686b9416b7fd88b921690ebb",
      "parents": [
        "d250fe91ae129bff0968e685cc9c466d3a5e3482",
        "9459d59fbf0bc82ff4c804679fa8bc22788eca63"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 11 14:24:55 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 11 14:24:55 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/ath/ar9170/main.c\n"
    },
    {
      "commit": "0aaffa9b9699894aab3266195a529baf9f96ac29",
      "tree": "26fe5f5277ac6d7061ea723f92d4038b0c28b0b8",
      "parents": [
        "f444de05d20e27cdd960c13fcbcfca3099f03143"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed May 05 15:28:27 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri May 07 14:55:51 2010 -0400"
      },
      "message": "mac80211: improve HT channel handling\n\nCurrently, when one interface switches HT mode,\nall others will follow along. This is clearly\nundesirable, since the new one might switch to\nno-HT while another one is operating in HT.\n\nAddress this issue by keeping track of the HT\nmode per interface, and allowing only changes\nthat are compatible, i.e. switching into HT40+\nis not possible when another interface is in\nHT40-, in that case the second one needs to\nfall back to HT20.\n\nAlso, to allow drivers to know what\u0027s going on,\nstore the per-interface HT mode (channel type)\nin the virtual interface\u0027s bss_conf.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "83163244f845c296a118ce85c653872dbff6abfe",
      "tree": "ce2eac695a1c198f23d537e20ed86c16ece21f7e",
      "parents": [
        "0a12761bcd5646691c5d16dd93df84d1b8849285",
        "adfba3c7c026a6a5560d2a43fefc9b198cb74462"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 05 16:14:16 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 05 16:14:16 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/libertas_tf/cmd.c\n\tdrivers/net/wireless/libertas_tf/main.c\n"
    },
    {
      "commit": "be4a4b6a5d2f76393f545a2545fbaa1b65577e13",
      "tree": "5456729061f295a1e7782766eb195707228475f8",
      "parents": [
        "a75b4363eaafa99d909da4f1192322a78b074c73"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon May 03 08:49:48 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 03 14:53:10 2010 -0400"
      },
      "message": "mac80211: improve IBSS scanning\n\nWhen IBSS is fixed to a frequency, it can still\nscan to try to find the right BSSID. This makes\nsense if the BSSID isn\u0027t also fixed, but it need\nnot scan all channels -- just one is sufficient.\nMake it do that by moving the scan setup code to\nieee80211_request_internal_scan() and include\na channel variable setting.\n\nNote that this can be further improved to start\nthe IBSS right away if both frequency and BSSID\nare fixed.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "195e294d21e88af879da4f88db2ceeb4ec28a755",
      "tree": "22a75db60cc8743888054460db85eb9a76b0cecb",
      "parents": [
        "3a37495268ab45507b4cab9d4cb18c5496ab7a10"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Tue Apr 27 12:47:40 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 27 16:09:22 2010 -0400"
      },
      "message": "mac80211: Determine dynamic PS timeout based on ps-qos network latency\n\nDetermine the dynamic PS timeout based on the configured ps-qos network\nlatency. For backwards wext compatibility, allow the dynamic PS timeout\nconfigured by the cfg80211 to overrule the automatically determined value.\n\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5c01d5669356e13f0fb468944c1dd4c6a7e978ad",
      "tree": "fa43345288d7b25fac92b3b35360a177c4947313",
      "parents": [
        "fea069152614cdeefba4b2bf80afcddb9c217fc8",
        "a5e944f1d955f3819503348426763e21e0413ba6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 15 16:21:34 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 15 16:21:34 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ath/ath5k/phy.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\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": "b5878a2dc5e7e7f031a52c3e15b571224cb6b540",
      "tree": "4d035602f4a4d6e021eaf261f3665d4a5439cfd8",
      "parents": [
        "403820edc4ba1f2fb2514c022f2662c498ce0d11"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Apr 07 16:48:40 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 08 15:24:13 2010 -0400"
      },
      "message": "mac80211: enhance tracing\n\nEnhance tracing by adding tracing for a variety of\ncallbacks that the drivers call, and also for\ninternal calls (currently limited to queue status).\nThis can aid debugging what is going on in mac80211\nin interaction with drivers, since we can now see\nwhat drivers call and not just what mac80211 calls\nin the driver.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0379185b6c0d1e8252023698cf1091da92a3dc03",
      "tree": "f4dfe150ef44b2b94d94c982f8bddf9c44c4294d",
      "parents": [
        "1cb561f83793191cf86a2db3948d28f5f42df9ff"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 06 11:18:42 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 06 15:53:30 2010 -0400"
      },
      "message": "mac80211: annotate station rcu dereferences\n\nThe new RCU lockdep support warns about these\nin some contexts -- make it aware of the locks\nused to protect all this. Different locks are\nused in different contexts which unfortunately\nmeans we can\u0027t get perfect checking.\n\nAlso remove rcu_dereference() from two places\nthat don\u0027t actually dereference the pointers.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2f787b0b76bf5de2eaa3ca3a29d89123ae03c856",
      "tree": "6b842dccc0c5a8e1e26ed41811bac8cbff8a474c",
      "parents": [
        "e4008276fddd10445ff06707694a938cb7f35ed4"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki / 吉藤英明",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sun Apr 04 17:59:30 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 00:12:30 2010 -0700"
      },
      "message": "mac80211: Ensure initializing private mc_list in prepare_multicast().\n\nFix kernel panic by NULL pointer dereference in the context of\nieee80211_ops-\u003eprepare_multicast().\n\nThis bug was introduced by commit 22bedad3c.. (\"net: convert\nmulticast list to list_head\").\n\nCall __hw_addr_init() in ieee80211_alloc_hw() to initialize\nlist_head of private device multicast list, like we do in\nbond_init().\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nReviewed-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\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": "b446918b77c717a34eaa853dfab55f579d330551",
      "tree": "1dfe5175f3acd06bcf2ef16ee346a4931a563611",
      "parents": [
        "7bfbae10dc10a5c94a780d117a57e875d77e8e5a"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Wed Feb 24 14:19:37 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 26 16:59:11 2010 -0500"
      },
      "message": "mac80211: use listen interval 5 as default\n\nCurrently if a driver does not set hw.max_listen_interval a listen\ninterval of 1 is negotiated with the AP. Thus, the AP could drop\nbuffered frames for us after just one beacon interval which can\neasily happen with the current powersave and scan implementation.\nTo avoid this issue increase the default interval to 5 which should\nbe a reasonable safe default.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "50ae0cf15c3da2f6a8e4558de5010923e84736b2",
      "tree": "a524720a3da8eac3e08ef7dd7ec67d0f30283f78",
      "parents": [
        "ab13315af97919fae0e014748105fdc2e30afb2d"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Jan 12 10:42:39 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 14:21:00 2010 -0500"
      },
      "message": "mac80211: add debugfs interface for U-APSD queue configuration\n\nBecause it\u0027s not yet decided how to configure which queues are U-APSD\nenabled, add a debugfs interface for testing purposes.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ab13315af97919fae0e014748105fdc2e30afb2d",
      "tree": "befa549272ecff20b2839bd6671e4cccbce448f9",
      "parents": [
        "2d46d7c121436f1dafe91b0a8d9b99e534cfa5f8"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Jan 12 10:42:31 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 14:20:58 2010 -0500"
      },
      "message": "mac80211: add U-APSD client support\n\nAdd Unscheduled Automatic Power-Save Delivery (U-APSD) client support. The\nidea is that the data frames from the client trigger AP to send the buffered\nframes with ACs which have U-APSD enabled. This decreases latency and makes it\npossible to save even more power.\n\nDriver needs to use IEEE80211_HW_UAPSD to enable the feature. The current\nimplementation assumes that firmware takes care of the wakeup and\nhardware needing IEEE80211_HW_PS_NULLFUNC_STACK is not yet supported.\n\nTested with wl1251 on a Nokia N900 and Cisco Aironet 1231G AP and running\nvarious test traffic with ping.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "29401f6630c02ce996561bf2667d84ecdfacb823",
      "tree": "7d890d1132403b711e34759fc99e192c43d3f660",
      "parents": [
        "61b91c1ea31d0d3ae5f848f7f7eab53dd691f8d0"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Tue Dec 29 12:43:58 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 05 17:13:13 2010 -0500"
      },
      "message": "mac80211: No need to include WEXT headers here\n\nRemove the forgotten linux/wireless.h inclusion from mac80211.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b8bc4b0aa9bfba755c64b11b8f60e6cfab25dc9d",
      "tree": "7f95b0c7d4f847e3c624b67899c7a62f6b73ce26",
      "parents": [
        "9588bbd5529461a3dacd435bf239c84c3508f569"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:42 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:55:03 2009 -0500"
      },
      "message": "mac80211: support remain-on-channel command\n\nThis implements the new remain-on-channel cfg80211\ncommand in mac80211, extending the work interface.\n\nAlso change the work purge code to be able to clean\nup events properly (pretending they timed out.)\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0c1ad2cac1cb54db38fd4cc1822965071ee83f6e",
      "tree": "d5af632483584b7579ad8b24ba870f9b18e1aaa7",
      "parents": [
        "8e664fb3fd2b04e3ac5fad7f046000ba54e0e275"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:39 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:54:59 2009 -0500"
      },
      "message": "mac80211: proper bss private data handling\n\ncfg80211 offers private data for each BSS struct,\nwhich mac80211 uses. However, mac80211 uses internal\nand external (cfg80211) BSS pointers interchangeably\nand has a hack to put the cfg80211 bss struct into\nthe private struct.\n\nRemove this hack, properly converting between the\npointers wherever necessary.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "af6b63741cc4e4dfd575d06beb333b11a8a6e0c0",
      "tree": "a2c1a27b6b6b0fb171606f3653b5c280537b32a3",
      "parents": [
        "f679f65d417c3ea3f91b4bbfb68e3951c9eb8f04"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:35 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:54:55 2009 -0500"
      },
      "message": "mac80211: generalise work handling\n\nIn order to use auth/assoc for different purposes\nother than MLME, it needs to be split up. For other\npurposes, a generic work handling (potentially on\nanother channel) will be useful.\n\nTo achieve that, this patch moves much of the MLME\nwork handling out of mlme into a new work API. The\nAPI can currently handle probing a specific AP,\nauthentication and association. The MLME previously\nhandled probe/authentication as one step and will\ncontinue to do so, but they are separate in the new\nwork handling.\n\nWork items are RCU-managed to be able to check for\nexistence of an item for a specific frame in the RX\npath, but they can be re-used which the MLME right\nnow will do for its combined probe/auth step.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9607e6b66a0d25ca63b70d54a4283fa13d8f7c9d",
      "tree": "706cb2c2db2df69fa446eb3848b27107b67f2d25",
      "parents": [
        "d30506e0357e5448c7d38bb3739c451dbe4c174e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:31 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:54:49 2009 -0500"
      },
      "message": "mac80211: add ieee80211_sdata_running\n\nInstead of always using netif_running(sdata-\u003edev)\nuse ieee80211_sdata_running(sdata) now which is\njust an inline containing netif_running() for now.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ea1e4b842049fcc4741096538114871a74859314",
      "tree": "c2336ab480ac0fd62e0dc41b391d99c97158dc9c",
      "parents": [
        "b6ce5c33001b1dc83e6a1a6f30c5dccccea651b6",
        "92c6f8d849178582fc527aaf1e51dd37a74767d3"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 15:09:11 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 15:09:11 2009 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "f38fd12fa7b7b98e158a9b31d388da34eef25c22",
      "tree": "bf5f8407e3456e691e4ef873d343c3403974937a",
      "parents": [
        "8b73d13a21ae889e747cac180ff27c5a0a88e6a4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Dec 01 18:29:42 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 22 13:31:17 2009 -0500"
      },
      "message": "mac80211: allow disabling 40MHz on 2.4GHz\n\nIn some situations it is required that a system be\nconfigured with no support for 40 MHz channels in\nthe 2.4 GHz band. Rather than imposing any such\nrestrictions on everybody, allow configuration a\nsystem like that with a module parameter. It is\nwritable at runtime but only takes effect at the\ntime of the next association.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0f78231bffb868a30e8533aace142213266bb811",
      "tree": "317f65dc6d89e9a89ad83f94fadd780dd1e0ca83",
      "parents": [
        "18974b5b0b5e758d416c550553b143e5c8038281"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Dec 01 13:37:02 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 22 13:31:16 2009 -0500"
      },
      "message": "mac80211: enable spatial multiplexing powersave\n\nEnable spatial multiplexing in mac80211 by telling the\ndriver what to do and, where necessary, sending action\nframes to the AP to update the requested SMPS mode.\n\nAlso includes a trivial implementation for hwsim that\njust logs the requested mode.\n\nFor now, the userspace interface is in debugfs only,\nand let you toggle the requested mode at any time.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "12375ef933fa8271396ed0c1e318cb1bd2e2689d",
      "tree": "b05ccc4573cb8f0a1b89edeeae7e6c5805f75f67",
      "parents": [
        "47846c9b0c10808d9337d2e7d09361f3e0a0a71a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 25 20:30:31 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 21 18:38:54 2009 -0500"
      },
      "message": "mac80211: trace interface name\n\nIt\u0027s not all that useful to have the vif/sdata pointer,\nwe\u0027d rather refer to the interfaces by their name.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "47846c9b0c10808d9337d2e7d09361f3e0a0a71a",
      "tree": "8e5d0dbf3309b7868fa73a888f9561ffea1580e3",
      "parents": [
        "abe60632f311d515b082b450504ee24006023951"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 25 17:46:19 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 21 18:38:52 2009 -0500"
      },
      "message": "mac80211: reduce reliance on netdev\n\nFor bluetooth 3, we will most likely not have\na netdev for a virtual interface (sdata), so\nprepare for that by reducing the reliance on\nhaving a netdev. This patch moves the name\nand address fields into the sdata struct and\nuses them from there all over. Some work is\nneeded to keep them sync\u0027ed, but that\u0027s not\na lot of work and in slow paths anyway.\n\nIn doing so, this also reduces the number of\npointer dereferences in many places, because\nof things like sdata-\u003edev-\u003edev_addr becoming\nsdata-\u003evif.addr.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d24deb2580823ab0b8425790c6f5d18e2ff749d8",
      "tree": "e19fa93ccf306ea54508492a141721a1e4cc3a30",
      "parents": [
        "b2ec153a637409bd87952d44409905b7d98418b8"
      ],
      "author": {
        "name": "Gertjan van Wingerde",
        "email": "gwingerde@gmail.com",
        "time": "Fri Dec 04 23:46:54 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 14 14:22:31 2009 -0500"
      },
      "message": "mac80211: Add define for TX headroom reserved by mac80211 itself.\n\nAdd a definition of the amount of TX headroom reserved by mac80211 itself\nfor its own purposes. Also add BUILD_BUG_ON to validate the value.\nThis define can then be used by drivers to request additional TX headroom\nin the most efficient manner.\n\nSigned-off-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f64f9e719261a87818dd192a3a2352e5b20fbd0f",
      "tree": "b2d5cbaef3df615295f6061d8c4d6a912690556c",
      "parents": [
        "152b6a62aea2d43359dd37004e9c218bf7bdeb3b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "message": "net: Move \u0026\u0026 and || to end of previous line\n\nNot including net/atm/\n\nCompiled tested x86 allyesconfig only\nAdded a \u003e 80 column line or two, which I ignored.\nExisting checkpatch plaints willfully, cheerfully ignored.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9bc383de37090ba7ca3ff32a12c9d809dc5867f0",
      "tree": "2b502b918f585427b45357e5a9a781ea9f06c263",
      "parents": [
        "5be83de54c16944dea9c16c6a5a53c1fa75ed304"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Nov 19 11:55:19 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 19 11:08:53 2009 -0500"
      },
      "message": "cfg80211: introduce capability for 4addr mode\n\nIt\u0027s very likely that not many devices will support\nfour-address mode in station or AP mode so introduce\ncapability bits for both modes, set them in mac80211\nand check them when userspace tries to use the mode.\nAlso, keep track of 4addr in cfg80211 (wireless_dev)\nand not in mac80211 any more. mac80211 can also be\nimproved for the VLAN case by not looking at the\n4addr flag but maintaining the station pointer for\nit correctly. However, keep track of use_4addr for\nstation mode in mac80211 to avoid all the derefs.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5be83de54c16944dea9c16c6a5a53c1fa75ed304",
      "tree": "dd251d9331a07ec73c7a4992c79ce30f0553db40",
      "parents": [
        "9bd568a50c446433038dec2a5186c5c57c3dbd23"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Nov 19 00:56:28 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 19 11:08:50 2009 -0500"
      },
      "message": "cfg80211: convert bools into flags\n\nWe\u0027ve accumulated a number of options for wiphys\nwhich make more sense as flags as we keep adding\nmore. Convert the existing ones.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fe7a5d5c1ad659bf0ec7dc171e122aeefa16ac25",
      "tree": "aefd9ef2b3220f1a6dc701ebf208ec951221de45",
      "parents": [
        "62ae67be31c2346b6d74653a148ddbd1b9a94424"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 18 18:42:47 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:27 2009 -0500"
      },
      "message": "mac80211: move TX status handling\n\nIt\u0027s enough code to have its own file, I think.\nEspecially since I\u0027m going to add to it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c951ad3550ab40071bb0f222ba6125845769c08a",
      "tree": "9db1d3c110b359a34a3d706eaf40285cfa01550b",
      "parents": [
        "3b53fde8ac40c4321389def14d7f4a9e14092fd3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Nov 16 12:00:38 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:15 2009 -0500"
      },
      "message": "mac80211: convert aggregation to operate on vifs/stas\n\nThe entire aggregation code currently operates on the\nhw pointer and station addresses, but that needs to\nchange to make stations purely per-vif; As one step\npreparing for that make the aggregation code callable\nwith the station, or by the combination of virtual\ninterface and station address.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3e5b1101f59fb3e17a8eb32cca100ae07fd7100e",
      "tree": "99f38c9d8e1ec97c0713325e3628d3836839eb8c",
      "parents": [
        "7d57b73a73040525dfe22c56d823f146711ff971"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sat Nov 14 03:29:38 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:10 2009 -0500"
      },
      "message": "mac80211: reduce the amount of unnecessary traffic on cooked monitor interfaces\n\nIn order to handle association and authentication in AP mode,\nhostapd needs access to the tx status info of its own frames\nthrough a cooked monitor interface. Without this patch the\ncooked monitor interfaces also passed on tx status information\nfor packets from other virtual interfaces. This creates a\nsignificant performance issue on embedded system. Hostapd\ntries to work around this by installing a Linux Socket Filter\nthat only captures the frames it\u0027s interested in, however\ndata duplication and socket filter matching still uses up\nenough CPU cycles to be very noticeable on small systems.\nThis patch ensures that tx status information of non-injected\nframes does not make it to cooked monitor interfaces.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "af81858172cc0f3da81946aab919c26e4b364efc",
      "tree": "8e7a4bf30ff7c23636d810c5a912ff7e3ddb7333",
      "parents": [
        "70d9f405d09e334b609702d88ee03b6119c4b45e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Nov 06 11:35:50 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 06 16:49:10 2009 -0500"
      },
      "message": "mac80211: async station powersave handling\n\nSome devices require that all frames to a station\nare flushed when that station goes into powersave\nmode before being able to send frames to that\nstation again when it wakes up or polls -- all in\norder to avoid reordering and too many or too few\nframes being sent to the station when it polls.\n\nNormally, this is the case unless the station\ngoes to sleep and wakes up very quickly again.\nBut in that case, frames for it may be pending\non the hardware queues, and thus races could\nhappen in the case of multiple hardware queues\nused for QoS/WMM. Normally this isn\u0027t a problem,\nbut with the iwlwifi mechanism we need to make\nsure the race doesn\u0027t happen.\n\nThis makes mac80211 able to cope with the race\nwith driver help by a new WLAN_STA_PS_DRIVER\nper-station flag that can be controlled by the\ndriver and tells mac80211 whether it can transmit\nframes or not. This flag must be set according to\nvery specific rules outlined in the documentation\nfor the function that controls it.\n\nWhen we buffer new frames for the station, we\nnormally set the TIM bit right away, but while\nthe driver has blocked transmission to that sta\nwe need to avoid that as well since we cannot\nrespond to the station if it wakes up due to the\nTIM bit. Once the driver unblocks, we can set\nthe TIM bit.\n\nSimilarly, when the station just wakes up, we\nneed to wait until all other frames are flushed\nbefore we can transmit frames to that station,\nso the same applies here, we need to wait for\nthe driver to give the OK.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c327d96759ac134384114830e19ded80e29fdcc4",
      "tree": "eb732010f645f90763735a42eebaaca3bce7f61f",
      "parents": [
        "450aae3d7b60a970f266349a837dfb30a539198b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Nov 02 11:31:51 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 04 18:44:52 2009 -0500"
      },
      "message": "mac80211: fix internal scan request\n\nThe internal scan request mac80211 uses to\nscan for IBSS networks was set up to contain\nno channels at all because n_channels wasn\u0027t\nset after setting up the channels array. Fix\nthis to properly scan for networks.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7bcfaf2f431c09c51fe776fc06638b25d3b421c5",
      "tree": "27f767335566826f11f0134b97ee76b58d9bcf90",
      "parents": [
        "2c0d6100da3ee9b0f0cc46add9bb8a8161299a92"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 27 12:59:03 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 30 16:49:18 2009 -0400"
      },
      "message": "cfg80211/mac80211: use debugfs_remove_recursive\n\nWe can save a lot of code and pointers in the structs\nby using debugfs_remove_recursive().\n\nFirst, change cfg80211 to use debugfs_remove_recursive()\nso that drivers do not need to clean up any files they\nadded to the per-wiphy debugfs (if and only if they are\nok to be accessed until after wiphy_unregister!).\n\nThen also make mac80211 use debugfs_remove_recursive()\nwhere necessary -- it need not remove per-wiphy files\nas cfg80211 now removes those, but netdev etc. files\nstill need to be handled but can now be removed without\nneeding struct dentry pointers to all of them.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ea77f12f2cc0f31168f2e0259e65a22202ac4dc2",
      "tree": "8ac1288e1680ae2b6093b4fdca978a4ea86f7e21",
      "parents": [
        "3d54d25515838543e56889aa7e48f40d00719368"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Aug 21 14:44:45 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 28 14:40:34 2009 -0400"
      },
      "message": "mac80211: remove tasklet enable/disable\n\nDue to the way the tasklets work in mac80211 there\u0027s\nno need to ever disable them.\n\nHowever, we need to clear the pending packets when\ntaking down the last interface because otherwise\nthe tx_pending_tasklet might be queued if the\ndriver mucks with the queues (which it shouldn\u0027t).\n\nI\u0027ve had a situation occasionally with ar9170 in\nwhich ksoftirq was using 100% CPU time because\na disabled tasklet was scheduled, and I think that\nwas due to ar9170 receiving a packet while the\ntasklet was disabled. That\u0027s strange and it really\nshould not do that for other reasons, but there\u0027s\nno need to waste that much CPU time over it, it\nshould just warn instead.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "11ba964d4f936609a04e8b9f2051f6027ef761ae",
      "tree": "82bcec21fef9364e1fb27cb4091c7950eadcf7ad",
      "parents": [
        "5904d2067680e9bb73a4816fa6b9eec49355c9c8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Aug 19 19:45:50 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 11:36:07 2009 -0400"
      },
      "message": "mac80211: fix register_hw error path\n\n\"cfg80211: fix alignment problem in scan request\"\nintroduced a bug into the error path, because now\nwe allocate the entire scan request and not just\nthe channel list (the channel list is allocated\ntogether with the scan request) -- on errors we\nthus also need to free the entire scan request.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bfc32e6a9559d3e30925929cd9a9df7498f325db",
      "tree": "f0e5f1bdf902fe463fa994d44cafcab39b357380",
      "parents": [
        "92ed48e5230e8f5906dda0cc31715b3b7e3fe303"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Mon Aug 17 17:15:55 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 11:36:02 2009 -0400"
      },
      "message": "mac80211: Decouple fail_avg stats used by mesh from rate control algorithm.\n\nMesh uses the tx failure average to compute the (m)path metric.  This used to\nbe done inside the rate control module.  This patch breaks the dependency\nbetween the mesh stack and the rate control algorithm.  Mesh will now work\nindependently of the chosen rate control algorithm.\n\nThe mesh stack keeps a moving average of the average transmission losses for\neach mesh peer station.  If the fail average exceeds a certain threshold, the\npeer link is marked as broken.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f424afa17899408cbd267a4c4534ca6fc9d8f71c",
      "tree": "ef68af16e693231b6842767ecd2ad04ba341cd93",
      "parents": [
        "3ac64beecd27400d12cc7afb4108eef26c499f6a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Aug 17 16:18:07 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 11:35:58 2009 -0400"
      },
      "message": "mac80211: remove deprecated API\n\nAll but two drivers have now stopped using the two\ndeprecated members radio_enabled and beacon_int,\nso it\u0027s about time to remove them for good.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3ac64beecd27400d12cc7afb4108eef26c499f6a",
      "tree": "da0220085f68e30fe61ba9b8833dc6311d6dc25e",
      "parents": [
        "ea416a793d2b611f22b42ba094fd2e5bd30fff43"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Aug 17 16:16:53 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 11:35:58 2009 -0400"
      },
      "message": "mac80211: allow configure_filter callback to sleep\n\nOver time, a whole bunch of drivers have come up\nwith their own scheme to delay the configure_filter\noperation to a workqueue. To be able to simplify\nthings, allow configure_filter to sleep, and add\na new prepare_multicast callback that drivers that\nneed the multicast address list implement. This new\ncallback must be atomic, but most drivers either\ndon\u0027t care or just calculate a hash which can be\ndone atomically and then uploaded to the hardware\nnon-atomically.\n\nA cursory look suggests that at76c50x-usb, ar9170,\nmwl8k (which is actually very broken now), rt2x00,\nwl1251, wl1271 and zd1211 should make use of this\nnew capability.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5ba63533bbf653631faab60f6988506160ec6ba4",
      "tree": "8d9ef2670cd3b2f50fe3581820fba5aca365634d",
      "parents": [
        "ad5351db89681515681c5d5659ddf4c69e3cc6f5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Aug 07 17:54:07 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:13:44 2009 -0400"
      },
      "message": "cfg80211: fix alignment problem in scan request\n\nThe memory layout for scan requests was rather wrong,\nwe put the scan SSIDs before the channels which could\nlead to the channel pointers being unaligned in memory.\nIt turns out that using a pointer to the channel array\nisn\u0027t necessary anyway since we can embed a zero-length\narray into the struct.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e3b90ca28412fb9dcc8c5ca38e179e78fec07eee",
      "tree": "fa17113d9d7c96edc076b3f46558e8c3fb78d673",
      "parents": [
        "e48e3a2f17f189deb086ff221e489e7fd8ec4302"
      ],
      "author": {
        "name": "Igor Perminov",
        "email": "igor.perminov@inbox.ru",
        "time": "Tue Aug 04 16:48:51 2009 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 04 16:44:35 2009 -0400"
      },
      "message": "mac80211: FIF_PSPOLL filter flag\n\nWhen an interface is configured in the AP mode, the mac80211\nimplementation doesn\u0027t inform the driver to receive PS Poll frames.\nIt leads to inability to communicate with power-saving stations\nreliably.\nThe FIF_CONTROL flag isn\u0027t passed by mac80211 to\nieee80211_ops.configure_filter when an interface is in the AP mode.\nAnd it\u0027s ok, because we don\u0027t want to receive ACK frames and other\ncontrol ones, but only PS Poll ones.\n\nThis patch introduces the FIF_PSPOLL filter flag in addition to\nFIF_CONTROL, which means for the driver \"pass PS Poll frames\".\n\nThis flag is passed to the driver:\nA) When an interface is configured in the AP mode.\nB) In all cases, when the FIF_CONTROL flag was passed earlier (in\naddition to it).\n\nSigned-off-by: Igor Perminov \u003cigor.perminov@inbox.ru\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "42935ecaf4e784d0815afa9a7e5fe7e141157ca3",
      "tree": "dc0a0dcfff761e98d8a2a23a7edc8f9182c2774c",
      "parents": [
        "64344d78228f6346a0462ba2d5fc03494aef4e6b"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Jul 29 20:08:07 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 04 16:44:14 2009 -0400"
      },
      "message": "mac80211: redefine usage of the mac80211 workqueue\n\nThe mac80211 workqueue exists to enable mac80211 and drivers\nto queue their own work on a single threaded workqueue. mac80211\ntakes care to flush the workqueue during suspend but we never\nreally had requirements on drivers for how they should use\nthe workqueue in consideration for suspend.\n\nWe extend mac80211 to document how the mac80211 workqueue should\nbe used, how it should not be used and finally move raw access to\nthe workqueue to mac80211 only. Drivers and mac80211 use helpers\nto queue work onto the mac80211 workqueue:\n\n  * ieee80211_queue_work()\n  * ieee80211_queue_delayed_work()\n\nThese helpers will now warn if mac80211 already completed its\nsuspend cycle and someone is trying to queue work. mac80211\nflushes the mac80211 workqueue prior to suspend a few times,\nbut we haven\u0027t taken the care to ensure drivers won\u0027t add more\nwork after suspend. To help with this we add a warning when\nsomeone tries to add work and mac80211 already completed the\nsuspend cycle.\n\nDrivers should ensure they cancel any work or delayed work\nin the mac80211 stop() callback.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "97af743207466ff8b477e14bfb7af0ba2c93375b",
      "tree": "9fc275981b34346284c1aedd370c54854f5369ae",
      "parents": [
        "ad2f34b41fd6e2b84c896ccf321d5de0a7c7cd52"
      ],
      "author": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Wed Jul 29 10:13:03 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 04 16:43:23 2009 -0400"
      },
      "message": "mac80211: disable beacons before removing the associated interface\n\nWhen downing interfaces, it\u0027s a good idea to tell the driver to\nstop sending beacons; that way the driver doesn\u0027t need special\ncode in ops-\u003eremove_interface() when it should already handle the\ncase in bss_info_changed().\n\nThis fixes a potential crash with at least ath5k since the vif\npointer will be nullified while beacon interrupts are still active.\n\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4da163ab0a224590f3cae67c1d54ae8c428f6223",
      "tree": "901e5929df0b72ffccb84ba5ec439ac709f78705",
      "parents": [
        "e4c4e448cf557921ffbbbd6d6ddac81fdceacb4f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Jul 27 20:28:40 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 04 16:43:18 2009 -0400"
      },
      "message": "mac80211: disable software retry for now\n\nPavel Roskin reported a problem that seems to be due to\nsoftware retry of already transmitted frames. It turns\nout that we\u0027ve never done that correctly, but due to\nsome recent changes it now crashes in the TX code. I\u0027ve\nadded a comment in the patch that explains the problem\nbetter and also points to possible solutions -- which\nI can\u0027t implement right now.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fbe9c429f195111bbf7f1630efa19aee295fd8e7",
      "tree": "80556ac48bfa0e7d60db63e6c71b0bbf58143263",
      "parents": [
        "2fb3f028a9a46bd344329766257699b4acb36525"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Jul 23 12:14:04 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 27 15:24:16 2009 -0400"
      },
      "message": "mac80211: Replace {sw, hw}_scanning variables with a bitfield\n\nUse a bitfield to store the current scan mode instead of two boolean\nvariables {sw,hw}_scanning. This patch does not introduce functional\nchanges but allows us to enhance the scan flags later (for example\nfor background scanning).\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a272a720660059c30fa038113b77fa2a096437d9",
      "tree": "57da6a50b0a9a0d68fafe98f621fff15a2b8bd94",
      "parents": [
        "463d018323851a608eef52a9427b0585005c647f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 14 00:33:36 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 27 15:24:08 2009 -0400"
      },
      "message": "mac80211: allow using network namespaces\n\nThis finally opens up the ability to put mac80211 devices\ninto different network namespaces. As long as you don\u0027t\nhave sysfs, that is.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3b8d81e020f77c9da8b85b0685c8cd2ca7c7b150",
      "tree": "a19fcddbf28fecdbd13ad009fe07b8afc5e95c90",
      "parents": [
        "c4029083e2acb82229c43b791c07afb089d972ff"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jun 17 17:43:56 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:30 2009 -0400"
      },
      "message": "mac80211: remove master netdev\n\nWith the internal \u0027pending\u0027 queue system in place, we can simply\nput packets there instead of pushing them off to the master dev,\ngetting rid of the master interface completely.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f1d58c2521eb160178b2151d6326d8dc5d7c8560",
      "tree": "af373bb1a5fbb6bc9436d29095133992d33d6598",
      "parents": [
        "18ad01c43918751cc22f8ee28f6b38b8954a55b2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jun 17 13:13:00 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 14:57:54 2009 -0400"
      },
      "message": "mac80211: push rx status into skb-\u003ecb\n\nWithin mac80211, we often need to copy the rx status into\nskb-\u003ecb. This is wasteful, as drivers could be building it\nin there to start with. This patch changes the API so that\ndrivers are expected to pass the RX status in skb-\u003ecb, now\naccessible as IEEE80211_SKB_RXCB(skb). It also updates all\ndrivers to pass the rx status in there, but only by making\nthem memcpy() it into place before the call to the receive\nfunction (ieee80211_rx(_irqsafe)). Each driver can now be\noptimised on its own schedule.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8f77f3849cc3ae2d6df9301785a3d316ea7d7ee1",
      "tree": "02143d1e81c85f64900546e3e9c2b820f72745d1",
      "parents": [
        "fc240e3fc5791c572402b0857948da7b1e68d77f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Jun 07 21:58:37 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 10 13:28:37 2009 -0400"
      },
      "message": "mac80211: do not pass PS frames out of mac80211 again\n\nIn order to handle powersave frames properly we had needed\nto pass these out to the device queues again, and introduce\nthe skb-\u003erequeue bit. This, however, also has unnecessary\noverhead by needing to \u0027clean up\u0027 already tried frames, and\nthis clean-up code is also buggy when software encryption\nis used.\n\nInstead of sending the frames via the master netdev queue\nagain, simply put them into the pending queue. This also\nfixes a problem where frames for that particular station\ncould be reordered when some were still on the software\nqueues and older ones are re-injected into the software\nqueue after them.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e535c7566e1318ccfa015e297f0309994f7bc078",
      "tree": "586e150edc49e9bf64f7fea728ce37b8cff4063a",
      "parents": [
        "2fa7a98fc96abe431e5d54d97104cdca197391fa"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat May 23 11:18:45 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 03 14:05:09 2009 -0400"
      },
      "message": "mac80211: deprecate conf.beacon_int properly\n\nIvo has updated the driver to no longer use the change flag,\nso we can remove that, but rt2x00 and ath5k still use the\nactual value so let\u0027s mark it as deprecated too.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1ce8e7b57b3a4527ef83da1c5c7bd8a6b9d87b56",
      "tree": "095536a47e40fdb621c1f959637fa63f57a4ccf2",
      "parents": [
        "0bb32417ff0f6ac385e4eec3ef6641950bbb3694"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed May 27 04:42:37 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 27 15:47:06 2009 -0700"
      },
      "message": "net: ALIGN/PTR_ALIGN cleanup in alloc_netdev_mq()/netdev_priv()\n\nUse ALIGN() and PTR_ALIGN() macros instead of handcoding them.\n\nGet rid of NETDEV_ALIGN_CONST ugly define\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9cef873798dfcdc10ff40b02abf1de935ceeba85",
      "tree": "bf44fb189c0db0b5b68a62006d82c242146fdd72",
      "parents": [
        "bbcf3f02771e069d0e113fe9bb62c27b671abf97"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu May 14 13:10:14 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 20 14:46:37 2009 -0400"
      },
      "message": "mac80211: fix managed mode BSSID handling\n\nCurrently, we will ask the driver to configure right away\nwhen somebody changes the desired BSSID. That\u0027s totally\nstrange because then we will configure the driver without\neven knowing whether the BSS exists. Change this to only\nconfigure the BSSID when associated, and configure a zero\nBSSID when not associated.\n\nAs a side effect, this fixes an issue with the iwlwifi\ndriver which doesn\u0027t implement sta_notify properly and\nuses the BSSID instead and gets very confused if the\nBSSID is cleared before we disassociate, which results\nin the warning Marcel posted [1] and iwlwifi bug 1995 [2].\n\n[1] http://thread.gmane.org/gmane.linux.kernel.wireless.general/32598\n[2] http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id\u003d1995\n\nCc: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "58905ca5b11a0ff3860f55b789cbbf052f7158a7",
      "tree": "7c7a4c937130855dfef41c2302deb7fb0b5a2eb7",
      "parents": [
        "02018b39a75057541c7946a9173561d1a76a0bfe"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu May 07 14:23:01 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 11 15:23:54 2009 -0400"
      },
      "message": "mac80211: fix scan channel race\n\nWhen a software scan starts, it first sets sw_scanning, but\nleaves the scan_channel \"unset\" (it currently actually gets\ninitialised to a default). Now, when something else tries\nto (re)configure the hardware in the window between these two\nevents (after sw_scanning \u003d true, but before scan_channel is\nset), the current code switches to the (unset!) scan_channel.\nThis causes trouble, especially when switching bands and\nsending frames on the wrong channel.\n\nTo work around this, leave scan_channel initialised to NULL\nand use it to determine whether or not a switch to a different\nchannel should occur (and also use the same condition to check\nwhether to adjust power for scan or not).\n\nAdditionally, avoid reconfiguring the hardware completely when\nrecalculating idle resulted in no changes, this was the problem\nthat originally led us to discover the race condition in the\nfirst place, which was helpfully bisected by Pavel. This part\nof the patch should not be necessary with the other fixes, but\nnot calling the ieee80211_hw_config function when we know it to\nbe unnecessary is certainly a correct thing to do.\n\nUnfortunately, this patch cannot and does not fix the race\ncondition completely, but due to the way the scan code is\nstructured it makes the particular problem Pavel discovered\n(race while changing channel at the same time as transmitting\nframes) go away. To fix it completely, more work especially\nwith locking configuration is needed.\n\nBisected-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2448798133d747ad339e57099e32a1d1e68aca1c",
      "tree": "ee09385f5dca9e243c38f5f888baa02605423bd7",
      "parents": [
        "2d0ddec5b2b859f06116f631fc0ffe94fbceb556"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 23 18:52:52 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:37 2009 -0400"
      },
      "message": "mac80211: add driver ops wrappers\n\nIn order to later add tracing or verifications to the driver\ncalls mac80211 makes, this patch adds static inline wrappers\nfor all operations.\n\nAll calls are now written as\n\n\tdrv_\u003cop\u003e(local, ...);\n\ninstead of\n\n\tlocal-\u003eops-\u003e\u003cop\u003e(\u0026local-\u003ehw, ...);\n\nWhere necessary, the wrappers also do existence checking and\nreturn default values as appropriate.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2d0ddec5b2b859f06116f631fc0ffe94fbceb556",
      "tree": "9bf3cdfcbbefcb34f5984e6d797f488ebe358196",
      "parents": [
        "57c4d7b4c4986037be51476b8e3025d5ba18d8b8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 23 16:13:26 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:36 2009 -0400"
      },
      "message": "mac80211: unify config_interface and bss_info_changed\n\nThe config_interface method is a little strange, it contains the\nBSSID and beacon updates, while bss_info_changed contains most\nother BSS information for each interface. This patch removes\nconfig_interface and rolls all the information it previously\npassed to drivers into bss_info_changed.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "57c4d7b4c4986037be51476b8e3025d5ba18d8b8",
      "tree": "bcd24a127b4c79891f45799a20867f49c0f7f949",
      "parents": [
        "f3b85252f081581a8f257545ed748062dce7798b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 23 16:10:04 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:33 2009 -0400"
      },
      "message": "mac80211: clean up beacon interval settings\n\nWe currently have two beacon interval configuration knobs:\nhw.conf.beacon_int and vif.bss_info.beacon_int. This is\nrather confusing, even though the former is used when we\nbeacon ourselves and the latter when we are associated to\nan AP.\n\nThis just deprecates the hw.conf.beacon_int setting in favour\nof always using vif.bss_info.beacon_int. Since it touches all\nthe beaconing IBSS code anyway, we can also add support for\nthe cfg80211 IBSS beacon interval configuration easily.\n\nNOTE: The hw.conf.beacon_int setting is retained for now due\n      to drivers still using it -- I couldn\u0027t untangle all\n      drivers, some are updated in this patch.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f3b85252f081581a8f257545ed748062dce7798b",
      "tree": "899a804545850c7e1b1e3eea5c743df2c8cddf3d",
      "parents": [
        "2d72289095e9621158acf1d59a830cfe920fa93b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 23 16:01:47 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:31 2009 -0400"
      },
      "message": "mac80211: fix scan races and rework scanning\n\nThere are some places marked\n\t/* XXX maybe racy? */\nand they really are racy because there\u0027s no locking.\n\nThis patch reworks much of the scan code, and introduces proper\nlocking for the scan request as well as the internal scanning\n(which is necessary for IBSS/managed modes). Helper functions\nare added to call the scanning code whenever necessary. The\nscan deferring is changed to simply queue the scanning work\ninstead of trying to start the scan in place, the scanning work\nwill then take care of the rest.\n\nAlso, currently when internal scans are requested for an interface\nthat is trying to associate, we reject such scans. This was not\nintended, the mlme code has provisions to scan twice when it can\u0027t\nfind the BSS to associate with right away; this has never worked\nproperly. Fix this by not rejecting internal scan requests for an\ninterface that is associating.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ],
  "next": "aba7453037c3a90714caae77a622dceaf1173786"
}
