)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "aba7453037c3a90714caae77a622dceaf1173786",
      "tree": "bf07f9f432b0d8e9db9486f1f32ad065c0aa7c5c",
      "parents": [
        "a4fe91ee711f4e955ea85ab05b092cfe384b073e",
        "93af7aca44f0e82e67bda10a0fb73d383edcc8bd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 29 20:30:35 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 29 20:30:35 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tDocumentation/isdn/00-INDEX\n\tdrivers/net/wireless/iwlwifi/iwl-scan.c\n\tdrivers/net/wireless/rndis_wlan.c\n\tnet/mac80211/main.c\n"
    },
    {
      "commit": "c428c89201a57a0ce24c37ed79e540d1f4101cf3",
      "tree": "e08f3f9f431c7e43c8c2d6c8049358ed43e56306",
      "parents": [
        "d4c4a9a1bce1912ed5681251f0037fd4f2364a3e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Apr 29 00:28:18 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 29 16:48:33 2009 -0400"
      },
      "message": "mac80211: default to automatic power control\n\nIn \"mac80211: correct wext transmit power handler\"\nI fixed the wext handler, but forgot to make the default of the\nuser_power_level -1 (aka \"auto\"), so that now the transmit power\nis always set to 0, causing associations to time out and similar\nproblems since we\u0027re transmitting with very little power. Correct\nthis by correcting the default user_power_level to -1.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nBisected-by: Niel Lambrechts \u003cniel.lambrechts@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d4c4a9a1bce1912ed5681251f0037fd4f2364a3e",
      "tree": "85c5631e48bf75bfdb3e52634a983e4f7c46f06d",
      "parents": [
        "b7fcb5c4a4c27da2f6d86cb03d18687e537442cf"
      ],
      "author": {
        "name": "Alan Jenkins",
        "email": "alan-jenkins@tuffmail.co.uk",
        "time": "Wed Apr 29 11:41:24 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 29 16:48:33 2009 -0400"
      },
      "message": "mac80211: fix modprobe deadlock by not calling wep_init under rtnl_lock\n\n- ieee80211_wep_init(), which is called with rtnl_lock held, blocks in\n   request_module() [waiting for modprobe to load a crypto module].\n\n - modprobe blocks in a call to flush_workqueue(), when it closes a TTY\n   [presumably when it exits].\n\n - The workqueue item linkwatch_event() blocks on rtnl_lock.\n\nThere\u0027s no reason for wep_init() to be called with rtnl_lock held, so\njust move it outside the critical section.\n\nSigned-off-by: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b9a5f8cab751d362f7c2d94899ca788c22fcd1ef",
      "tree": "e769e2f59ef845cf7c7cc93b64d33eeed49bb9f7",
      "parents": [
        "9e52b0623c6eb49c3f23a326c1fb97bdecc49ba1"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Mon Apr 20 18:39:05 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:17 2009 -0400"
      },
      "message": "nl80211: Add set/get for frag/rts threshold and retry limits\n\nAdd new nl80211 attributes that can be used with NL80211_CMD_SET_WIPHY\nand NL80211_CMD_GET_WIPHY to manage fragmentation/RTS threshold and\nretry limits.\n\nSince these values are stored in struct wiphy, remove the local copy\nfrom mac80211 where feasible (frag \u0026 rts threshold). The retry limits\nare currently needed in struct ieee80211_conf, but these could be\neventually removed since the driver should have access to the values\nin struct wiphy.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "af8cdcd828ad751fae8e6cbfe94eef9f2f23b14b",
      "tree": "7a00a19c976abbeba16bd04ddc177b6332057c98",
      "parents": [
        "04a773ade0680d862b479d7219973df60f7a3834"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Apr 19 21:25:43 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:17 2009 -0400"
      },
      "message": "mac80211: convert to cfg80211 IBSS API\n\nThis converts mac80211 to the new cfg80211 IBSS API, the\nwext handling functions are called where appropriate.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "10f644a47b76d3e61b98f2d02ce9690b94c51ee5",
      "tree": "fc344d0f888ea0b97608cd53eec1d2dc17672087",
      "parents": [
        "965bedadc01d34027455d5d5b67063ef0209c955"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 16 13:17:25 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:16 2009 -0400"
      },
      "message": "mac80211: disable powersave if pm_qos asks for low latency\n\nWhen an application asks for a latency lower than the beacon interval\nthere\u0027s nothing we can do -- we need to stay awake and not have the\nAP buffer frames for us. Add code to automatically calculate this\nconstraint in mac80211 so drivers need not concern themselves with it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f2753ddbadb0873a98421415882318251bbd9eaa",
      "tree": "daad40232be13d91835b30234e5743dfdd582f19",
      "parents": [
        "a1c555802a62c845520d2486d783c9bb1d5e68a9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 14 10:09:24 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:57:14 2009 -0400"
      },
      "message": "mac80211: add hardware restart function\n\nSome hardware defects may require the hardware to be re-initialised\ncompletely from scratch. Drivers would need much information (for\ninstance the current MAC address, crypto keys, beaconing information,\netc.) stored duplicated from mac80211 to be able to do this, so let\nmac80211 help them.\n\nThe new ieee80211_restart_hw() function requires the same code as\nresuming, so move that code into a new ieee80211_reconfig() function\nin util.c and leave only the suspend code in pm.c.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "25e47c18ac4d8ad09c2ed4b99c1dbbcb7e3d2c51",
      "tree": "e224f603ceb19d7c416cd37fc4479a042ccc6890",
      "parents": [
        "6bad8766620a3c8b64afa981502fdb543e3cfd6c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 02 20:14:06 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:54:40 2009 -0400"
      },
      "message": "cfg80211: add cipher capabilities\n\nThis adds the necessary code and fields to let drivers specify\ntheir cipher capabilities and exports them to userspace. Also\nupdate mac80211 to export the ciphers it has.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5ef2d41afb7fce2315d12a8aaebe0c9f1b50755b",
      "tree": "00fb4ac6a019b42c5be143793a3b34253f43eea9",
      "parents": [
        "de95a54b1aebe5592cae971ca5e5d9ec6a381a17"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Mar 31 12:12:07 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:54:39 2009 -0400"
      },
      "message": "mac80211: include HT capabilities in probe request\n\nInclude the HT capabilities in the probe request frame.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "de95a54b1aebe5592cae971ca5e5d9ec6a381a17",
      "tree": "55a622d1e61e73cd6426c5e0643ac9fd117a9fe8",
      "parents": [
        "18a8365992a8041aa178ae9ad5f0d951d0457230"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Apr 01 11:58:36 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:54:39 2009 -0400"
      },
      "message": "mac80211: pass all probe request IEs to driver\n\nInstead of just passing the cfg80211-requested IEs, pass\nthe locally generated ones as well.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "18a8365992a8041aa178ae9ad5f0d951d0457230",
      "tree": "cb7a461139269feb191e5f5d03c4438cfa9335f2",
      "parents": [
        "75c2148fa5330c6de741fc96e3308f57d846a6b4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Mar 31 12:12:05 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:54:39 2009 -0400"
      },
      "message": "cfg80211: introduce scan IE limit attribute\n\nThis patch introduces a new attribute for a wiphy that tells\nuserspace how long the information elements added to a probe\nrequest frame can be at most. It also updates the at76 to\nadvertise that it cannot support that, and, for now until I\ncan fix that, iwlwifi too.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "47afbaf5af9454a7a1a64591e20cbfcc27ca67a8",
      "tree": "de3a92c6fa90d0b7830bbb538869b8ff41e8b0ea",
      "parents": [
        "853da11b94e674445e93660f47a5f0aeeea09623"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 07 15:22:28 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 16 10:39:08 2009 -0400"
      },
      "message": "mac80211: correct wext transmit power handler\n\nWext makes no assumptions about the contents of\ndata-\u003etxpower.fixed and data-\u003etxpower.value when\ndata-\u003etxpower.disabled is set, so do not update\nthe user-requested power level while disabling.\n\nAlso, when wext configures a really _fixed_ power\noutput [1], we should reject it instead of limiting it\nto the regulatory constraint. If the user wants to set\na _limit_ [2] then we should honour that.\n\n[1] iwconfig wlan0 txpower 20dBm fixed\n[2] iwconfig wlan0 txpower 10dBm\n\nThis fixes\nhttp://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id\u003d1942\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e4e72fb4de93e3d4047a4ee3f08778422e17ed0d",
      "tree": "dd133a749e6fa6960c9aa708041d996110f6440e",
      "parents": [
        "cd8ffc800ce18e558335c4946b2217864fc16045"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 17:28:42 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:23 2009 -0400"
      },
      "message": "mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi\n\nThis patch removes all the virtual A-MPDU-queue bookkeeping from\nmac80211. Curiously, iwlwifi already does its own bookkeeping, so\nit doesn\u0027t require much changes except where it needs to handle\nstarting and stopping the queues in mac80211.\n\nTo handle the queue stop/wake properly, we rewrite the software\nqueue number for aggregation frames and internally to iwlwifi keep\ntrack of the queues that map into the same AC queue, and only talk\nto mac80211 about the AC queue. The implementation requires calling\ntwo new functions, iwl_stop_queue and iwl_wake_queue instead of the\nmac80211 counterparts.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Reinette Chattre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cd8ffc800ce18e558335c4946b2217864fc16045",
      "tree": "e9bb8c3d6011e89374f9df353ff1f15d45a63590",
      "parents": [
        "a220858d30604902f650074bfac5a7598bc97ea4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 17:28:41 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:22 2009 -0400"
      },
      "message": "mac80211: fix aggregation to not require queue stop\n\nInstead of stopping the entire AC queue when enabling aggregation\n(which was only done for hardware with aggregation queues) buffer\nthe packets for each station, and release them to the pending skb\nqueue once aggregation is turned on successfully.\n\nWe get a little more code, but it becomes conceptually simpler and\nwe can remove the entire virtual queue mechanism from mac80211 in\na follow-up patch.\n\nThis changes how mac80211 behaves towards drivers that support\naggregation but have no hardware queues -- those drivers will now\nnot be handed packets while the aggregation session is being\nestablished, but only after it has been fully established.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2a577d98712a284a612dd51d69db5cb989810dc2",
      "tree": "c2e667d92d280d404dd964548aefedd43996645c",
      "parents": [
        "f0e72851f7ad108fed20426b46a18ab5fcd5729f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Mar 23 17:28:37 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:21 2009 -0400"
      },
      "message": "mac80211: rework the pending packets code\n\nThe pending packets code is quite incomprehensible, uses memory barriers\nnobody really understands, etc. This patch reworks it entirely, using\nthe queue spinlock, proper stop bits and the skb queues themselves to\nindicate whether packets are pending or not (rather than a separate\nvariable like before).\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nReviewed-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b5bde374f0f61f5d97114d400ade8fc96bf6f10d",
      "tree": "ff38550fa535c78fbc0e1fd15077453ba83ab366",
      "parents": [
        "cee075a24eec64f1f5b2b3b14753b2d4b8ecce55"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Mar 13 11:19:45 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:12:52 2009 -0400"
      },
      "message": "mac80211: fix warnings in ieee80211_if_config\n\nThe last warning can never trigger, and the explicit AP_VLAN\ncheck is pointless if we move the config_interface check down,\nin practice config_interface is required anyway.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "77965c970d7da9c9b6349ff2b1d9adecf54c403b",
      "tree": "bda8a85fa872a46d5cb5c48891cf3ee21c91e838",
      "parents": [
        "630e64c487c0a9550f05b465216a1cd9125b52f2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Feb 18 18:45:06 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 27 14:52:42 2009 -0500"
      },
      "message": "cfg80211: clean up signal type\n\nIt wasn\u0027t a good idea to make the signal type a per-BSS option,\nalthough then it is closer to the actual value. Move it to be\na per-wiphy setting, update mac80211 to match.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "469002983fc90c2ff0959e2b03335c0fe2e4d5a9",
      "tree": "fdcf78dcdaeadba897abd86d39d0275e236803b3",
      "parents": [
        "96f5e66e8a79810e2982cdcfa28e554f3d97da21"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Feb 15 12:44:28 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 27 14:51:42 2009 -0500"
      },
      "message": "mac80211: split IBSS/managed code\n\nThis patch splits out the ibss code and data from managed (station) mode.\nThe reason to do this is to better separate the state machines, and have\nthe code be contained better so it gets easier to determine what exactly\na given change will affect, that in turn makes it easier to understand.\n\nThis is quite some churn, especially because I split sdata-\u003eu.sta into\nsdata-\u003eu.mgd and sdata-\u003eu.ibss, but I think it\u0027s easier to maintain that\nway. I\u0027ve also shuffled around some code -- null function sending is only\napplicable to managed interfaces so put that into that file, some other\nfunctions are needed from various places so put them into util, and also\nrearranged the prototypes in ieee80211_i.h accordingly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "96f5e66e8a79810e2982cdcfa28e554f3d97da21",
      "tree": "d16a0e083b83ab488f20b995c56a496a4ec2c9c8",
      "parents": [
        "f3734ee6df3ac57151e02d091f47d5e52e646539"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Feb 12 00:51:53 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 27 14:51:42 2009 -0500"
      },
      "message": "mac80211: fix aggregation for hardware with ampdu queues\n\nHardware with AMPDU queues currently has broken aggregation.\n\nThis patch fixes it by making all A-MPDUs go over the regular AC queues,\nbut keeping track of the hardware queues in mac80211. As a first rough\nversion, it actually stops the AC queue for extended periods of time,\nwhich can be removed by adding buffering internal to mac80211, but is\ncurrently not a huge problem because people rarely use multiple TIDs\nthat are in the same AC (and iwlwifi currently doesn\u0027t operate as AP).\n\nThis is a short-term fix, my current medium-term plan, which I hope to\nexecute soon as well, but am not sure can finish before .30, looks like\nthis:\n 1) rework the internal queuing layer in mac80211 that we use for\n    fragments if the driver stopped queue in the middle of a fragmented\n    frame to be able to queue more frames at once (rather than just a\n    single frame with its fragments)\n 2) instead of stopping the entire AC queue, queue up the frames in a\n    per-station/per-TID queue during aggregation session initiation,\n    when the session has come up take all those frames and put them\n    onto the queue from 1)\n 3) push the ampdu queue layer abstraction this patch introduces in\n    mac80211 into the driver, and remove the virtual queue stuff from\n    mac80211 again\n\nThis plan will probably also affect ath9k in that mac80211 queues the\nframes instead of passing them down, even when there are no ampdu queues.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "076ae609d20901b5fd9bc19fc4c245624c423970",
      "tree": "5d57012f770ea8cf7493b6db3027f60490412f0c",
      "parents": [
        "53d6f81c7814690ba096584c733e5deaa34fdd8a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Feb 11 20:27:30 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 27 14:51:39 2009 -0500"
      },
      "message": "mac80211: disallow moving netns\n\nmac80211 currently assumes init_net for all interfaces,\nso really will not cope well with network namespaces,\nat least at this time.\n\nTo change this, we would have keep track of the netns\nin addition to the ifindex, which is not something I\nwant to think about right now.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9a03d6d7a8698f26f8ef02dd3c91f8f68c4edcc7",
      "tree": "e146c165c361b208e8ba41452acff0c75b84d68a",
      "parents": [
        "00d3f14cf9f12c21428121026a5e1d5f65926447"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:26:01 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:59 2009 -0500"
      },
      "message": "mac80211: calculate wstats_flags on the fly\n\nJust to make wext.c more self-contained.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "00d3f14cf9f12c21428121026a5e1d5f65926447",
      "tree": "e5f355deef7b9ebb5b3bf65f9d589bd2a1cfbafa",
      "parents": [
        "79420f09e76e8e1dd1149d6ce9c20e06cbb5802a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:26:00 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:58 2009 -0500"
      },
      "message": "mac80211: use cfg80211s BSS infrastructure\n\nRemove all the code from mac80211 to keep track of BSSes\nand use the cfg80211-provided code completely.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2a5193119269062608582418deba7af82844159a",
      "tree": "1f2fe8cffbeb7530dce7fa708310f6fb29ab0dd8",
      "parents": [
        "849b7967818995a32c3017542e33eb3155944368"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:55 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:49 2009 -0500"
      },
      "message": "cfg80211/nl80211: scanning (and mac80211 update to use it)\n\nThis patch adds basic scan capability to cfg80211/nl80211 and\nchanges mac80211 to use it. The BSS list that cfg80211 maintains\nis made driver-accessible with a private area in each BSS struct,\nbut mac80211 doesn\u0027t yet use it. That\u0027s another large project.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5e1333624827e7a91b2d2cc04ce978f050cae15e",
      "tree": "4016a7c7a5ccda41cbcaed17173445446eaed1b9",
      "parents": [
        "570a0a7c3ba6e44b0fe7f1d42e69ba139b533737"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:38 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:20 2009 -0500"
      },
      "message": "mac80211: disable IBSS beacon before join\n\nBefore we have a probe response frame (which is used as the\nbeacon too) there\u0027s no need to ask drivers to beacon, they\nwill not get a beacon anyway.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7230645e329b4a9c566fefa9327eb8734c7d392c",
      "tree": "085932aa70168016cb9ecca3b984fc1e451babf3",
      "parents": [
        "587e729ecff959482d25c73278a1fbadbc6a54fe"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jan 30 13:36:25 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 09 15:03:45 2009 -0500"
      },
      "message": "mac80211: convert master interface to netdev_ops\n\nAlso call our own ieee80211_master_setup routine instead of\noverwriting almost all the values from ether_setup; this\nloses a few assignments that are pointless on the master\ninterface anyway.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7fee5372d814c4be9546e5c28ac0058258d8df3e",
      "tree": "021aefd5c32d265f2ca6c9b379c11e0484aeba74",
      "parents": [
        "7a7dec656252a5784218a22abf76ad1cdef115d0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jan 30 11:13:06 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 09 15:03:44 2009 -0500"
      },
      "message": "mac80211: remove HW_SIGNAL_DB\n\nGiving the signal in dB isn\u0027t much more useful to userspace\nthan giving the signal in unspecified units. This removes\nsome radiotap information for zd1211 (the only driver using\nthis flag), but it helps a lot for getting cfg80211-based\nscanning which won\u0027t support dB, and zd1211 being dB is a\nlittle fishy anyway.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Bruno Randolf \u003cbruno@thinktube.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c771c9d8da1e8292ef8bf7fd4ce135dacc650130",
      "tree": "79b259a6b0396cbecf9e775c7ba5a80e2c4d94c9",
      "parents": [
        "506d03f97d10e54fd27c58c872a98242326d6419"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jan 23 22:54:03 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:45 2009 -0500"
      },
      "message": "mac80211: add interface list lock\n\nUsing only the RTNL has a number of problems, most notably that\nieee80211_iterate_active_interfaces() and other interface list\ntraversals cannot be done from the internal workqueue because it\nneeds to be flushed under the RTNL.\n\nThis patch introduces a new mutex that protects the interface list\nagainst modifications. A more detailed explanation is part of the\ncode change.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "30d3ef41b4395d9bee5f481395eef2d3b8b6ee50",
      "tree": "caec9f60bc917fb7cfe89e5179eed673a765ff13",
      "parents": [
        "dfe670121a2719be6ead12eb5306d4d2714c09cb"
      ],
      "author": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Fri Jan 23 23:09:35 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:41 2009 -0500"
      },
      "message": "mac80211: change workqueue back to non-freezeable\n\n\"mac80211: make workqueue freezable\" made the mac80211\nworkqueue freezeable to prevent us from doing any work after the\ndriver went away.  This was fine before mac80211 had any suspend\nsupport.\n\nHowever, now we want to flush this workqueue in suspend().  Because\nthe thread for a freezeable workqueue is stopped before the device\nclass suspend() is called, flush_workqueue() will hang in the\nsuspend-to-disk case.\n\nConverting it back to a non-freezeable queue will keep suspend from\nhanging.  Moreover, since we flush the workqueue under RTNL and\nuserspace is stopped, there won\u0027t be any new work in the workqueue\nuntil after resume.  Thus we still don\u0027t have to worry about pinging\nthe AP without hardware.\n\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "078e1e60dd6c6b0d4bc8d58ccb80c008e8efc9ff",
      "tree": "7fa2580b76a5693a37449e9cc075eee2394bb0c3",
      "parents": [
        "07c1e852514e862e246b9f2962ce8fc0d7ac8ed1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jan 22 18:07:31 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:13 2009 -0500"
      },
      "message": "mac80211: Add capability to enable/disable beaconing\n\nThis patch adds a flag to notify drivers to start and stop\nbeaconing when needed, for example, during a scan run. Based\non Sujith\u0027s first patch to do the same, but now disables\nbeaconing for all virtual interfaces while scanning, has a\nseparate change flag and tracks user-space requests.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5f936f11613c32ca7f8ed5fa333bb38a4501deeb",
      "tree": "6963b1e32eaa4d4bdb14655c9e8f209bf0e2c7f7",
      "parents": [
        "e9414b6b3f34dcc3683e66dffa4f5f167d49df51"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jan 21 12:47:05 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:07 2009 -0500"
      },
      "message": "mac80211: constify ieee80211_if_conf.bssid\n\nThen one place can be a static const.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a8302de934b5d1897ff146cd0c7ab87d1417c092",
      "tree": "5a73ad4dd787cc02e14aa8975d267adb5812d8fe",
      "parents": [
        "01f8162a854df7f9c259c839ad3c1168ac13b7b8"
      ],
      "author": {
        "name": "Vasanthakumar Thiagarajan",
        "email": "vasanth@atheros.com",
        "time": "Fri Jan 09 18:14:15 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:00:15 2009 -0500"
      },
      "message": "mac80211: Handle power constraint level advertised in 11d+h beacon\n\nThis patch uses power constraint level while determining the maximum\ntransmit power, there by it makes sure that any power mitigation\nrequirement for the channel in the current regulatory domain is met.\n\nSigned-off-by: Vasanthakumar Thiagarajan \u003cvasanth@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4797938c5dfa22af30fd16679192972f878419a1",
      "tree": "5e9de4801903f0e8fd5aac75c26295ed0069667a",
      "parents": [
        "47166791b7296db5c0a7189401e42b8c7f4cca25"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jan 07 10:13:27 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 15:59:55 2009 -0500"
      },
      "message": "mac80211: clean up channel type config\n\nThe channel_type really doesn\u0027t need to be the only member in\na new structure, so remove the struct. Additionally, remove\nthe _CONF_CHANGE_HT flag and use _CONF_CHANGE_CHANNEL when the\nchannel type changes, since that\u0027s enough of a change to require\nreprogramming the hardware anyway.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2bf30fabadbdcb535b057afc92aba015884847dc",
      "tree": "7a0234aeb666602e7b25a62bb7e483be0fb4a742",
      "parents": [
        "8465676241cad5e28a1b745c32a0e18e1f67e18e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jan 06 23:23:56 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 15:59:53 2009 -0500"
      },
      "message": "mac80211: remove user_power_level from driver API\n\nI missed this during review of \"mac80211: Fix tx power setting\",\nthe user_power_level shouldn\u0027t be available to the driver but\nrather be an internal value used to calculate the value for the\ndriver.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Vasanthakumar Thiagarajan \u003cvasanth@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e3c92df08cbf6a0cb60a9c7ce377378383967e07",
      "tree": "088d70d7924c6dac0e900d4190db928623ec3c76",
      "parents": [
        "a085ff718c8c9f14c44feb337774fadfd982e1a5"
      ],
      "author": {
        "name": "Vasanthakumar Thiagarajan",
        "email": "vasanth@atheros.com",
        "time": "Wed Dec 24 13:53:11 2008 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 15:59:36 2009 -0500"
      },
      "message": "mac80211: Fix tx power setting\n\npower_level in ieee80211_conf is being used for more than one\npurpose. It being used as user configured power limit and the\nfinal power limit given to the driver. By doing so, except very\nfirst time, the tx power limit is taken from min(chan-\u003emax_power,\nlocal-\u003ehw.conf.power_level) which is not what we want. This patch\ndefines a new memeber in ieee80211_conf which is meant only for\nuser configured power limit.\n\nSigned-off-by: Vasanthakumar Thiagarajan \u003cvasanth@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "285256a59d790c6a9afe8ec82804a369d956ac06",
      "tree": "679c78347f255f3a1e198c2cbba98463a99185e5",
      "parents": [
        "de27e64e5eb72ff3edcaf5edce2f306ada1f094d"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Tue Dec 23 15:58:45 2008 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 15:59:32 2009 -0500"
      },
      "message": "mac80211: no need for ht.enabled\n\nWe can simply use conf_is_ht() check where needed.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "520eb82076993b7f55ef9b80771d264272e5127b",
      "tree": "f98b74dbe404d4c3a55b5f649c25ca24958e62ba",
      "parents": [
        "ce7c9111a97492d04c504f40736a669c235d664a"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Thu Dec 18 23:35:27 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 19 15:24:00 2008 -0500"
      },
      "message": "mac80211: implement dynamic power save\n\nThis patch implements dynamic power save for mac80211. Basically it\nmeans enabling power save mode after an idle period. Implementing it\ndynamically gives a good compromise of low power consumption and low\nlatency. Some hardware have support for this in firmware, but some\nrequire the host to do it.\n\nThe dynamic power save is implemented by adding an timeout to\nieee80211_subif_start_xmit(). The timeout can be enabled from userspace\nwith Wireless Extensions. For example, the command below enables the\ndynamic power save and sets the time timeout to 500 ms:\n\niwconfig wlan0 power timeout 500m\n\nPower save now only works with devices which handle power save in firmware.\nIt\u0027s also disabled by default and the heuristics when and how to enable is\nconsidered as a policy decision and will be left for the userspace to handle.\nIn case the firmware has support for this, drivers can disable this feature\nwith IEEE80211_HW_NO_STACK_DYNAMIC_PS.\n\nBig thanks to Johannes Berg for the help with the design and code.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ce7c9111a97492d04c504f40736a669c235d664a",
      "tree": "6a294d373e19a99048dafa632966096371f3b1bb",
      "parents": [
        "e0cb686ff879dc9ac045ad7258ec687088d4e450"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Thu Dec 18 23:35:20 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 19 15:23:59 2008 -0500"
      },
      "message": "mac80211: track master queue status\n\nThis is a preparation for the dynamic power save support. In future there are\ntwo paths to stop the master queues and we need to track this properly to\navoid starting queues incorrectly. Implement this by adding a status\narray for each queue.\n\nThe original idea and design is from Johannes Berg, I just did\nthe implementation based on his notes. All the bugs are mine, of course.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5e3f308997f53d00e8cbebdb89d4f6e347aa963a",
      "tree": "d3da8ee1f40a7becdd5009134932adb3bc96d845",
      "parents": [
        "6110781af080c007b2202187a8518920e03d5748"
      ],
      "author": {
        "name": "Larry Finger",
        "email": "Larry.Finger@lwfinger.net",
        "time": "Wed Dec 17 14:26:59 2008 -0600"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 19 15:23:48 2008 -0500"
      },
      "message": "mac80211: Print unknown packet type in tasklet_handler\n\nIn stress testing p54usb, the WARN_ON() in ieee80211_tasklet_handler() was\ntriggered; however, there is no logging of the received value for packet\ntype. Adding that feature will improve the warning.\n\nSigned-off-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "094d05dc32fc2930e381189a942016e5561775d9",
      "tree": "4deedbcbe196f88cb8d9fe0cd0755775a7ff0939",
      "parents": [
        "420e7fabd9c6d907280ed6b3e40eef425c5d8d8d"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Fri Dec 12 11:57:43 2008 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 19 15:22:54 2008 -0500"
      },
      "message": "mac80211: Fix HT channel selection\n\nHT management is done differently for AP and STA modes, unify\nto just the -\u003econfig() callback since HT is fundamentally a\nPHY property and cannot be per-BSS.\n\nRename enum nl80211_sec_chan_offset as nl80211_channel_type to denote\nthe channel type ( NO_HT, HT20, HT40+, HT40- ).\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8dffff216fcac4f79078478085e86d68db64922e",
      "tree": "a264aa2d10538004d8c5614e69c6fe0c6c76f5b0",
      "parents": [
        "0f202aa2e1e1db1d20da9bcc3f5ad43c5a22d2d5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Dec 09 00:10:30 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 12 13:59:43 2008 -0500"
      },
      "message": "mac80211: only create default STA interface if supported\n\nDrivers will support this, obviously, but this forces them to\nset it up properly.\n\n(This includes the fix posted as \"mac80211: fix ifmodes check\" and\ntested in wireless-testing by Hin-Tak and others. -- JWL)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nReported-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nTested-by: Hin-Tak Leung \u003chtl10@users.sourceforge.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "447107fb32d75425c95a33f58e6b4b760b470092",
      "tree": "83ae7e491ad2c56a9d29d69f38f30967fc2629b6",
      "parents": [
        "bb608e9db7d29616fb6e0d856c23434610d4a1bd"
      ],
      "author": {
        "name": "Reinette Chatre",
        "email": "reinette.chatre@intel.com",
        "time": "Thu Dec 04 14:49:08 2008 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 12 13:48:20 2008 -0500"
      },
      "message": "mac80211: remove WARN_ON() from ieee80211_hw_config\n\nieee80211_hw_config can return an error when the hardware\nhas rfkill enabled. A WARN_ON() is too harsh for this\nfailure as it is a valid scenario. Only comment this warning\nas we would like to have it back when rfkill is integrated into\nmac80211.\n\nAlso reintroduce propagation of error if ieee80211_hw_config fails\nin ieee80211_config_beacon.\n\nThis patch partially reverts patch:\n5f0387fc3337ca26f0745f945f550f0c3734960f\n\"mac80211: clean up ieee80211_hw_config errors\"\n\nSigned-off-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "72bdcf34380917260da41e3c49e10edee04bc5cd",
      "tree": "cbfb8e389f58514febf47ea62781517a9df42f25",
      "parents": [
        "72eaa43a532b4156966444779829a986a4432f11"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Wed Nov 26 16:15:24 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 05 09:32:11 2008 -0500"
      },
      "message": "nl80211: Add frequency configuration (including HT40)\n\nThis patch adds new NL80211_CMD_SET_WIPHY attributes\nNL80211_ATTR_WIPHY_FREQ and NL80211_ATTR_WIPHY_SEC_CHAN_OFFSET to allow\nuserspace to set the operating channel (e.g., hostapd for AP mode).\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4ada424db196c78746fec255d493cacb1c9feddf",
      "tree": "8fc36e480aa46b8cfebd6aff95b8d1a40b910f33",
      "parents": [
        "4d3601b234a51fdd268c8ef8068d239e26dd7ef1"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Fri Nov 14 14:44:22 2008 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 25 16:41:40 2008 -0500"
      },
      "message": "mac80211: don\u0027t assume driver has been attached on registration\n\nmac80211\u0027s ieee80211_register_hw() is often called within the\nprobe path so it cannot assume the device\u0027s driver structure\nhas been attached yet so to create a workqueue instead of\nusing driver-\u003ename use the wiphy\u0027s phy%d name. The name doesn\u0027t\nreally matter anyway.\n\nThis should fix sporadic oopses found when we race to beat the\ndriver pointer setting. Not even sure how this was working properly.\n\nhttp://www.kerneloops.org/search.php?search\u003dieee80211_register_hw\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "41bb73eeac5ff5fb217257ba33b654747b3abf11",
      "tree": "766ebc2b0da42bb30abbc59ec9a2dd4e43f7a825",
      "parents": [
        "b23f99bcfa12c7b452f7ad201ea5921534d4e9ff"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Oct 29 01:09:37 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 10 15:11:56 2008 -0500"
      },
      "message": "mac80211: remove SSID driver code\n\nRemove the SSID from the driver API since now there is no\ndriver that requires knowing the SSID and I think it\u0027s\nunlikely that any hardware design that does require the\nSSID will play well with mac80211.\n\nThis also removes support for setting the SSID in master\nmode which will require a patch to hostapd to not try.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8b30b1fe368ab03049435884c11c5c50e4c4ef0b",
      "tree": "02b27b36cf90267d59584b493ad652e3a4cc6a7e",
      "parents": [
        "4393dce9402c58744433c7a4f3931e17ddde4fb4"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Fri Oct 24 09:55:27 2008 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 19:02:14 2008 -0400"
      },
      "message": "mac80211: Re-enable aggregation\n\nWireless HW without any dedicated queues for aggregation\ndo not need the ampdu_queues mechanism present right now\nin mac80211. Since mac80211 is still incomplete wrt TX MQ\nchanges, do not allow aggregation sessions for drivers that\nset ampdu_queues.\n\nThis is only an interim hack until Intel fixes the requeue issue.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: Luis Rodriguez \u003cLuis.Rodriguez@Atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e6a9854b05c1a6af1308fe2b8c68f35abf28a3ee",
      "tree": "241f611f8194586ccabf61bacb060508773b9d05",
      "parents": [
        "cb121bad67a32cde37adc2729b7e18aa4fd3063e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 21 12:40:02 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 19:00:23 2008 -0400"
      },
      "message": "mac80211/drivers: rewrite the rate control API\n\nSo after the previous changes we were still unhappy with how\nconvoluted the API is and decided to make things simpler for\neverybody. This completely changes the rate control API, now\ntaking into account 802.11n with MCS rates and more control,\nmost drivers don\u0027t support that though.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cb121bad67a32cde37adc2729b7e18aa4fd3063e",
      "tree": "ec0eee59130288c806055a42679e7120b1ddbf17",
      "parents": [
        "faf3994a9f65fd95a68bbcc03c318a427cd1e7d3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 14 16:38:55 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 19:00:22 2008 -0400"
      },
      "message": "mac80211: add might_sleep to hw_config\n\nJust to catch bugs when changing mac80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bda3933a8aceedd03e0dd410844bd310033ca756",
      "tree": "f4d2c70a6338e500b6db93b073801181280b1840",
      "parents": [
        "9124b07740c51cbc6e358dd0c4abc6ee8ded084d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Oct 11 01:51:51 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 19:00:15 2008 -0400"
      },
      "message": "mac80211: move bss_conf into vif\n\nMove bss_conf into the vif struct so that drivers can\naccess it during -\u003etx without having to store it in\nthe private data or similar. No driver updates because\nthis is only for when they want to start using it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9124b07740c51cbc6e358dd0c4abc6ee8ded084d",
      "tree": "5746885ca90399588f0735aa1a5511648f0be329",
      "parents": [
        "525181891fb5ed323b6ba0f141c422f1395acfb9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 14 19:17:54 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 19:00:14 2008 -0400"
      },
      "message": "mac80211: make retry limits part of hw config\n\nInstead of having a separate callback, use the HW config callback\nwith a new flag to change retry limits.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e8975581f63870be42ff4662b293d1b0c8c21350",
      "tree": "3d0d67e73d009ea6480b459585c0a70fc35fa9da",
      "parents": [
        "0f4ac38b5999c3d51adad52d61c56c1b99c247ec"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 09 12:18:51 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 19:00:07 2008 -0400"
      },
      "message": "mac80211: introduce hw config change flags\n\nThis makes mac80211 notify the driver which configuration\nactually changed, e.g. channel etc.\n\nNo driver changes, this is just plumbing, driver authors are\nexpected to act on this if they want to.\n\nAlso remove the HW CONFIG debug printk, it\u0027s incorrect, often\nwe configure something else.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d9fe60dea7779d412b34679f1177c5ca1940ea8d",
      "tree": "a51e16b013f7c1d16ded502cb32c03872bcbfcaa",
      "parents": [
        "40333e4fb476014cdd939d27e20eb54573172b32"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 09 12:13:49 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 19:00:06 2008 -0400"
      },
      "message": "802.11: clean up/fix HT support\n\nThis patch cleans up a number of things:\n * the unusable definition of the HT capabilities/HT information\n   information elements\n * variable names that are hard to understand\n * mac80211: move ieee80211_handle_ht to ht.c and remove the unused\n             enable_ht parameter\n * mac80211: fix bug with MCS rate 32 in ieee80211_handle_ht\n * mac80211: fix bug with casting the result of ieee80211_bss_get_ie\n             to an information element _contents_ rather than the\n             whole element, add size checking (another out-of-bounds\n             access bug fixed!)\n * mac80211: remove some unused return values in favour of BUG_ON\n             checking\n * a few minor other things\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7a5158ef8da70fdedeb0530faaa8128aa645be3c",
      "tree": "6db285b5fc4971c5e15168fc0fb7cf442b89f168",
      "parents": [
        "e87a2feea75e3cba7af43ed9317b56b282d87742"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Oct 08 10:59:33 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 18:58:53 2008 -0400"
      },
      "message": "mac80211: fix short slot handling\n\nThis patch makes mac80211 handle short slot requests from the AP\nproperly. Also warn about uses of IEEE80211_CONF_SHORT_SLOT_TIME\nand optimise out the code since it cannot ever be hit anyway.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e87a2feea75e3cba7af43ed9317b56b282d87742",
      "tree": "3565c7758def16a84cba37202846559d0072a964",
      "parents": [
        "d73782fdde76554016abf73b46f843b29f520848"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 07 12:04:35 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 18:06:01 2008 -0400"
      },
      "message": "mac80211: remove max_antenna_gain config\n\nThe antenna gain isn\u0027t exactly configurable, despite the belief of\nsome unnamed individual who thinks that the EEPROM might influence\nit.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d73782fdde76554016abf73b46f843b29f520848",
      "tree": "9b57321ce60ba336dfea63501b1d23d21c700817",
      "parents": [
        "3db594380b8452eda4d88b12844077809607caaa"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 07 12:04:34 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 18:06:00 2008 -0400"
      },
      "message": "mac80211: clean up ieee80211_hw_config errors\n\nWarn when ieee80211_hw_config returns an error, it shouldn\u0027t\nhappen; remove a number of printks that would happen in such\na case and one printk that is user-triggerable.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c6a1fa12d206882757264869f8e32d606b930e2a",
      "tree": "c69a7f8ebe43481a985acd7844d35a26bd9a61ce",
      "parents": [
        "36ff382d0065c9980c203c7cd3b3eb26251e9397"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 07 12:04:32 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 18:05:59 2008 -0400"
      },
      "message": "mac80211: minor code cleanups\n\nNothing very interesting, some checkpatch inspired stuff,\nsome other things.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cccf129f820e431d84690729254a32f1709328fb",
      "tree": "0539c013be61ba6c8eeb0790ccb7df50bf2cb3bd",
      "parents": [
        "2f7fe87034298d94301315ba4bb65c7284c709d0"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sun Oct 05 18:07:45 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 06 18:14:57 2008 -0400"
      },
      "message": "mac80211: add the \u0027minstrel\u0027 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": "4b7679a561e552eeda1e3567119bef2bca99b66e",
      "tree": "b5f2b45c9186eb954f9329322d07e277e669b422",
      "parents": [
        "2ff6a6d4e92270283432690adf53a7e5ab186d19"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 18 18:14:18 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 24 16:18:03 2008 -0400"
      },
      "message": "mac80211: clean up rate control API\n\nLong awaited, hard work. This patch totally cleans up the rate control\nAPI to remove the requirement to include internal headers outside of\nnet/mac80211/.\n\nThere\u0027s one internal use in the PID algorithm left for mesh networking,\nwe\u0027ll have to figure out a way to clean that one up and decide how to\ndo the peer link evaluation, possibly independent of the rate control\nalgorithm or via new API.\n\nAdditionally, ath9k is left using the cross-inclusion hack for now, we\nwill add new API where necessary to make this work properly, but right\nnow I\u0027m not expert enough to do it. It\u0027s still off better than before.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "133b822638ff01eb1e32e1917b197c40ed095ddd",
      "tree": "8b96f00426728f3c05ba05f387240f0279512a75",
      "parents": [
        "9e5e6c327defcef19dabad64335ee68bb55b2355"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Sep 16 14:18:59 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 24 16:18:00 2008 -0400"
      },
      "message": "mac80211: make master iface not wireless\n\nThere\u0027s no need to register the master netdev with cfg80211,\nin fact, this is quite dangerous and lead to having to add\nchecks for the master interface all over the config handlers.\nThis patch removes the \"ieee80211_ptr\" from the master iface\nin favour of having a small netdev_priv() associated with\nthe master interface that stores the ieee80211_local pointer.\nBecause of this, a lot of code in the configuration handlers\ncan go away. To make this patch easier to verify I have also\nremoved a number of wiphy_priv() calls in favour of getting\nthe sdata first and then the local pointer from that.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "95dac040041723d0c0ab245642c1b9802f12cc8d",
      "tree": "2ac4f11b3cb1a350a892ac80ac3ba76d24076c70",
      "parents": [
        "81c065238644ade3869391f977438ff7ed3158db"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 02:03:28 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:23 2008 -0400"
      },
      "message": "mac80211: small rate control changes\n\nThis patch fixes mac80211 to not rely on the rate control\nalgorithm to update sta-\u003etx_retry_failed and sta-\u003etx_retry_count\n(even if we don\u0027t currently use them), removes a number of\ncompletely unused values we don\u0027t even show in debugfs and\nchanges the code in ieee80211_tx_status() to not look up the\nsta_info repeatedly.\n\nThe only behaviour change here would be not calling the rate\ncontrol function rate_control_tx_status() when no sta_info is\nfound, but all rate control algorithms ignore such calls anyway.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7a725f73403e874ec52c58741e9b98cd604dbd03",
      "tree": "c3f31b92ce014f30559a0d6a579a38f2ed15e678",
      "parents": [
        "0d143fe1e2efc084fa730d2dfa22d0d1ca2ee5f1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:02:00 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:23 2008 -0400"
      },
      "message": "mac80211: warn on some invalid vlan operations\n\nThese should never happen, but better warn about them than\ncrashing a driver, the fact that they never happen is rather\nsubtle throughout mac80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0d143fe1e2efc084fa730d2dfa22d0d1ca2ee5f1",
      "tree": "d3a08fc38cad01024b37981e8258f84fe61d7ac3",
      "parents": [
        "05c914fe330fa8e1cc67870dc0d3809dfd96c107"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:59 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:23 2008 -0400"
      },
      "message": "mac80211: move regular interface handling\n\nMove the code to handle regular interfaces out of main.c and\ninto iface.c, keep only the master interface stuff in main.c.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "05c914fe330fa8e1cc67870dc0d3809dfd96c107",
      "tree": "df53bcab47335f3361c09478d6b1447b7d298536",
      "parents": [
        "96dd22ac06b0dbfb069fdf530c72046a941e9694"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:58 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:23 2008 -0400"
      },
      "message": "mac80211: use nl80211 interface types\n\nThere\u0027s really no reason for mac80211 to be using its\nown interface type defines. Use the nl80211 types and\nsimplify the configuration code a bit: there\u0027s no need\nto translate them any more now.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c2b13452b283f9c4a5b02a6b53ed6416ebf4c03c",
      "tree": "756b8c9668c643293a46389b8b8f34b8efd3d2ea",
      "parents": [
        "213cd118cbb88b76ae48f92cfb7dbef9a83cca62"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:55 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:22 2008 -0400"
      },
      "message": "mac80211: clean up scan namespace\n\nMost of the scan functions are called ieee80211_sta_scan_*\nor similar, make clean it up so they are all just called\nieee80211_scan_*.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "213cd118cbb88b76ae48f92cfb7dbef9a83cca62",
      "tree": "f0b2237af6e1336648e350541c3871397e976a41",
      "parents": [
        "e16751c3178add97c4f83dcf92e59b536537b22f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:54 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:22 2008 -0400"
      },
      "message": "mac80211: make bridge_packets a virtual interface option\n\nThe bridge_packets configuration really should be per virtual\ninterface (theoretically per AP/VLAN, but this is much easier);\nthere currently is no way to set it yet though. Also invert\nthe option to \"NO_BRIDGE_PACKETS\" so the default is to bridge.\n\nWhile at it, also document the flags properly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5bc75728fd43bb15b46f16ef465bcf9d487393cf",
      "tree": "5732adee3965970390bf7953d214c757bbdba2a2",
      "parents": [
        "b7413430d4d2a6168e68231d9f93763047b6d60c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:51 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:20 2008 -0400"
      },
      "message": "mac80211: fix scan vs. interface removal race\n\nWhen we remove an interface, we can currently end up having\na pointer to it left in local-\u003escan_sdata after it has been\nset down, and then with a hardware scan the scan completion\ncan try to access it which is a bug. Alternatively, a scan\nthat started as a hardware scan may terminate as though it\nwas a software scan, if the timing is just right.\n\nOn SMP systems, software scan also has a similar problem,\njust canceling the delayed work and setting a flag isn\u0027t\nenough since it may be running concurrently; in this case\nwe would also never restore state of other interfaces.\n\nThis patch hopefully fixes the problems by always invoking\nieee80211_scan_completed or requiring it to be invoked by\nthe driver, I suspect the drivers that have -\u003ehw_scan() are\nbuggy. The bug will not manifest itself unless you remove\nthe interface while hw-scanning which will also turn off\nthe hw, and then add a new interface which will be unusable\nuntil you scan once.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b7413430d4d2a6168e68231d9f93763047b6d60c",
      "tree": "18e85326ddb298500820252f2e510b58319b52d2",
      "parents": [
        "472dbc45dc1966284de72d7de15690c17ed2cf33"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:50 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:20 2008 -0400"
      },
      "message": "mac80211: fix work race\n\nWhen we stop an interface, the work on it may still be pending\nor running. We do cancel the timer, but we do not currently\nprotect against the work struct. The race is very unlikely to\nhit -- it\u0027ll happen only when the driver is using mac80211\u0027s\nworkqueue to run long-running tasks and the sta/mesh works are\ndelayed for quite a bit.\n\nThis patch fixes it by cancelling the work explicitly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "472dbc45dc1966284de72d7de15690c17ed2cf33",
      "tree": "e8bfb88067f7fd8845978d1613f868e6a4499999",
      "parents": [
        "7c95069522d02ff144cd421be6618dce619caf7e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 11 00:01:49 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:20 2008 -0400"
      },
      "message": "mac80211: split off mesh handling entirely\n\nThis patch splits off mesh handling from the STA/IBSS.\nUnfortunately it increases mesh code size a bit, but I\nthink it makes things clearer. The patch also reduces\nper-interface run-time memory usage.\n\nAlso clean up a few places where ifdef is not required.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5825fe100d654fff89aa67a1e202af1f8a7f0ad0",
      "tree": "09c9b6f7e1f51a34fcc5d5030d6339b642e41057",
      "parents": [
        "3110bef78cb4282c58245bc8fd6d95d9ccb19749"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Sep 09 12:56:01 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 11 15:53:39 2008 -0400"
      },
      "message": "mac80211: initialise queue QoS parameters at hw start\n\nWhen hardware is started it might be in a confused state with\nrespect to queue QoS parameters. This patch changes mac80211\nto set sane defaults right after the hardware is brought up.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bacac545f10f2bf6e5ceff0d8e2b82dfc493602a",
      "tree": "16c590d0c71e5368e75e7a108fa4df0fa196767f",
      "parents": [
        "44d414dbff9d5bf46fc09f2e68567b5848cbbfd3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Sep 08 17:44:29 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 11 15:53:37 2008 -0400"
      },
      "message": "mac80211: move some HT code out of main.c\n\nNow that I\u0027ve created ht.c, I can move the aggregation\ncode from main.c into it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "491775a50787b9fbb09b5735be3d111c65935f5c",
      "tree": "d09e49e53ea9913c5077ba591d44a18555fd7d58",
      "parents": [
        "60f8b39c9406752ea5e0d3bbf5df6f903d61cacf"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Sep 08 17:44:23 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 11 15:53:36 2008 -0400"
      },
      "message": "mac80211: use sdata pointer for scan interface\n\nSince we now use sdata pointers most of the time, using a netdev\npointer here is somewhat artificial, use an sdata pointer instead.\nReplace a netdev-prefix in a few messages by a wiphy-prefix.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "00c5ae2fa0f8191a1b204e71f0ee11359e3b2c06",
      "tree": "06ebdd29be276ef829e270497781db43783a8710",
      "parents": [
        "1e493d1946a0b26b79001c18d7312d536156ff5a"
      ],
      "author": {
        "name": "Tomas Winkler",
        "email": "tomas.winkler@intel.com",
        "time": "Wed Sep 03 11:26:42 2008 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 11 15:53:31 2008 -0400"
      },
      "message": "mac80211: change MIMO_PS to SM_PS\n\nThis patch follows 11n spec naming more rigorously replacing MIMO_PS\nwith SM_PS (Spatial Multiplexing Power Save).\n\n(Originally submitted as 4 patches, \"mac80211: change MIMO_PS to SM_PS\",\n\"iwlwifi: change MIMO_PS to SM_PS\", \"ath9k: change MIMO_PS to SM_PS\",\nand \"iwlwifi: remove double definition of SM PS\". -- JWL)\n\nSigned-off-by: Ron Rindjunsky \u003cron.rindjunsky@intel.com\u003e\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f59ac0481660e66cec67f1d6b024e78b9dc715fe",
      "tree": "e9c69b04ac5863b1429bca5a9df1d75026703cde",
      "parents": [
        "c6e387a214f4b2c4bd48020409e366c133385d98"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Fri Aug 29 16:26:43 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 05 16:17:42 2008 -0400"
      },
      "message": "cfg80211: keep track of supported interface modes\n\nIt is obviously good for userspace to know up front which\ninterface modes a given piece of hardware might support (even\nif adding such an interface might fail later because of\nconcurrency issues), so let\u0027s make cfg80211 aware of that.\nFor good measure, disallow adding interfaces in all other\nmodes so drivers don\u0027t forget to announce support for one mode\nwhen they add it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Stephen Blackheath \u003ctramp.enshrine.stephen@blacksapphire.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7f93ea3e246db512c0c17b79847f57dd3a2891e1",
      "tree": "eebac60fc856a727e79c5ee0bb18383f61f30d13",
      "parents": [
        "4d40555250320520c5398569457962b3984fc75e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Aug 06 21:45:26 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 29 16:23:55 2008 -0400"
      },
      "message": "mac80211: fill start-sequence-number for BA session start\n\nOtherwise, drivers are required to keep track of the sequence numbers\nthemselves, and they really shouldn\u0027t be since we already do it for\nthem. I\u0027ll fix the race once we figure out how this code should work\nat all, it\u0027s currently disabled.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "48c2fc59aa415ba92be0ad3a7e741c46883e3944",
      "tree": "967378bd9431e43bff88f0070acf9380f48729b5",
      "parents": [
        "06303352d3de02a371ccaec1366a92db5e1d7c30"
      ],
      "author": {
        "name": "Tomas Winkler",
        "email": "tomas.winkler@intel.com",
        "time": "Wed Aug 06 14:22:01 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:59 2008 -0400"
      },
      "message": "mac80211: cleanup mlme state namespace\n\nThis patch move add STA_MLME to station mlme state defines.\n\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f698d856f65c3fea091cc303a135967965c5b880",
      "tree": "94c7c2d561e5191646dc5798683c0aca97973773",
      "parents": [
        "fef1643bf0cdd092a52dc3378479e4811fd65152"
      ],
      "author": {
        "name": "Jasper Bryant-Greene",
        "email": "jasper@amiton.co.nz",
        "time": "Sun Aug 03 12:04:37 2008 +1200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:58 2008 -0400"
      },
      "message": "replace net_device arguments with ieee80211_{local,sub_if_data} as appropriate\n\nThis patch replaces net_device arguments to mac80211 internal functions\nwith ieee80211_{local,sub_if_data} as appropriate.\n\nIt also does the same for many 802.11s mesh functions, and changes the\nmesh path table to be indexed on sub_if_data rather than net_device.\n\nIf the mesh part needs to be a separate patch let me know, but since\nmesh uses a lot of mac80211 functions which were being converted anyway,\nthe changes go hand-in-hand somewhat.\n\nThis patch probably does not convert all the functions which could be\nconverted, but it is a large chunk and followup patches will be\nprovided.\n\nSigned-off-by: Jasper Bryant-Greene \u003cjasper@amiton.co.nz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bdbe819540f3365249095692118dbfeee308140d",
      "tree": "06aedcf13b0003860eedef03785db6977921a67d",
      "parents": [
        "4eb2ae9a42b77de48ee9fecfaccc66c640313188"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Thu Aug 14 10:40:48 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:55 2008 -0400"
      },
      "message": "mac80211: allow no mac address until firmware load\n\nOriginally by Johannes Berg. This patch adds support for devices that do not\nreport their MAC address until the firmware is loaded. While the address is not\nknown, a multicast on is used.\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "62bf1d762e24006fa9b6c8d56a22cf47a2310af3",
      "tree": "a541e842ae0aff4040e030f320b8e6f03479a22f",
      "parents": [
        "798ee9850e9bf94b4436f9c7238823322e326885"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jul 15 18:44:05 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:53 2008 -0400"
      },
      "message": "mac80211: explicitly check skb-\u003elen\n\nieee80211_get_hdrlen_from_skb internally checks the skb is long enough to\nhold the full ieee80211_hdr, else it returns zero.  Use ieee80211_hdrlen\nwhich always returns the hdrlen and check the remaining room in the\nskb explicitly when removing encryption headers or the qos control field.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ],
  "next": "8dbc1722a78343eb80f0ce1a3ef1965a9774ad5b"
}
