)]}'
{
  "log": [
    {
      "commit": "cc755896a4274f11283bca32d1d658203844057a",
      "tree": "218970ece71df99f686b9416b7fd88b921690ebb",
      "parents": [
        "d250fe91ae129bff0968e685cc9c466d3a5e3482",
        "9459d59fbf0bc82ff4c804679fa8bc22788eca63"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 11 14:24:55 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 11 14:24:55 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/ath/ar9170/main.c\n"
    },
    {
      "commit": "0aaffa9b9699894aab3266195a529baf9f96ac29",
      "tree": "26fe5f5277ac6d7061ea723f92d4038b0c28b0b8",
      "parents": [
        "f444de05d20e27cdd960c13fcbcfca3099f03143"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed May 05 15:28:27 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri May 07 14:55:51 2010 -0400"
      },
      "message": "mac80211: improve HT channel handling\n\nCurrently, when one interface switches HT mode,\nall others will follow along. This is clearly\nundesirable, since the new one might switch to\nno-HT while another one is operating in HT.\n\nAddress this issue by keeping track of the HT\nmode per interface, and allowing only changes\nthat are compatible, i.e. switching into HT40+\nis not possible when another interface is in\nHT40-, in that case the second one needs to\nfall back to HT20.\n\nAlso, to allow drivers to know what\u0027s going on,\nstore the per-interface HT mode (channel type)\nin the virtual interface\u0027s bss_conf.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "83163244f845c296a118ce85c653872dbff6abfe",
      "tree": "ce2eac695a1c198f23d537e20ed86c16ece21f7e",
      "parents": [
        "0a12761bcd5646691c5d16dd93df84d1b8849285",
        "adfba3c7c026a6a5560d2a43fefc9b198cb74462"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 05 16:14:16 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 05 16:14:16 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/libertas_tf/cmd.c\n\tdrivers/net/wireless/libertas_tf/main.c\n"
    },
    {
      "commit": "be4a4b6a5d2f76393f545a2545fbaa1b65577e13",
      "tree": "5456729061f295a1e7782766eb195707228475f8",
      "parents": [
        "a75b4363eaafa99d909da4f1192322a78b074c73"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon May 03 08:49:48 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 03 14:53:10 2010 -0400"
      },
      "message": "mac80211: improve IBSS scanning\n\nWhen IBSS is fixed to a frequency, it can still\nscan to try to find the right BSSID. This makes\nsense if the BSSID isn\u0027t also fixed, but it need\nnot scan all channels -- just one is sufficient.\nMake it do that by moving the scan setup code to\nieee80211_request_internal_scan() and include\na channel variable setting.\n\nNote that this can be further improved to start\nthe IBSS right away if both frequency and BSSID\nare fixed.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "195e294d21e88af879da4f88db2ceeb4ec28a755",
      "tree": "22a75db60cc8743888054460db85eb9a76b0cecb",
      "parents": [
        "3a37495268ab45507b4cab9d4cb18c5496ab7a10"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Tue Apr 27 12:47:40 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 27 16:09:22 2010 -0400"
      },
      "message": "mac80211: Determine dynamic PS timeout based on ps-qos network latency\n\nDetermine the dynamic PS timeout based on the configured ps-qos network\nlatency. For backwards wext compatibility, allow the dynamic PS timeout\nconfigured by the cfg80211 to overrule the automatically determined value.\n\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5c01d5669356e13f0fb468944c1dd4c6a7e978ad",
      "tree": "fa43345288d7b25fac92b3b35360a177c4947313",
      "parents": [
        "fea069152614cdeefba4b2bf80afcddb9c217fc8",
        "a5e944f1d955f3819503348426763e21e0413ba6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 15 16:21:34 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 15 16:21:34 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ath/ath5k/phy.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n"
    },
    {
      "commit": "871039f02f8ec4ab2e5e9010718caa8e085786f1",
      "tree": "f0d2b3127fc48c862967d68c46c2d46668137515",
      "parents": [
        "e4077e018b5ead3de9951fc01d8bf12eeeeeefed",
        "4a1032faac94ebbf647460ae3e06fc21146eb280"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/stmmac/stmmac_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_cmd.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_spi.c\n\tnet/core/ethtool.c\n\tnet/mac80211/scan.c\n"
    },
    {
      "commit": "b5878a2dc5e7e7f031a52c3e15b571224cb6b540",
      "tree": "4d035602f4a4d6e021eaf261f3665d4a5439cfd8",
      "parents": [
        "403820edc4ba1f2fb2514c022f2662c498ce0d11"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Apr 07 16:48:40 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 08 15:24:13 2010 -0400"
      },
      "message": "mac80211: enhance tracing\n\nEnhance tracing by adding tracing for a variety of\ncallbacks that the drivers call, and also for\ninternal calls (currently limited to queue status).\nThis can aid debugging what is going on in mac80211\nin interaction with drivers, since we can now see\nwhat drivers call and not just what mac80211 calls\nin the driver.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0379185b6c0d1e8252023698cf1091da92a3dc03",
      "tree": "f4dfe150ef44b2b94d94c982f8bddf9c44c4294d",
      "parents": [
        "1cb561f83793191cf86a2db3948d28f5f42df9ff"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 06 11:18:42 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 06 15:53:30 2010 -0400"
      },
      "message": "mac80211: annotate station rcu dereferences\n\nThe new RCU lockdep support warns about these\nin some contexts -- make it aware of the locks\nused to protect all this. Different locks are\nused in different contexts which unfortunately\nmeans we can\u0027t get perfect checking.\n\nAlso remove rcu_dereference() from two places\nthat don\u0027t actually dereference the pointers.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2f787b0b76bf5de2eaa3ca3a29d89123ae03c856",
      "tree": "6b842dccc0c5a8e1e26ed41811bac8cbff8a474c",
      "parents": [
        "e4008276fddd10445ff06707694a938cb7f35ed4"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki / 吉藤英明",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sun Apr 04 17:59:30 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 00:12:30 2010 -0700"
      },
      "message": "mac80211: Ensure initializing private mc_list in prepare_multicast().\n\nFix kernel panic by NULL pointer dereference in the context of\nieee80211_ops-\u003eprepare_multicast().\n\nThis bug was introduced by commit 22bedad3c.. (\"net: convert\nmulticast list to list_head\").\n\nCall __hw_addr_init() in ieee80211_alloc_hw() to initialize\nlist_head of private device multicast list, like we do in\nbond_init().\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nReviewed-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22bedad3ce112d5ca1eaf043d4990fa2ed698c87",
      "tree": "b6fba5688d48b1396f01d13ee53610dea7749c15",
      "parents": [
        "a748ee2426817a95b1f03012d8f339c45c722ae1"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu Apr 01 21:22:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:22:15 2010 -0700"
      },
      "message": "net: convert multicast list to list_head\n\nConverts the list and the core manipulating with it to be the same as uc_list.\n\n+uses two functions for adding/removing mc address (normal and \"global\"\n variant) instead of a function parameter.\n+removes dev_mcast.c completely.\n+exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for\n manipulation with lists on a sandbox (used in bonding and 80211 drivers)\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b446918b77c717a34eaa853dfab55f579d330551",
      "tree": "1dfe5175f3acd06bcf2ef16ee346a4931a563611",
      "parents": [
        "7bfbae10dc10a5c94a780d117a57e875d77e8e5a"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Wed Feb 24 14:19:37 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 26 16:59:11 2010 -0500"
      },
      "message": "mac80211: use listen interval 5 as default\n\nCurrently if a driver does not set hw.max_listen_interval a listen\ninterval of 1 is negotiated with the AP. Thus, the AP could drop\nbuffered frames for us after just one beacon interval which can\neasily happen with the current powersave and scan implementation.\nTo avoid this issue increase the default interval to 5 which should\nbe a reasonable safe default.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "50ae0cf15c3da2f6a8e4558de5010923e84736b2",
      "tree": "a524720a3da8eac3e08ef7dd7ec67d0f30283f78",
      "parents": [
        "ab13315af97919fae0e014748105fdc2e30afb2d"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Jan 12 10:42:39 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 14:21:00 2010 -0500"
      },
      "message": "mac80211: add debugfs interface for U-APSD queue configuration\n\nBecause it\u0027s not yet decided how to configure which queues are U-APSD\nenabled, add a debugfs interface for testing purposes.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ab13315af97919fae0e014748105fdc2e30afb2d",
      "tree": "befa549272ecff20b2839bd6671e4cccbce448f9",
      "parents": [
        "2d46d7c121436f1dafe91b0a8d9b99e534cfa5f8"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Jan 12 10:42:31 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 14:20:58 2010 -0500"
      },
      "message": "mac80211: add U-APSD client support\n\nAdd Unscheduled Automatic Power-Save Delivery (U-APSD) client support. The\nidea is that the data frames from the client trigger AP to send the buffered\nframes with ACs which have U-APSD enabled. This decreases latency and makes it\npossible to save even more power.\n\nDriver needs to use IEEE80211_HW_UAPSD to enable the feature. The current\nimplementation assumes that firmware takes care of the wakeup and\nhardware needing IEEE80211_HW_PS_NULLFUNC_STACK is not yet supported.\n\nTested with wl1251 on a Nokia N900 and Cisco Aironet 1231G AP and running\nvarious test traffic with ping.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "29401f6630c02ce996561bf2667d84ecdfacb823",
      "tree": "7d890d1132403b711e34759fc99e192c43d3f660",
      "parents": [
        "61b91c1ea31d0d3ae5f848f7f7eab53dd691f8d0"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Tue Dec 29 12:43:58 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 05 17:13:13 2010 -0500"
      },
      "message": "mac80211: No need to include WEXT headers here\n\nRemove the forgotten linux/wireless.h inclusion from mac80211.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b8bc4b0aa9bfba755c64b11b8f60e6cfab25dc9d",
      "tree": "7f95b0c7d4f847e3c624b67899c7a62f6b73ce26",
      "parents": [
        "9588bbd5529461a3dacd435bf239c84c3508f569"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:42 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:55:03 2009 -0500"
      },
      "message": "mac80211: support remain-on-channel command\n\nThis implements the new remain-on-channel cfg80211\ncommand in mac80211, extending the work interface.\n\nAlso change the work purge code to be able to clean\nup events properly (pretending they timed out.)\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0c1ad2cac1cb54db38fd4cc1822965071ee83f6e",
      "tree": "d5af632483584b7579ad8b24ba870f9b18e1aaa7",
      "parents": [
        "8e664fb3fd2b04e3ac5fad7f046000ba54e0e275"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:39 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:54:59 2009 -0500"
      },
      "message": "mac80211: proper bss private data handling\n\ncfg80211 offers private data for each BSS struct,\nwhich mac80211 uses. However, mac80211 uses internal\nand external (cfg80211) BSS pointers interchangeably\nand has a hack to put the cfg80211 bss struct into\nthe private struct.\n\nRemove this hack, properly converting between the\npointers wherever necessary.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "af6b63741cc4e4dfd575d06beb333b11a8a6e0c0",
      "tree": "a2c1a27b6b6b0fb171606f3653b5c280537b32a3",
      "parents": [
        "f679f65d417c3ea3f91b4bbfb68e3951c9eb8f04"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:35 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:54:55 2009 -0500"
      },
      "message": "mac80211: generalise work handling\n\nIn order to use auth/assoc for different purposes\nother than MLME, it needs to be split up. For other\npurposes, a generic work handling (potentially on\nanother channel) will be useful.\n\nTo achieve that, this patch moves much of the MLME\nwork handling out of mlme into a new work API. The\nAPI can currently handle probing a specific AP,\nauthentication and association. The MLME previously\nhandled probe/authentication as one step and will\ncontinue to do so, but they are separate in the new\nwork handling.\n\nWork items are RCU-managed to be able to check for\nexistence of an item for a specific frame in the RX\npath, but they can be re-used which the MLME right\nnow will do for its combined probe/auth step.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9607e6b66a0d25ca63b70d54a4283fa13d8f7c9d",
      "tree": "706cb2c2db2df69fa446eb3848b27107b67f2d25",
      "parents": [
        "d30506e0357e5448c7d38bb3739c451dbe4c174e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:31 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:54:49 2009 -0500"
      },
      "message": "mac80211: add ieee80211_sdata_running\n\nInstead of always using netif_running(sdata-\u003edev)\nuse ieee80211_sdata_running(sdata) now which is\njust an inline containing netif_running() for now.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ea1e4b842049fcc4741096538114871a74859314",
      "tree": "c2336ab480ac0fd62e0dc41b391d99c97158dc9c",
      "parents": [
        "b6ce5c33001b1dc83e6a1a6f30c5dccccea651b6",
        "92c6f8d849178582fc527aaf1e51dd37a74767d3"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 15:09:11 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 15:09:11 2009 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "f38fd12fa7b7b98e158a9b31d388da34eef25c22",
      "tree": "bf5f8407e3456e691e4ef873d343c3403974937a",
      "parents": [
        "8b73d13a21ae889e747cac180ff27c5a0a88e6a4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Dec 01 18:29:42 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 22 13:31:17 2009 -0500"
      },
      "message": "mac80211: allow disabling 40MHz on 2.4GHz\n\nIn some situations it is required that a system be\nconfigured with no support for 40 MHz channels in\nthe 2.4 GHz band. Rather than imposing any such\nrestrictions on everybody, allow configuration a\nsystem like that with a module parameter. It is\nwritable at runtime but only takes effect at the\ntime of the next association.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0f78231bffb868a30e8533aace142213266bb811",
      "tree": "317f65dc6d89e9a89ad83f94fadd780dd1e0ca83",
      "parents": [
        "18974b5b0b5e758d416c550553b143e5c8038281"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Dec 01 13:37:02 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 22 13:31:16 2009 -0500"
      },
      "message": "mac80211: enable spatial multiplexing powersave\n\nEnable spatial multiplexing in mac80211 by telling the\ndriver what to do and, where necessary, sending action\nframes to the AP to update the requested SMPS mode.\n\nAlso includes a trivial implementation for hwsim that\njust logs the requested mode.\n\nFor now, the userspace interface is in debugfs only,\nand let you toggle the requested mode at any time.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "12375ef933fa8271396ed0c1e318cb1bd2e2689d",
      "tree": "b05ccc4573cb8f0a1b89edeeae7e6c5805f75f67",
      "parents": [
        "47846c9b0c10808d9337d2e7d09361f3e0a0a71a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 25 20:30:31 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 21 18:38:54 2009 -0500"
      },
      "message": "mac80211: trace interface name\n\nIt\u0027s not all that useful to have the vif/sdata pointer,\nwe\u0027d rather refer to the interfaces by their name.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "47846c9b0c10808d9337d2e7d09361f3e0a0a71a",
      "tree": "8e5d0dbf3309b7868fa73a888f9561ffea1580e3",
      "parents": [
        "abe60632f311d515b082b450504ee24006023951"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 25 17:46:19 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 21 18:38:52 2009 -0500"
      },
      "message": "mac80211: reduce reliance on netdev\n\nFor bluetooth 3, we will most likely not have\na netdev for a virtual interface (sdata), so\nprepare for that by reducing the reliance on\nhaving a netdev. This patch moves the name\nand address fields into the sdata struct and\nuses them from there all over. Some work is\nneeded to keep them sync\u0027ed, but that\u0027s not\na lot of work and in slow paths anyway.\n\nIn doing so, this also reduces the number of\npointer dereferences in many places, because\nof things like sdata-\u003edev-\u003edev_addr becoming\nsdata-\u003evif.addr.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d24deb2580823ab0b8425790c6f5d18e2ff749d8",
      "tree": "e19fa93ccf306ea54508492a141721a1e4cc3a30",
      "parents": [
        "b2ec153a637409bd87952d44409905b7d98418b8"
      ],
      "author": {
        "name": "Gertjan van Wingerde",
        "email": "gwingerde@gmail.com",
        "time": "Fri Dec 04 23:46:54 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 14 14:22:31 2009 -0500"
      },
      "message": "mac80211: Add define for TX headroom reserved by mac80211 itself.\n\nAdd a definition of the amount of TX headroom reserved by mac80211 itself\nfor its own purposes. Also add BUILD_BUG_ON to validate the value.\nThis define can then be used by drivers to request additional TX headroom\nin the most efficient manner.\n\nSigned-off-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f64f9e719261a87818dd192a3a2352e5b20fbd0f",
      "tree": "b2d5cbaef3df615295f6061d8c4d6a912690556c",
      "parents": [
        "152b6a62aea2d43359dd37004e9c218bf7bdeb3b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "message": "net: Move \u0026\u0026 and || to end of previous line\n\nNot including net/atm/\n\nCompiled tested x86 allyesconfig only\nAdded a \u003e 80 column line or two, which I ignored.\nExisting checkpatch plaints willfully, cheerfully ignored.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9bc383de37090ba7ca3ff32a12c9d809dc5867f0",
      "tree": "2b502b918f585427b45357e5a9a781ea9f06c263",
      "parents": [
        "5be83de54c16944dea9c16c6a5a53c1fa75ed304"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Nov 19 11:55:19 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 19 11:08:53 2009 -0500"
      },
      "message": "cfg80211: introduce capability for 4addr mode\n\nIt\u0027s very likely that not many devices will support\nfour-address mode in station or AP mode so introduce\ncapability bits for both modes, set them in mac80211\nand check them when userspace tries to use the mode.\nAlso, keep track of 4addr in cfg80211 (wireless_dev)\nand not in mac80211 any more. mac80211 can also be\nimproved for the VLAN case by not looking at the\n4addr flag but maintaining the station pointer for\nit correctly. However, keep track of use_4addr for\nstation mode in mac80211 to avoid all the derefs.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5be83de54c16944dea9c16c6a5a53c1fa75ed304",
      "tree": "dd251d9331a07ec73c7a4992c79ce30f0553db40",
      "parents": [
        "9bd568a50c446433038dec2a5186c5c57c3dbd23"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Nov 19 00:56:28 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 19 11:08:50 2009 -0500"
      },
      "message": "cfg80211: convert bools into flags\n\nWe\u0027ve accumulated a number of options for wiphys\nwhich make more sense as flags as we keep adding\nmore. Convert the existing ones.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fe7a5d5c1ad659bf0ec7dc171e122aeefa16ac25",
      "tree": "aefd9ef2b3220f1a6dc701ebf208ec951221de45",
      "parents": [
        "62ae67be31c2346b6d74653a148ddbd1b9a94424"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 18 18:42:47 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:27 2009 -0500"
      },
      "message": "mac80211: move TX status handling\n\nIt\u0027s enough code to have its own file, I think.\nEspecially since I\u0027m going to add to it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c951ad3550ab40071bb0f222ba6125845769c08a",
      "tree": "9db1d3c110b359a34a3d706eaf40285cfa01550b",
      "parents": [
        "3b53fde8ac40c4321389def14d7f4a9e14092fd3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Nov 16 12:00:38 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:15 2009 -0500"
      },
      "message": "mac80211: convert aggregation to operate on vifs/stas\n\nThe entire aggregation code currently operates on the\nhw pointer and station addresses, but that needs to\nchange to make stations purely per-vif; As one step\npreparing for that make the aggregation code callable\nwith the station, or by the combination of virtual\ninterface and station address.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3e5b1101f59fb3e17a8eb32cca100ae07fd7100e",
      "tree": "99f38c9d8e1ec97c0713325e3628d3836839eb8c",
      "parents": [
        "7d57b73a73040525dfe22c56d823f146711ff971"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sat Nov 14 03:29:38 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 18 17:09:10 2009 -0500"
      },
      "message": "mac80211: reduce the amount of unnecessary traffic on cooked monitor interfaces\n\nIn order to handle association and authentication in AP mode,\nhostapd needs access to the tx status info of its own frames\nthrough a cooked monitor interface. Without this patch the\ncooked monitor interfaces also passed on tx status information\nfor packets from other virtual interfaces. This creates a\nsignificant performance issue on embedded system. Hostapd\ntries to work around this by installing a Linux Socket Filter\nthat only captures the frames it\u0027s interested in, however\ndata duplication and socket filter matching still uses up\nenough CPU cycles to be very noticeable on small systems.\nThis patch ensures that tx status information of non-injected\nframes does not make it to cooked monitor interfaces.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "af81858172cc0f3da81946aab919c26e4b364efc",
      "tree": "8e7a4bf30ff7c23636d810c5a912ff7e3ddb7333",
      "parents": [
        "70d9f405d09e334b609702d88ee03b6119c4b45e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Nov 06 11:35:50 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Nov 06 16:49:10 2009 -0500"
      },
      "message": "mac80211: async station powersave handling\n\nSome devices require that all frames to a station\nare flushed when that station goes into powersave\nmode before being able to send frames to that\nstation again when it wakes up or polls -- all in\norder to avoid reordering and too many or too few\nframes being sent to the station when it polls.\n\nNormally, this is the case unless the station\ngoes to sleep and wakes up very quickly again.\nBut in that case, frames for it may be pending\non the hardware queues, and thus races could\nhappen in the case of multiple hardware queues\nused for QoS/WMM. Normally this isn\u0027t a problem,\nbut with the iwlwifi mechanism we need to make\nsure the race doesn\u0027t happen.\n\nThis makes mac80211 able to cope with the race\nwith driver help by a new WLAN_STA_PS_DRIVER\nper-station flag that can be controlled by the\ndriver and tells mac80211 whether it can transmit\nframes or not. This flag must be set according to\nvery specific rules outlined in the documentation\nfor the function that controls it.\n\nWhen we buffer new frames for the station, we\nnormally set the TIM bit right away, but while\nthe driver has blocked transmission to that sta\nwe need to avoid that as well since we cannot\nrespond to the station if it wakes up due to the\nTIM bit. Once the driver unblocks, we can set\nthe TIM bit.\n\nSimilarly, when the station just wakes up, we\nneed to wait until all other frames are flushed\nbefore we can transmit frames to that station,\nso the same applies here, we need to wait for\nthe driver to give the OK.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c327d96759ac134384114830e19ded80e29fdcc4",
      "tree": "eb732010f645f90763735a42eebaaca3bce7f61f",
      "parents": [
        "450aae3d7b60a970f266349a837dfb30a539198b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Nov 02 11:31:51 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 04 18:44:52 2009 -0500"
      },
      "message": "mac80211: fix internal scan request\n\nThe internal scan request mac80211 uses to\nscan for IBSS networks was set up to contain\nno channels at all because n_channels wasn\u0027t\nset after setting up the channels array. Fix\nthis to properly scan for networks.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7bcfaf2f431c09c51fe776fc06638b25d3b421c5",
      "tree": "27f767335566826f11f0134b97ee76b58d9bcf90",
      "parents": [
        "2c0d6100da3ee9b0f0cc46add9bb8a8161299a92"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 27 12:59:03 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 30 16:49:18 2009 -0400"
      },
      "message": "cfg80211/mac80211: use debugfs_remove_recursive\n\nWe can save a lot of code and pointers in the structs\nby using debugfs_remove_recursive().\n\nFirst, change cfg80211 to use debugfs_remove_recursive()\nso that drivers do not need to clean up any files they\nadded to the per-wiphy debugfs (if and only if they are\nok to be accessed until after wiphy_unregister!).\n\nThen also make mac80211 use debugfs_remove_recursive()\nwhere necessary -- it need not remove per-wiphy files\nas cfg80211 now removes those, but netdev etc. files\nstill need to be handled but can now be removed without\nneeding struct dentry pointers to all of them.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ea77f12f2cc0f31168f2e0259e65a22202ac4dc2",
      "tree": "8ac1288e1680ae2b6093b4fdca978a4ea86f7e21",
      "parents": [
        "3d54d25515838543e56889aa7e48f40d00719368"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Aug 21 14:44:45 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 28 14:40:34 2009 -0400"
      },
      "message": "mac80211: remove tasklet enable/disable\n\nDue to the way the tasklets work in mac80211 there\u0027s\nno need to ever disable them.\n\nHowever, we need to clear the pending packets when\ntaking down the last interface because otherwise\nthe tx_pending_tasklet might be queued if the\ndriver mucks with the queues (which it shouldn\u0027t).\n\nI\u0027ve had a situation occasionally with ar9170 in\nwhich ksoftirq was using 100% CPU time because\na disabled tasklet was scheduled, and I think that\nwas due to ar9170 receiving a packet while the\ntasklet was disabled. That\u0027s strange and it really\nshould not do that for other reasons, but there\u0027s\nno need to waste that much CPU time over it, it\nshould just warn instead.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "11ba964d4f936609a04e8b9f2051f6027ef761ae",
      "tree": "82bcec21fef9364e1fb27cb4091c7950eadcf7ad",
      "parents": [
        "5904d2067680e9bb73a4816fa6b9eec49355c9c8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Aug 19 19:45:50 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 11:36:07 2009 -0400"
      },
      "message": "mac80211: fix register_hw error path\n\n\"cfg80211: fix alignment problem in scan request\"\nintroduced a bug into the error path, because now\nwe allocate the entire scan request and not just\nthe channel list (the channel list is allocated\ntogether with the scan request) -- on errors we\nthus also need to free the entire scan request.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bfc32e6a9559d3e30925929cd9a9df7498f325db",
      "tree": "f0e5f1bdf902fe463fa994d44cafcab39b357380",
      "parents": [
        "92ed48e5230e8f5906dda0cc31715b3b7e3fe303"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Mon Aug 17 17:15:55 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 11:36:02 2009 -0400"
      },
      "message": "mac80211: Decouple fail_avg stats used by mesh from rate control algorithm.\n\nMesh uses the tx failure average to compute the (m)path metric.  This used to\nbe done inside the rate control module.  This patch breaks the dependency\nbetween the mesh stack and the rate control algorithm.  Mesh will now work\nindependently of the chosen rate control algorithm.\n\nThe mesh stack keeps a moving average of the average transmission losses for\neach mesh peer station.  If the fail average exceeds a certain threshold, the\npeer link is marked as broken.\n\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f424afa17899408cbd267a4c4534ca6fc9d8f71c",
      "tree": "ef68af16e693231b6842767ecd2ad04ba341cd93",
      "parents": [
        "3ac64beecd27400d12cc7afb4108eef26c499f6a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Aug 17 16:18:07 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 11:35:58 2009 -0400"
      },
      "message": "mac80211: remove deprecated API\n\nAll but two drivers have now stopped using the two\ndeprecated members radio_enabled and beacon_int,\nso it\u0027s about time to remove them for good.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3ac64beecd27400d12cc7afb4108eef26c499f6a",
      "tree": "da0220085f68e30fe61ba9b8833dc6311d6dc25e",
      "parents": [
        "ea416a793d2b611f22b42ba094fd2e5bd30fff43"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Aug 17 16:16:53 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 11:35:58 2009 -0400"
      },
      "message": "mac80211: allow configure_filter callback to sleep\n\nOver time, a whole bunch of drivers have come up\nwith their own scheme to delay the configure_filter\noperation to a workqueue. To be able to simplify\nthings, allow configure_filter to sleep, and add\na new prepare_multicast callback that drivers that\nneed the multicast address list implement. This new\ncallback must be atomic, but most drivers either\ndon\u0027t care or just calculate a hash which can be\ndone atomically and then uploaded to the hardware\nnon-atomically.\n\nA cursory look suggests that at76c50x-usb, ar9170,\nmwl8k (which is actually very broken now), rt2x00,\nwl1251, wl1271 and zd1211 should make use of this\nnew capability.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5ba63533bbf653631faab60f6988506160ec6ba4",
      "tree": "8d9ef2670cd3b2f50fe3581820fba5aca365634d",
      "parents": [
        "ad5351db89681515681c5d5659ddf4c69e3cc6f5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Aug 07 17:54:07 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 14 09:13:44 2009 -0400"
      },
      "message": "cfg80211: fix alignment problem in scan request\n\nThe memory layout for scan requests was rather wrong,\nwe put the scan SSIDs before the channels which could\nlead to the channel pointers being unaligned in memory.\nIt turns out that using a pointer to the channel array\nisn\u0027t necessary anyway since we can embed a zero-length\narray into the struct.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e3b90ca28412fb9dcc8c5ca38e179e78fec07eee",
      "tree": "fa17113d9d7c96edc076b3f46558e8c3fb78d673",
      "parents": [
        "e48e3a2f17f189deb086ff221e489e7fd8ec4302"
      ],
      "author": {
        "name": "Igor Perminov",
        "email": "igor.perminov@inbox.ru",
        "time": "Tue Aug 04 16:48:51 2009 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 04 16:44:35 2009 -0400"
      },
      "message": "mac80211: FIF_PSPOLL filter flag\n\nWhen an interface is configured in the AP mode, the mac80211\nimplementation doesn\u0027t inform the driver to receive PS Poll frames.\nIt leads to inability to communicate with power-saving stations\nreliably.\nThe FIF_CONTROL flag isn\u0027t passed by mac80211 to\nieee80211_ops.configure_filter when an interface is in the AP mode.\nAnd it\u0027s ok, because we don\u0027t want to receive ACK frames and other\ncontrol ones, but only PS Poll ones.\n\nThis patch introduces the FIF_PSPOLL filter flag in addition to\nFIF_CONTROL, which means for the driver \"pass PS Poll frames\".\n\nThis flag is passed to the driver:\nA) When an interface is configured in the AP mode.\nB) In all cases, when the FIF_CONTROL flag was passed earlier (in\naddition to it).\n\nSigned-off-by: Igor Perminov \u003cigor.perminov@inbox.ru\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "42935ecaf4e784d0815afa9a7e5fe7e141157ca3",
      "tree": "dc0a0dcfff761e98d8a2a23a7edc8f9182c2774c",
      "parents": [
        "64344d78228f6346a0462ba2d5fc03494aef4e6b"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Jul 29 20:08:07 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 04 16:44:14 2009 -0400"
      },
      "message": "mac80211: redefine usage of the mac80211 workqueue\n\nThe mac80211 workqueue exists to enable mac80211 and drivers\nto queue their own work on a single threaded workqueue. mac80211\ntakes care to flush the workqueue during suspend but we never\nreally had requirements on drivers for how they should use\nthe workqueue in consideration for suspend.\n\nWe extend mac80211 to document how the mac80211 workqueue should\nbe used, how it should not be used and finally move raw access to\nthe workqueue to mac80211 only. Drivers and mac80211 use helpers\nto queue work onto the mac80211 workqueue:\n\n  * ieee80211_queue_work()\n  * ieee80211_queue_delayed_work()\n\nThese helpers will now warn if mac80211 already completed its\nsuspend cycle and someone is trying to queue work. mac80211\nflushes the mac80211 workqueue prior to suspend a few times,\nbut we haven\u0027t taken the care to ensure drivers won\u0027t add more\nwork after suspend. To help with this we add a warning when\nsomeone tries to add work and mac80211 already completed the\nsuspend cycle.\n\nDrivers should ensure they cancel any work or delayed work\nin the mac80211 stop() callback.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "97af743207466ff8b477e14bfb7af0ba2c93375b",
      "tree": "9fc275981b34346284c1aedd370c54854f5369ae",
      "parents": [
        "ad2f34b41fd6e2b84c896ccf321d5de0a7c7cd52"
      ],
      "author": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Wed Jul 29 10:13:03 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 04 16:43:23 2009 -0400"
      },
      "message": "mac80211: disable beacons before removing the associated interface\n\nWhen downing interfaces, it\u0027s a good idea to tell the driver to\nstop sending beacons; that way the driver doesn\u0027t need special\ncode in ops-\u003eremove_interface() when it should already handle the\ncase in bss_info_changed().\n\nThis fixes a potential crash with at least ath5k since the vif\npointer will be nullified while beacon interrupts are still active.\n\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4da163ab0a224590f3cae67c1d54ae8c428f6223",
      "tree": "901e5929df0b72ffccb84ba5ec439ac709f78705",
      "parents": [
        "e4c4e448cf557921ffbbbd6d6ddac81fdceacb4f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Jul 27 20:28:40 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Aug 04 16:43:18 2009 -0400"
      },
      "message": "mac80211: disable software retry for now\n\nPavel Roskin reported a problem that seems to be due to\nsoftware retry of already transmitted frames. It turns\nout that we\u0027ve never done that correctly, but due to\nsome recent changes it now crashes in the TX code. I\u0027ve\nadded a comment in the patch that explains the problem\nbetter and also points to possible solutions -- which\nI can\u0027t implement right now.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fbe9c429f195111bbf7f1630efa19aee295fd8e7",
      "tree": "80556ac48bfa0e7d60db63e6c71b0bbf58143263",
      "parents": [
        "2fb3f028a9a46bd344329766257699b4acb36525"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Thu Jul 23 12:14:04 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 27 15:24:16 2009 -0400"
      },
      "message": "mac80211: Replace {sw, hw}_scanning variables with a bitfield\n\nUse a bitfield to store the current scan mode instead of two boolean\nvariables {sw,hw}_scanning. This patch does not introduce functional\nchanges but allows us to enhance the scan flags later (for example\nfor background scanning).\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a272a720660059c30fa038113b77fa2a096437d9",
      "tree": "57da6a50b0a9a0d68fafe98f621fff15a2b8bd94",
      "parents": [
        "463d018323851a608eef52a9427b0585005c647f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 14 00:33:36 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 27 15:24:08 2009 -0400"
      },
      "message": "mac80211: allow using network namespaces\n\nThis finally opens up the ability to put mac80211 devices\ninto different network namespaces. As long as you don\u0027t\nhave sysfs, that is.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3b8d81e020f77c9da8b85b0685c8cd2ca7c7b150",
      "tree": "a19fcddbf28fecdbd13ad009fe07b8afc5e95c90",
      "parents": [
        "c4029083e2acb82229c43b791c07afb089d972ff"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jun 17 17:43:56 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:30 2009 -0400"
      },
      "message": "mac80211: remove master netdev\n\nWith the internal \u0027pending\u0027 queue system in place, we can simply\nput packets there instead of pushing them off to the master dev,\ngetting rid of the master interface completely.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f1d58c2521eb160178b2151d6326d8dc5d7c8560",
      "tree": "af373bb1a5fbb6bc9436d29095133992d33d6598",
      "parents": [
        "18ad01c43918751cc22f8ee28f6b38b8954a55b2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jun 17 13:13:00 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 14:57:54 2009 -0400"
      },
      "message": "mac80211: push rx status into skb-\u003ecb\n\nWithin mac80211, we often need to copy the rx status into\nskb-\u003ecb. This is wasteful, as drivers could be building it\nin there to start with. This patch changes the API so that\ndrivers are expected to pass the RX status in skb-\u003ecb, now\naccessible as IEEE80211_SKB_RXCB(skb). It also updates all\ndrivers to pass the rx status in there, but only by making\nthem memcpy() it into place before the call to the receive\nfunction (ieee80211_rx(_irqsafe)). Each driver can now be\noptimised on its own schedule.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8f77f3849cc3ae2d6df9301785a3d316ea7d7ee1",
      "tree": "02143d1e81c85f64900546e3e9c2b820f72745d1",
      "parents": [
        "fc240e3fc5791c572402b0857948da7b1e68d77f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Jun 07 21:58:37 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 10 13:28:37 2009 -0400"
      },
      "message": "mac80211: do not pass PS frames out of mac80211 again\n\nIn order to handle powersave frames properly we had needed\nto pass these out to the device queues again, and introduce\nthe skb-\u003erequeue bit. This, however, also has unnecessary\noverhead by needing to \u0027clean up\u0027 already tried frames, and\nthis clean-up code is also buggy when software encryption\nis used.\n\nInstead of sending the frames via the master netdev queue\nagain, simply put them into the pending queue. This also\nfixes a problem where frames for that particular station\ncould be reordered when some were still on the software\nqueues and older ones are re-injected into the software\nqueue after them.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e535c7566e1318ccfa015e297f0309994f7bc078",
      "tree": "586e150edc49e9bf64f7fea728ce37b8cff4063a",
      "parents": [
        "2fa7a98fc96abe431e5d54d97104cdca197391fa"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat May 23 11:18:45 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 03 14:05:09 2009 -0400"
      },
      "message": "mac80211: deprecate conf.beacon_int properly\n\nIvo has updated the driver to no longer use the change flag,\nso we can remove that, but rt2x00 and ath5k still use the\nactual value so let\u0027s mark it as deprecated too.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1ce8e7b57b3a4527ef83da1c5c7bd8a6b9d87b56",
      "tree": "095536a47e40fdb621c1f959637fa63f57a4ccf2",
      "parents": [
        "0bb32417ff0f6ac385e4eec3ef6641950bbb3694"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed May 27 04:42:37 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 27 15:47:06 2009 -0700"
      },
      "message": "net: ALIGN/PTR_ALIGN cleanup in alloc_netdev_mq()/netdev_priv()\n\nUse ALIGN() and PTR_ALIGN() macros instead of handcoding them.\n\nGet rid of NETDEV_ALIGN_CONST ugly define\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9cef873798dfcdc10ff40b02abf1de935ceeba85",
      "tree": "bf44fb189c0db0b5b68a62006d82c242146fdd72",
      "parents": [
        "bbcf3f02771e069d0e113fe9bb62c27b671abf97"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu May 14 13:10:14 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 20 14:46:37 2009 -0400"
      },
      "message": "mac80211: fix managed mode BSSID handling\n\nCurrently, we will ask the driver to configure right away\nwhen somebody changes the desired BSSID. That\u0027s totally\nstrange because then we will configure the driver without\neven knowing whether the BSS exists. Change this to only\nconfigure the BSSID when associated, and configure a zero\nBSSID when not associated.\n\nAs a side effect, this fixes an issue with the iwlwifi\ndriver which doesn\u0027t implement sta_notify properly and\nuses the BSSID instead and gets very confused if the\nBSSID is cleared before we disassociate, which results\nin the warning Marcel posted [1] and iwlwifi bug 1995 [2].\n\n[1] http://thread.gmane.org/gmane.linux.kernel.wireless.general/32598\n[2] http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id\u003d1995\n\nCc: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "58905ca5b11a0ff3860f55b789cbbf052f7158a7",
      "tree": "7c7a4c937130855dfef41c2302deb7fb0b5a2eb7",
      "parents": [
        "02018b39a75057541c7946a9173561d1a76a0bfe"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu May 07 14:23:01 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 11 15:23:54 2009 -0400"
      },
      "message": "mac80211: fix scan channel race\n\nWhen a software scan starts, it first sets sw_scanning, but\nleaves the scan_channel \"unset\" (it currently actually gets\ninitialised to a default). Now, when something else tries\nto (re)configure the hardware in the window between these two\nevents (after sw_scanning \u003d true, but before scan_channel is\nset), the current code switches to the (unset!) scan_channel.\nThis causes trouble, especially when switching bands and\nsending frames on the wrong channel.\n\nTo work around this, leave scan_channel initialised to NULL\nand use it to determine whether or not a switch to a different\nchannel should occur (and also use the same condition to check\nwhether to adjust power for scan or not).\n\nAdditionally, avoid reconfiguring the hardware completely when\nrecalculating idle resulted in no changes, this was the problem\nthat originally led us to discover the race condition in the\nfirst place, which was helpfully bisected by Pavel. This part\nof the patch should not be necessary with the other fixes, but\nnot calling the ieee80211_hw_config function when we know it to\nbe unnecessary is certainly a correct thing to do.\n\nUnfortunately, this patch cannot and does not fix the race\ncondition completely, but due to the way the scan code is\nstructured it makes the particular problem Pavel discovered\n(race while changing channel at the same time as transmitting\nframes) go away. To fix it completely, more work especially\nwith locking configuration is needed.\n\nBisected-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2448798133d747ad339e57099e32a1d1e68aca1c",
      "tree": "ee09385f5dca9e243c38f5f888baa02605423bd7",
      "parents": [
        "2d0ddec5b2b859f06116f631fc0ffe94fbceb556"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 23 18:52:52 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:37 2009 -0400"
      },
      "message": "mac80211: add driver ops wrappers\n\nIn order to later add tracing or verifications to the driver\ncalls mac80211 makes, this patch adds static inline wrappers\nfor all operations.\n\nAll calls are now written as\n\n\tdrv_\u003cop\u003e(local, ...);\n\ninstead of\n\n\tlocal-\u003eops-\u003e\u003cop\u003e(\u0026local-\u003ehw, ...);\n\nWhere necessary, the wrappers also do existence checking and\nreturn default values as appropriate.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2d0ddec5b2b859f06116f631fc0ffe94fbceb556",
      "tree": "9bf3cdfcbbefcb34f5984e6d797f488ebe358196",
      "parents": [
        "57c4d7b4c4986037be51476b8e3025d5ba18d8b8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 23 16:13:26 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:36 2009 -0400"
      },
      "message": "mac80211: unify config_interface and bss_info_changed\n\nThe config_interface method is a little strange, it contains the\nBSSID and beacon updates, while bss_info_changed contains most\nother BSS information for each interface. This patch removes\nconfig_interface and rolls all the information it previously\npassed to drivers into bss_info_changed.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "57c4d7b4c4986037be51476b8e3025d5ba18d8b8",
      "tree": "bcd24a127b4c79891f45799a20867f49c0f7f949",
      "parents": [
        "f3b85252f081581a8f257545ed748062dce7798b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 23 16:10:04 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:33 2009 -0400"
      },
      "message": "mac80211: clean up beacon interval settings\n\nWe currently have two beacon interval configuration knobs:\nhw.conf.beacon_int and vif.bss_info.beacon_int. This is\nrather confusing, even though the former is used when we\nbeacon ourselves and the latter when we are associated to\nan AP.\n\nThis just deprecates the hw.conf.beacon_int setting in favour\nof always using vif.bss_info.beacon_int. Since it touches all\nthe beaconing IBSS code anyway, we can also add support for\nthe cfg80211 IBSS beacon interval configuration easily.\n\nNOTE: The hw.conf.beacon_int setting is retained for now due\n      to drivers still using it -- I couldn\u0027t untangle all\n      drivers, some are updated in this patch.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f3b85252f081581a8f257545ed748062dce7798b",
      "tree": "899a804545850c7e1b1e3eea5c743df2c8cddf3d",
      "parents": [
        "2d72289095e9621158acf1d59a830cfe920fa93b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 23 16:01:47 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 06 15:14:31 2009 -0400"
      },
      "message": "mac80211: fix scan races and rework scanning\n\nThere are some places marked\n\t/* XXX maybe racy? */\nand they really are racy because there\u0027s no locking.\n\nThis patch reworks much of the scan code, and introduces proper\nlocking for the scan request as well as the internal scanning\n(which is necessary for IBSS/managed modes). Helper functions\nare added to call the scanning code whenever necessary. The\nscan deferring is changed to simply queue the scanning work\ninstead of trying to start the scan in place, the scanning work\nwill then take care of the rest.\n\nAlso, currently when internal scans are requested for an interface\nthat is trying to associate, we reject such scans. This was not\nintended, the mlme code has provisions to scan twice when it can\u0027t\nfind the BSS to associate with right away; this has never worked\nproperly. Fix this by not rejecting internal scan requests for an\ninterface that is associating.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "41bb73eeac5ff5fb217257ba33b654747b3abf11"
}
