)]}'
{
  "log": [
    {
      "commit": "e352114fd62f6d568ca0cb18f589cb8df710cf02",
      "tree": "aadf36af471d9ccfd50561acf8bb052f1bace468",
      "parents": [
        "b1ab79255c539ebe740baa89f8a44ab139381e1c"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Mon Apr 23 12:50:31 2012 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 08 21:53:51 2012 -0400"
      },
      "message": "mac80211: Framework to get wifi-driver stats via ethtool.\n\nThis adds hooks to call into the driver to get additional\nstats for the ethtool API.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6d52563f2bc217cbdccb97068f5b6176352f01f2",
      "tree": "27fb48e360f153129fadb4dd5abdb4d91bb2e7eb",
      "parents": [
        "da951c2417ec1020d0d00813da36f38e395994e9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Apr 04 15:05:25 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 11 16:23:57 2012 -0400"
      },
      "message": "cfg80211/mac80211: enable proper device_set_wakeup_enable handling\n\nIn WoWLAN, we only get the triggers when we actually get\nto suspend. As a consequence, drivers currently don\u0027t\nknow that the device should enable wakeup. However, the\ndevice_set_wakeup_enable() API is intended to be called\nwhen the wakeup is enabled, not later when needed.\n\nAdd a new set_wakeup() call to cfg80211 and mac80211 to\nallow drivers to properly call device_set_wakeup_enable.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4b6f1dd6a6faf4ed8d209bbd548e78b15e55aee8",
      "tree": "7d79667ca414d70b99cb82a646d1a3c2cc466670",
      "parents": [
        "3edaf3e61fda3aa9ff8d38445bf92f2bec23bf63"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Apr 03 14:35:57 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 11 16:23:49 2012 -0400"
      },
      "message": "mac80211: add explicit monitor interface if needed\n\nThe queue mapping redesign that I\u0027m planning to do\nwill break pure injection unless we handle monitor\ninterfaces explicitly. One possible option would\nbe to have the driver tell mac80211 about monitor\nmode queues etc., but that would duplicate the API\nsince we already need to have queue assignments\nhandled per virtual interface.\n\nSo in order to solve this, have a virtual monitor\ninterface that is added whenever all active vifs\nare monitors. We could also use the state of one\nof the monitor interfaces, but managing that would\nbe complicated, so allocate separate state.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a3304b0a17495183a2270d4a25978795226597a4",
      "tree": "1b1f91ab191e77833b84232ba5a61d6a584b3cd6",
      "parents": [
        "d748b4642a53cd1ead303f9e2b008295391466b7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Mar 28 11:04:24 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 10 14:54:09 2012 -0400"
      },
      "message": "cfg80211/nl80211: clarify TX queue API\n\nWith the plan to change mac80211\u0027s queue API to\nnot map ACs to queues 1:1, it seems necessary to\nclarify some APIs that act on ACs rather than on\nqueues to spell that out explicitly. Do this.\n\nAlso verify that the AC number given is valid.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8f727ef3c4859f2c397a7609beb845dcd66729f5",
      "tree": "9843df4721d5510c464f7ea4e1f4da940b247c80",
      "parents": [
        "7213cf2cb0dfbb4d6b55a1da000d34338f76c0e3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Mar 30 08:43:32 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 10 14:54:08 2012 -0400"
      },
      "message": "mac80211: notify driver of rate control updates\n\nDevices that have internal rate control need to be\nnotified when the bandwidth or SMPS state changes\njust like external rate control algorithms get a\nnotification now.\n\nAdd this notification and clarify the change bits\nwhile at it, the HT_CHANGED bit really meant only\nbandwidth changed.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d17087e78d3961bd42f99cc3cf8cbf2d7d8ef55e",
      "tree": "1f4b1cd96354b9ec58a3a403d5d1cff004b0c863",
      "parents": [
        "68d9e1fa24d9c7c2e527f49df8d18fb8cf0ec943"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Thu Mar 15 16:22:05 2012 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 09 16:05:57 2012 -0400"
      },
      "message": "mac80211: Add iface name when calling WARN-ON.\n\nThis lets the user know which interface has failed\nthe check_sdata_in_driver check.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "177958e9679c23537411066cc41b205635dacb14",
      "tree": "9c5b4cebbe1cf1ba17a45b9aa660cde82619a958",
      "parents": [
        "3789d59c24cb142e4590492c3b5137a7c3dec352"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Mar 09 12:49:21 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 12 14:19:38 2012 -0400"
      },
      "message": "mac80211: remove tx_sync\n\nWhen the station state callback was added, this\nwas no longer needed in theory. With the iwlwifi\nchanges to remove use of it landing, we can kill\nthe entire tx-sync framework again, RIP.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a4ec45a421b80bc36fd37578accf081f32527a7f",
      "tree": "2eed7b4fbdece2358be059773b010b6acc3806b0",
      "parents": [
        "f09603a259ffef69ad4516a04eb06cd65ac522fe"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 20 13:55:22 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:48:25 2012 -0500"
      },
      "message": "mac80211: implement sta_add/sta_remove in sta_state\n\nInstead of maintaining separate sta_add/sta_remove\ncallsites, implement it in sta_state when the driver\nhas no sta_state implementation.\n\nThe only behavioural change this should cause is in\nsecure mesh mode: with this the station entries will\nonly be created after the stations are set to AUTH.\nGiven which drivers support mesh, this seems to not\nbe a problem.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f09603a259ffef69ad4516a04eb06cd65ac522fe",
      "tree": "3f826769c697eb15a76771e25291bbb54f9f58ab",
      "parents": [
        "71ec375c75095002f36f083ceb32bbb8725734ae"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 20 13:55:21 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:48:24 2012 -0500"
      },
      "message": "mac80211: add sta_state callback\n\n(based on Eliad\u0027s patch)\n\nAdd a callback to notify the low-level driver whenever\nthe state of a station changes. The driver is only\nnotified when the station is actually in the mac80211\nhash table, not for pre-insert state transitions.\n\nTo allow the driver to replace sta_add/remove calls\nwith this, call extra transitions with the NOTEXIST\nstate.\n\nThis callback can fail, so we need to be careful in\nhandling it when a station is inserted, particularly\nin the IBSS case where we still keep the station entry\naround for mac80211 purposes.\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "077f49392819608084c6d8d20e3dcca230afe07d",
      "tree": "7b19e4537933e9c7e0524421d16701576c4b74b2",
      "parents": [
        "c8987876e9bf9b7b83e75b325586bc77ea8ac825"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jan 20 13:55:18 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 06 14:48:24 2012 -0500"
      },
      "message": "mac80211: simplify AP_VLAN handling\n\nSetting keys and updating TKIP keys must use the\nBSS sdata (not AP_VLAN), so we translate. Move\nthe translation into driver-ops wrappers instead\nof having it inline in the code to simplify the\nnormal code flow.\n\nThe same can be done for sta_add/remove which\nalready does the translation in the wrapper.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bc192f8918ab8e41ba53b9ef881bc425ae92ed1b",
      "tree": "a7a0e2e7eefda7fefdd1942821b9d71ab7610a5c",
      "parents": [
        "5ccc32ff46065f031075cdbbdfe21b9e3b05aaad"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Wed Nov 23 21:09:49 2011 +0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 28 14:43:52 2011 -0500"
      },
      "message": "mac80211: do not pass AP VLAN vif pointers to drivers\n\nThis fixes frequent WARN_ONs when using AP VLAN + aggregation, as these vifs\nare virtual and not registered with drivers.\nUse sta_info_get_bss instead of sta_info_get in aggregation callbacks, so\nthat these callbacks can find the station entry when called with the AP vif.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "11127e9121d4dd9da868cf0fd89dcac35f7f0fa3",
      "tree": "8cb16ecbd5942679c18934064b935a7e256a77da",
      "parents": [
        "74e4dbfd57a38c4ec4131cebdbfa3d621d38dd6a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Nov 16 16:02:47 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 21 16:20:43 2011 -0500"
      },
      "message": "mac80211: transmit fragment list to drivers\n\nDrivers can usually handle fragmented packets\nmuch easier when they get the entire list of\nfragments at once. The only thing they need to\ndo is keep enough space on the queues for up\nto ten fragments of a single MSDU.\n\nThis allows them to implement this with a new\noperation tx_frags.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7b7eab6fc1bc8852d9649541b59283cd89cc526f",
      "tree": "7b071ee01187bc3ee843c86b88189cc4eab73cf1",
      "parents": [
        "6e3e939f3b1bf8534b32ad09ff199d88800835a0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Nov 03 14:41:13 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 09 16:01:02 2011 -0500"
      },
      "message": "mac80211: verify virtual interfaces in driver API\n\nThe driver is never informed about monitor or\nAP_VLAN interfaces, so whenever we pass those\nto it later this is a bug. Verify we don\u0027t as\nthere are some cases where this could happen.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8a3a3c85e44d58f5af0adac74a0b866ba89a1978",
      "tree": "e64861307d417743de6992122debc99fab744124",
      "parents": [
        "3c607d27c818cf4a5d28f2c73b18a88f8fbdfa33"
      ],
      "author": {
        "name": "Eliad Peller",
        "email": "eliad@wizery.com",
        "time": "Sun Oct 02 10:15:52 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 03 15:22:41 2011 -0400"
      },
      "message": "mac80211: pass vif param to conf_tx() callback\n\ntx params should be configured per interface.\nadd ieee80211_vif param to the conf_tx callback,\nand change all the drivers that use this callback.\n\nThe following spatch was used:\n@rule1@\nstruct ieee80211_ops ops;\nidentifier conf_tx_op;\n@@\n\tops.conf_tx \u003d conf_tx_op;\n\n@rule2@\nidentifier rule1.conf_tx_op;\nidentifier hw, queue, params;\n@@\n\tconf_tx_op (\n-\t\tstruct ieee80211_hw *hw,\n+\t\tstruct ieee80211_hw *hw, struct ieee80211_vif *vif,\n\t\tu16 queue,\n\t\tconst struct ieee80211_tx_queue_params *params) {...}\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "40b96408831f038b1a6b45e8b22cd050f82a3896",
      "tree": "c8ea29b9d01ba28d484cf2d4c4a0cd576d598b79",
      "parents": [
        "5bade101eceedb716e39bd35b2928c465e3fbd10"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 29 16:04:38 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 30 15:57:21 2011 -0400"
      },
      "message": "mac80211: explicitly notify drivers of frame release\n\niwlwifi needs to know the number of frames that are\ngoing to be sent to a station while it is asleep so\nit can properly handle the uCode blocking of that\nstation.\n\nBefore uAPSD, we got by by telling the device that\na single frame was going to be released whenever we\nencountered IEEE80211_TX_CTL_POLL_RESPONSE. With\nuAPSD, however, that is no longer possible since\nthere could be more than a single frame.\n\nTo support this model, add a new callback to notify\ndrivers when frames are going to be released.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4049e09acdf4ffd270cb8fbf1cf5b39c3d02357c",
      "tree": "87aa0bc08650b5cc745733fcf422dcf871caeb43",
      "parents": [
        "8a8656fa5bbbc8568348d95184d374edb03a48b7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 29 16:04:32 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 30 15:57:15 2011 -0400"
      },
      "message": "mac80211: allow releasing driver-buffered frames\n\nIf there are frames for a station buffered in\nthe driver, mac80211 announces those in the TIM\nIE but there\u0027s no way to release them. Add new\nAPI to release such frames and use it when the\nstation polls for a frame.\n\nSince the API will soon also be used for uAPSD\nit is easily extensible.\n\nNote that before this change drivers announcing\ndriver-buffered frames in the TIM bit actually\nwill respond to a PS-Poll with a potentially\nlower priority frame (if there are any frames\nbuffered in mac80211), after this patch a driver\nthat hasn\u0027t been changed will no longer respond\nat all. This only affects ath9k, which will need\nto be fixed to implement the new API.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f6f3def323e5d60cc2a5659533dce547c0aac5fc",
      "tree": "9e5470eb3301c588f3ec75cc3f0ce504b50d77d5",
      "parents": [
        "f70f01c2ebbe31fbd8a96be3b45c5620dac45b96"
      ],
      "author": {
        "name": "Eliad Peller",
        "email": "eliad@wizery.com",
        "time": "Sun Sep 25 20:06:54 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 27 14:34:11 2011 -0400"
      },
      "message": "mac80211: save tx params per sdata\n\nsave and configure tx param per sdata, rather than\nper hardware.\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "37a41b4affa33bb237d3692bf51f1b5ebcaf29d8",
      "tree": "0201e166912d12bd8270b2117b11717756cfd5db",
      "parents": [
        "129321804e36721e71fadcab5b475bd37bf53044"
      ],
      "author": {
        "name": "Eliad Peller",
        "email": "eliad@wizery.com",
        "time": "Wed Sep 21 14:06:11 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 27 14:27:48 2011 -0400"
      },
      "message": "mac80211: add ieee80211_vif param to tsf functions\n\nTSF can be kept per vif.\nAdd ieee80211_vif param to set/get/reset_tsf, and move\nthe debugfs entries to the per-vif directory.\n\nUpdate all the drivers that implement these callbacks.\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b4ca6084a84d50c5b0986adff7fdf8244b84fe39",
      "tree": "4006e312678e864119ffbcc5bc51562ecabd7583",
      "parents": [
        "c6baf7fb40cb141c4b510372f7dac829621ccf3f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Sat Jul 23 10:24:48 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 08 16:04:05 2011 -0400"
      },
      "message": "mac80211: remove offchannel_tx API\n\nFor iwlwifi, I decided not to use this API since\nit just increased the complexity for little gain.\nSince nobody else intends to use it, let\u0027s kill\nit again. If anybody later needs to have it, we\ncan always revive it then.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b2abb6e2bcb91ae384c5857dffd0bb97b76c7a68",
      "tree": "4f6381c0a7b4dc8a1f9cd3c3bf2b94a6c971c737",
      "parents": [
        "e0d687bd9df218ba3d97aac15919d30816d72dcb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jul 19 10:39:53 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 20 15:04:35 2011 -0400"
      },
      "message": "mac80211: sync driver before TX\n\nIn P2P client mode, the GO (AP) to connect to might\nhave periods of time where it is not available due\nto powersave. To allow the driver to sync with it\nand send frames to the GO only when it is available\nadd a new callback tx_sync (and the corresponding\nfinish_tx_sync). These callbacks can sleep unlike\nthe actual TX.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "615f7b9bb1f8e0e3188470245cec44f175189084",
      "tree": "4c0803460f682c34b11929a1fe22e150839efedb",
      "parents": [
        "0a49b2c2a6bf2f774675e472afe68951900596fb"
      ],
      "author": {
        "name": "Meenakshi Venkataraman",
        "email": "meenakshi.venkataraman@intel.com",
        "time": "Fri Jul 08 08:46:22 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jul 11 15:02:06 2011 -0400"
      },
      "message": "mac80211: add driver RSSI threshold events\n\nmac80211 maintains a running average of the RSSI when a STA\nis associated to an AP. Report threshold events to any driver\nthat has registered callbacks for getting RSSI measurements.\n\nImplement callbacks in mac80211 so that driver can set thresholds.\nAdd callbacks in mac80211 which is invoked when an RSSI threshold\nevent occurs.\n\nmac80211: add tracing to rssi_reports api and remove extraneous fn argument\nmac80211: scale up rssi thresholds from driver by 16 before storing\n\nSigned-off-by: Meenakshi Venkataraman \u003cmeenakshi.venkataraman@intel.com\u003e\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c68f4b892c241bdddeb6f1c1864ac26197229471",
      "tree": "7100d2b756dff22ed1f248a3b0204e500290c89a",
      "parents": [
        "e5497d766adb92bcbd1fa4a147e188f84f34b20a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jul 05 16:35:41 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 06 15:05:43 2011 -0400"
      },
      "message": "mac80211: support GTK rekey offload\n\nThis adds the necessary mac80211 APIs to support\nGTK rekey offload, mirroring the functionality\nfrom cfg80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b856439b1b54358e580aaee5dbe683af5ada9403",
      "tree": "dc38beee0a1585693fa228e33646dee5a37f456d",
      "parents": [
        "eb40e3e8bb453519ae17d42e7cab6bdd2b4b9fc5"
      ],
      "author": {
        "name": "Eliad Peller",
        "email": "eliad@wizery.com",
        "time": "Mon Jun 13 12:47:30 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 17 14:22:18 2011 -0400"
      },
      "message": "mac80211: add cancel_hw_scan() callback\n\nWhen suspending, __ieee80211_suspend() calls ieee80211_scan_cancel(),\nwhich will only cancel sw scan. In order to cancel hw scan, the\nlow-level driver has to cancel it in the suspend() callback. however,\nthis is too late, as a new scan_work will be enqueued (while the driver\nis going into suspend).\n\nAdd a new cancel_hw_scan() callback, asking the driver to cancel an\nactive hw scan, and call it in ieee80211_scan_cancel().\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nReviewed-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "79f460ca49d8d5700756ab7071c951311c7f29cc",
      "tree": "b11b62473697c6c1858b83b3abe5181990f85c19",
      "parents": [
        "807f8a8c300435d5483e8d78df9dcdbc27333166"
      ],
      "author": {
        "name": "Luciano Coelho",
        "email": "coelho@ti.com",
        "time": "Wed May 11 17:09:36 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 11 15:12:27 2011 -0400"
      },
      "message": "mac80211: add support for HW scheduled scan\n\nImplement support for HW scheduled scan.  The mac80211 code doesn\u0027t perform\nscheduled scans itself, but calls the driver to start and stop scheduled\nscans.\n\nThis patch also creates a trace event class to be used by drv_hw_scan\nand the new drv_sched_scan_start and drv_sched_stop functions, in\norder to avoid duplicate code.\n\nSigned-off-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "eecc48000afe2ca6da22122d553b7cad294e42fc",
      "tree": "ade8a18351be5ca63b14d24f3f4db47909486fba",
      "parents": [
        "ff1b6e69ad4f31fb3c9c6da2665655f2e798dd70"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed May 04 15:37:29 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu May 05 14:59:20 2011 -0400"
      },
      "message": "mac80211: add basic support for WoWLAN\n\nThis adds basic support for the new WoWLAN\nconfiguration in mac80211. The behaviour is\ncompletely offloaded to the driver though,\nwith two new callbacks (suspend/resume).\n\nOptions for the driver include a complete\nreconfiguration after wakeup, and exposing\nall the triggers it wants to support.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bdbfd6b582f55384059d9ac5e65b3653092e6adf",
      "tree": "bca5492d67d2e4b210539ae9029f54568165f297",
      "parents": [
        "8973a6e770fc891f92daacbc1c92c7cd396fcf7e"
      ],
      "author": {
        "name": "Sujith Manoharan",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Wed Apr 27 16:56:51 2011 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 28 14:53:19 2011 -0400"
      },
      "message": "mac80211: Add new API for rate selection\n\nThis patch adds a new API for setting a TX rate mask in\ndrivers that have rate control in either the firmware or hardware.\nThis can be used for various purposes, for example, masking out the\n11b rates in P2P operation.\n\nSigned-off-by: Sujith Manoharan \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e8306f989483e4b97a8b37dd268de6c8c6f35e75",
      "tree": "452bb50b9e7dbfc9a6fa68f8da388a17c2f76875",
      "parents": [
        "6fc3ba999994b675c4e6af77ac4e1a6bfd8e6128"
      ],
      "author": {
        "name": "Vivek Natarajan",
        "email": "vnatarajan@atheros.com",
        "time": "Wed Apr 06 11:41:10 2011 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 12 16:57:34 2011 -0400"
      },
      "message": "mac80211: Check for queued frames before entering power save.\n\nIn a highly noisy environment, the tx rate of the driver drops and\nthe application slows down since it has not yet received ACKs for\nthe frames already queued in the hardware. Since this ACK may take\nmore than 100ms, stopping the dev queues for entering PS at this\nstage breaks applications, WMM test cases in my testing.\nIf there are frames already pending in the tx queue, postponing the\nPS logic helps to avoid redundant queue stops. When power save is\nenabled by default and in a noisy environment, this API certainly\nhelps in improving the average throughput.\n\nSigned-off-by: Vivek Natarajan \u003cvnatarajan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "38c091590f6ed78fcaf114c14ce133e5b3f717e6",
      "tree": "4293471c1babf894eb5e0bf69e919a4256b428c5",
      "parents": [
        "3677713b799155c96637cdef3fa025e42f3fcf48"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 07 16:19:18 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 11 15:34:10 2011 -0500"
      },
      "message": "mac80211: implement support for cfg80211_ops-\u003e{get,set}_ringparam\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5f16a43617d46cf255a66f4dc193a7f5b2540aaf",
      "tree": "add5e551c9d1abeee57b1fbad632a0e23bdd39b1",
      "parents": [
        "8628172f45c839376bf2b70bbd326d56e68dadc3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Feb 25 15:36:57 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 25 15:33:40 2011 -0500"
      },
      "message": "mac80211: support direct offchannel TX offload\n\nFor devices supported by iwlwifi sometimes\noff-channel transmissions need to be handled\nby the device completely. To support this\nmac80211 needs to pass the frame directly\nto the driver and not through the TX path\nas the driver needs the frame and channel\ninformation at the same time.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7bb4568372856688bc070917265bce0b88bb7d4d",
      "tree": "e3ca3e7d233944bbc271c650c8b037c3a6652d98",
      "parents": [
        "43f12d47f0580e04e26c14c03cb19cea9687854e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Feb 24 14:42:06 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 25 15:32:34 2011 -0500"
      },
      "message": "mac80211: make tx() operation return void\n\nThe return value of the tx operation is commonly\nmisused by drivers, leading to errors. All drivers\nwill drop frames if they fail to TX the frame, and\nthey must also properly manage the queues (if they\ndidn\u0027t, mac80211 would already warn).\n\nRemoving the ability for drivers to return a BUSY\nvalue also allows significant cleanups of the TX\nTX handling code in mac80211.\n\nNote that this also fixes a bug in ath9k_htc, the\nold \"return -1\" there was wrong.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nTested-by: Sedat Dilek \u003csedat.dilek@googlemail.com\u003e [ath5k]\nAcked-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e [rt2x00]\nAcked-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e [b43, rtl8187, rtlwifi]\nAcked-by: Luciano Coelho \u003ccoelho@ti.com\u003e [wl12xx]\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0b01f030d38e00650e2db42da083d8647aad40a5",
      "tree": "14519750d9b6cdb046624dd87d5323a4826821e2",
      "parents": [
        "ac1bd8464f161ed1475ef73c431b926256c6b5bb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jan 18 13:51:05 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 19 11:36:11 2011 -0500"
      },
      "message": "mac80211: track receiver\u0027s aggregation reorder buffer size\n\nThe aggregation code currently doesn\u0027t implement the\nbuffer size negotiation. It will always request a max\nbuffer size (which is fine, if a little pointless, as\nthe mac80211 code doesn\u0027t know and might just use 0\ninstead), but if the peer requests a smaller size it\nisn\u0027t possible to honour this request.\n\nIn order to fix this, look at the buffer size in the\naddBA response frame, keep track of it and pass it to\nthe driver in the ampdu_action callback when called\nwith the IEEE80211_AMPDU_TX_OPERATIONAL action. That\nway the driver can limit the number of subframes in\naggregates appropriately.\n\nNote that this doesn\u0027t fix any drivers apart from the\naddition of the new argument -- they all need to be\nupdated separately to use this variable!\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "21f83589644bb2ed98079bf1e2154c8e70ca6a6c",
      "tree": "ede391a8c788a43f7c4ea3baa3367e020d45f179",
      "parents": [
        "c96e96354a6c9456cdf1f150eca504e2ea35301e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Sat Dec 18 17:20:47 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jan 05 16:07:12 2011 -0500"
      },
      "message": "mac80211: implement hardware offload for remain-on-channel\n\nThis allows drivers to support remain-on-channel\noffload if they implement smarter timing or need\nto use a device implementation like iwlwifi.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "91f44b02992f632ac6c070f985cd58d5acee4199",
      "tree": "2227e620b444c41398e88d2570fd0838dd856bd3",
      "parents": [
        "42ab135fe78025910bed8ff56e00a375f2b04db1"
      ],
      "author": {
        "name": "Tim Harvey",
        "email": "harvey.tim@gmail.com",
        "time": "Thu Dec 09 13:15:45 2010 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 13 15:23:29 2010 -0500"
      },
      "message": "mac80211 default tx_last_beacon false (congestion)\n\nThe 802.11 spec states that the STA that generated the last Beacon frame shall\nbe the STA that response to a probe request.  This is important for congestion\nreduction when a probe request is received - only 1 node in an adhoc BSS\nwill transmit a response.  While mac80211 drivers should provide the\ntx_last_beacon function to report if they transmitted the last beacon many\ndo not.  As an attempt to reduce probe response congestion default this\nto 0 such that a node not implementing this capability does not contribute\nto unnecessary congestion.\n\nIn a modern medium sized office environment I see upwards of 100 probe\nrequests per second received at a given node from various hardware/OS/drivers\ndoing zeroconf \u0027active probing\u0027 as opposed to passively listening for beacons.\nWith a modest 10-node adhoc network consisting of drivers that do not implement\nthis tx_last_beacon feature, I have seen this result in the simultaneous xmit\nof probe responses accumulating to 500 probe responses per second because of\ncollisions which brings the adhoc network to its knees as well as causes\nneedless congestion.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "15d967532148a5fcda075282b82a271b6595a386",
      "tree": "e1913502e74768e685f6793b1d24426ac849b1da",
      "parents": [
        "afe0cbf87500f0585d217deb8c6fd329793a7957"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Nov 10 12:50:56 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:37:05 2010 -0500"
      },
      "message": "mac80211: Add antenna configuration\n\nAllow antenna configuration by calling driver\u0027s function for it.\n\nWe disallow antenna configuration if the wiphy is already running, mainly to\nmake life easier for 802.11n drivers which need to recalculate HT capabilites.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f23a478075659db8a4fd62fa6e264a8bb052cc5b",
      "tree": "ba1492a4a781770644359b88e8ca2d8d3a00adc2",
      "parents": [
        "ca4a0831917d6541b45f03542257fcb20dc9cf4a"
      ],
      "author": {
        "name": "Arik Nemtsov",
        "email": "arik@wizery.com",
        "time": "Mon Nov 08 11:51:06 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Nov 16 16:37:04 2010 -0500"
      },
      "message": "mac80211: support hardware TX fragmentation offload\n\nThe lower driver is notified when the fragmentation threshold changes\nand upon a reconfig of the interface.\n\nIf the driver supports hardware TX fragmentation, don\u0027t fragment\npackets in the stack.\n\nSigned-off-by: Arik Nemtsov \u003carik@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2ca27bcff7127da1aa7dd39cd2a6f7cb187e327f",
      "tree": "fae1b81c56763a53d432310b8fcbb81b9bb48d7e",
      "parents": [
        "074ac8df9f93f2a35a356d92fd7f16cd846f0a03"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 16 14:58:23 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Sep 16 15:46:07 2010 -0400"
      },
      "message": "mac80211: add p2p device type support\n\nWhen a driver advertises p2p device support,\nmac80211 will handle it, but internally it will\nrewrite the interface type to STA/AP rather than\nP2P-STA/GO since otherwise a lot of paths need\nto be touched that are otherwise identical. A\np2p boolean tells drivers whether or not a given\ninterface will be used for p2p or not.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "34d4bc4d41d282a66dafe1b01a7d46bad468cefb",
      "tree": "ac0936b00f1ebd037be32fd0e5f304f26366e6c0",
      "parents": [
        "87490f6db38999fee7f6d3dbecc5b94730c7e010"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Aug 27 12:35:58 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 27 13:53:31 2010 -0400"
      },
      "message": "mac80211: support runtime interface type changes\n\nAdd support to mac80211 for changing the interface\ntype even when the interface is UP, if the driver\nsupports it.\n\nTo achieve this\n * add a new driver callback for switching,\n * split some of the interface up/down code out\n   into new functions (do_open/do_stop), and\n * maintain an own __SDATA_RUNNING bit that will\n   not be set during interface type, so that any\n   other code doesn\u0027t use the interface.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c466d4efb86bb5aa327d6e43f62781a9faabfdae",
      "tree": "16b2727b93adcc34b5b638975f00b4501b3062b2",
      "parents": [
        "ff3074a4dd6c0963e6a7eaac48175a62f589c143"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 29 14:51:23 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jun 29 14:51:23 2010 -0400"
      },
      "message": "mac80211: add basic tracing to drv_get_survey\n\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "685429623f88d84f98bd5daffc3c427c408740d4",
      "tree": "d50f119094dd3fb7668f837dbe50857d11bb4fa3",
      "parents": [
        "5ea096c0c85e80335889539899af9a4717976e0b"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Wed Jun 09 13:43:26 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:42:31 2010 -0400"
      },
      "message": "mac80211: Fix circular locking dependency in ARP filter handling\n\nThere is a circular locking dependency when configuring the\nhardware ARP filters on association, occurring when flushing the mac80211\nworkqueue. This is what happens:\n\n[   92.026800] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[   92.030507] [ INFO: possible circular locking dependency detected ]\n[   92.030507] 2.6.34-04781-g2b2c009 #85\n[   92.030507] -------------------------------------------------------\n[   92.030507] modprobe/5225 is trying to acquire lock:\n[   92.030507]  ((wiphy_name(local-\u003ehw.wiphy))){+.+.+.}, at: [\u003cffffffff8105b5c0\u003e] flush_workq\nueue+0x0/0xb0\n[   92.030507]\n[   92.030507] but task is already holding lock:\n[   92.030507]  (rtnl_mutex){+.+.+.}, at: [\u003cffffffff812b9ce2\u003e] rtnl_lock+0x12/0x20\n[   92.030507]\n[   92.030507] which lock already depends on the new lock.\n[   92.030507]\n[   92.030507]\n[   92.030507] the existing dependency chain (in reverse order) is:\n[   92.030507]\n[   92.030507] -\u003e #2 (rtnl_mutex){+.+.+.}:\n[   92.030507]        [\u003cffffffff810761fb\u003e] lock_acquire+0xdb/0x110\n[   92.030507]        [\u003cffffffff81341754\u003e] mutex_lock_nested+0x44/0x300\n[   92.030507]        [\u003cffffffff812b9ce2\u003e] rtnl_lock+0x12/0x20\n[   92.030507]        [\u003cffffffffa022d47c\u003e] ieee80211_assoc_done+0x6c/0xe0 [mac80211]\n[   92.030507]        [\u003cffffffffa022f2ad\u003e] ieee80211_work_work+0x31d/0x1280 [mac80211]\n\n[   92.030507] -\u003e #1 ((\u0026local-\u003ework_work)){+.+.+.}:\n[   92.030507]        [\u003cffffffff810761fb\u003e] lock_acquire+0xdb/0x110\n[   92.030507]        [\u003cffffffff8105a51a\u003e] worker_thread+0x22a/0x370\n[   92.030507]        [\u003cffffffff8105ecc6\u003e] kthread+0x96/0xb0\n[   92.030507]        [\u003cffffffff81003a94\u003e] kernel_thread_helper+0x4/0x10\n[   92.030507]\n[   92.030507] -\u003e #0 ((wiphy_name(local-\u003ehw.wiphy))){+.+.+.}:\n[   92.030507]        [\u003cffffffff81075fdc\u003e] __lock_acquire+0x1c0c/0x1d50\n[   92.030507]        [\u003cffffffff810761fb\u003e] lock_acquire+0xdb/0x110\n[   92.030507]        [\u003cffffffff8105b60e\u003e] flush_workqueue+0x4e/0xb0\n[   92.030507]        [\u003cffffffffa023ff7b\u003e] ieee80211_stop_device+0x2b/0xb0 [mac80211]\n[   92.030507]        [\u003cffffffffa0231635\u003e] ieee80211_stop+0x3e5/0x680 [mac80211]\n\nThe locking in this case is quite complex. Fix the problem by rewriting the\nway the hardware ARP filter list is handled - i.e. make a copy of the address\nlist to the bss_conf struct, and provide that list to the hardware driver\nwhen needed.\n\nThe current patch will enable filtering also in promiscuous mode. This may need\nto be changed in the future.\n\nReported-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4efc76bdbf9bfd2b8624c4dd52b9d8ffed176b31",
      "tree": "49be6ee8edf101521f45c72773bc73a6351f11c8",
      "parents": [
        "8b58ff832df9222e1fb3c58ae7f745f95569b55e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:56:20 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:29 2010 -0400"
      },
      "message": "mac80211: bracket driver tracing\n\nCurrently, driver tracing is sometimes invoked\nafter and sometimes before the actual driver\ncallback. This is fine as long as the driver\nhas no tracing itself, but as soon as it does\nit gets confusing.\n\nTo make traces containing such information\neasier to read, introduce a return tracer in\nmac80211 that essentially brackets any driver\ntracing, and invoke the real trace before the\ndriver\u0027s callback, only showing the return\nvalue, if any, afterwards.\n\nSince tracing records the process, there\u0027s no\nproblem with overlapping calls if that should\nhappen.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "85ad181ea78861f69b007599cec9e6ba33fcdf8a",
      "tree": "ea92b4f7aa6d09ee11ee865a11f6426e809468ba",
      "parents": [
        "cfcdbde35e2b621cf56bedc38a3a81e8c28addb9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:49 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:28 2010 -0400"
      },
      "message": "mac80211: allow drivers to sleep in ampdu_action\n\nAllow drivers to sleep, and indicate this in\nthe documentation. ath9k has some locking I\ndon\u0027t understand, so keep it safe and disable\nBHs in it, all other drivers look fine with\nthe context change.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cfcdbde35e2b621cf56bedc38a3a81e8c28addb9",
      "tree": "cd0664681dc4629f7ce9a3319868eebb005060ff",
      "parents": [
        "83a5cbf73a13d0c8be019b22afec4407e4285aed"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:48 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:28 2010 -0400"
      },
      "message": "mac80211: change TX aggregation locking\n\nTo prepare for allowing drivers to sleep in\nampdu_action, change the locking in the TX\naggregation code to use the mutex the RX part\nalready uses. The spinlock is still necessary\naround some code to avoid races with TX, but\nnow we can also synchronize_net() to avoid\ngetting an inconsistent sequence number.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a93e364430de7f7a5f4eedd604ad1ab3d825dde5",
      "tree": "441f0f69dc5b08d79c5f5f4e7adae88ad18dbd86",
      "parents": [
        "f955ebb44798e0058c987a0817810d2542e87349"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jun 10 10:21:46 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 14 15:39:28 2010 -0400"
      },
      "message": "mac80211: change RX aggregation locking\n\nTo prepare for allowing drivers to sleep in\nampdu_action, change the locking in the RX\naggregation code to use a mutex, so that it\nwould already allow drivers to sleep. But\nexplicitly disable BHs around the callback\nfor now since the TX part cannot yet sleep,\nand drivers\u0027 locking might require it.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9d88477c41904127ab9ae1f3b5b4a39bf6474043",
      "tree": "f50d5185ac89a9fd76d7cb087b952d5c55d5063b",
      "parents": [
        "11b7c60988e5fbabb4e150612931cc068559af16",
        "35dd0509b21e4b5bab36b9eb80c8dab0322f5007"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 07 15:13:46 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 07 15:13:46 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-core.h\n"
    },
    {
      "commit": "35dd0509b21e4b5bab36b9eb80c8dab0322f5007",
      "tree": "ff718895d1e443d2aa831fea2d579c547a3082f3",
      "parents": [
        "e500ae5b535a5209fd397fcc542e3b3290fc2fc5"
      ],
      "author": {
        "name": "Holger Schurig",
        "email": "holgerschurig@gmail.com",
        "time": "Mon Jun 07 16:33:49 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jun 07 14:44:40 2010 -0400"
      },
      "message": "mac80211: fix function pointer check\n\nThis makes \"iw wlan0 dump survey\" work again with\nmac80211-based drivers that support it, e.g. ath5k.\n\nSigned-off-by: Holger Schurig \u003cholgerschurig@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "38a6cc7538d3c44b76f9dcea607a171adcc0208e",
      "tree": "6e32157add4ba09c4a35c5ec6a2f4b3bce765268",
      "parents": [
        "abd984e6117e72e17073fd0a81a477e43b4580f5"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Wed May 19 11:32:30 2010 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 04 15:32:25 2010 -0400"
      },
      "message": "mac80211: Remove deprecated sta_notify commands\n\nSTA_NOTIFY_ADD and STA_NOTIFY_REMOVE have no users anymore,\nand station addition/removal are indicated to drivers\nusing sta_add() and sta_remove(), which can sleep.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2b2c009ecf71f4c66ff8420b63dddbc9737e04e3",
      "tree": "62f93194843ecf92d871d34963450c03d165af08",
      "parents": [
        "095dfdb0c479661f437b24b85e31f0d0b841eab6"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Thu May 27 15:32:13 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 03 14:10:45 2010 -0400"
      },
      "message": "mac80211: Add support for hardware ARP query filtering\n\nSome hardware allow extended filtering of ARP frames not intended for\nthe host. To perform such filtering, the hardware needs to know the current\nIP address(es) of the host, bound to its interface.\n\nAdd support for ARP filtering to mac80211 by adding a new op to the driver\ninterface, allowing to configure the current IP addresses. This op is called\nupon association with the currently configured address(es), and when\nassociated whenever the IP address(es) change.\n\nThis patch adds configuration of IPv4 addresses only, as IPv6 addresses don\u0027t\nneed ARP filtering.\n\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6fe70aae0d128339febfabc073ba4c4a03de4f45",
      "tree": "711dff90df5ca4e07b5bddf11b2819e5cf2b7a93",
      "parents": [
        "278554bd6579206921f5d8a523649a7a57f8850d",
        "0c348d7c1422d59a86d6fb37b53d75788043e50b"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 17 13:57:43 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 17 13:57:43 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "5ce6e438d5d9ed8ed775cd1e94f92002c8da2bad",
      "tree": "9b6ce4bc8e7600e30124c8b0f1cbc2ae06499722",
      "parents": [
        "b29e7eb4b8b3e5f4ff8066af648e9fe2fc707b16"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue May 11 16:20:57 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 12 16:39:05 2010 -0400"
      },
      "message": "mac80211: add offload channel switch support\n\nThis adds support for offloading the channel switch\noperation to devices that support such, typically\nby having specific firmware API for it. The reasons\nfor this could be that the firmware provides better\ntiming or that regulatory enforcement done by the\ndevice requires special handling of CSAs.\n\nIn order to allow drivers to specify the timing to\nthe device, the new channel_switch callback will\npass through the received frame\u0027s mactime, where\navailable.\n\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "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": "a060bbfe4ee95d115e8f9705a66894ac34e2c475",
      "tree": "6aea616cdd07c06886c0e1ffade68e5d58f9e9c2",
      "parents": [
        "9043f3b89abebfbfe4b8d64c7b71b9ac0b9eaa0b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 27 11:59:34 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 27 16:09:23 2010 -0400"
      },
      "message": "mac80211: give virtual interface to hw_scan\n\nWhen scanning, it is somewhat important to scan\non the correct virtual interface. All drivers\nthat currently implement hw_scan only support a\nsingle virtual interface, but that may change\nand then we\u0027d want to be ready.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3b51cc996e81d8a113416d8094fa4a88f8360a51",
      "tree": "e75b98b228bb4e456c30673fcc4b56ffa1d09cf5",
      "parents": [
        "c68ed255265968c3948fa2678bf59d15c471b055",
        "672724403b42da1d276c6cf811e8e34d15efd964"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 23 14:43:45 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 23 14:43:45 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/phy.c\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tdrivers/net/wireless/iwlwifi/iwl-debugfs.c\n"
    },
    {
      "commit": "1289723ef238908ca8d95ff48a46ee0de970f882",
      "tree": "b4d584aee8abcc33dec2039fb45112156d3cd3d0",
      "parents": [
        "03ceedea972a82d343fa5c2528b3952fa9e615d5"
      ],
      "author": {
        "name": "Holger Schurig",
        "email": "holgerschurig@gmail.com",
        "time": "Mon Apr 19 10:23:57 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 20 11:50:52 2010 -0400"
      },
      "message": "mac80211: sample survey implementation for mac80211 \u0026 hwsim\n\nThis adds the survey function to both mac80211 itself and to mac80211_hwsim.\nFor the latter driver, we simply invent some noise level.A real driver which\ncannot determine the real channel noise MUST NOT report any noise, especially\nnot a magically conjured one :-)\n\nSigned-off-by: Holger Schurig \u003cholgerschurig@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\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": "349e6b7289f8a3d3d5d3b859e00b41f27d1211df",
      "tree": "d80af4e7b9ece2b42e8093f44bfedd13d9653bd5",
      "parents": [
        "00a08eb62f790383bcc8ea309d4afb9ef346ef0b"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@iki.fi",
        "time": "Sun Feb 07 10:22:01 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 08 16:51:01 2010 -0500"
      },
      "message": "mac80211: remove get_tx_stats() driver op\n\nget_tx_stats() driver operation is not currently used anywhere in mac80211\nand there are no plans to use it in the not-so-near future. So it can go\nwithout anyone missing it.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "34e895075e21be3e21e71d6317440d1ee7969ad0",
      "tree": "217fe70e32e54ef0134f477510472f3992655d79",
      "parents": [
        "070bb5477fb4029131aad4941d7aaf0093db0c38"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Feb 03 13:59:58 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 08 16:50:53 2010 -0500"
      },
      "message": "mac80211: allow station add/remove to sleep\n\nMany drivers would like to sleep during station\naddition and removal, and currently have a high\ncomplexity there from not being able to.\n\nThis introduces two new callbacks sta_add() and\nsta_remove() that drivers can implement instead\nof using sta_notify() and that can sleep, and\nthe new sta_add() callback is also allowed to\nfail.\n\nThe reason we didn\u0027t do this previously is that\nthe IBSS code wants to insert stations from the\nRX path, which is a tasklet, so cannot sleep.\nThis patch will keep the station allocation in\nthat path, but moves adding the station to the\ndriver out of line. Since the addition can now\nfail, we can have IBSS peer structs the driver\nrejected -- in that case we still talk to the\nstation but never tell the driver about it in\nthe control.sta pointer. If there will ever be\na driver that has a low limit on the number of\nstations and that cannot talk to any stations\nthat are not known to it, we need to do come up\nwith a new strategy of handling larger IBSSs,\nmaybe quicker expiry or rejecting peers.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "eb807fb23878bc319e029ed8ce3d835d239723a5",
      "tree": "0caf36c7c128825292c3c23f04c6e5eb0f74cafb",
      "parents": [
        "96869a39399269a776a94812e9fff3d38b47d838"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@iki.fi",
        "time": "Sun Jan 24 14:55:12 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Jan 25 16:36:28 2010 -0500"
      },
      "message": "mac80211: fix update_tkip_key() documentation about the context\n\nJohannes noticed that I had incorrectly documented the context of\nupdate_tkip_key() driver operation. It must be atomic because all\nRX code is run inside rcu critical section.\n\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b3fbdcf49f940d0703c356441e0daf045e64e076",
      "tree": "f63416cc9b80a6757ec6fa57190f581b2b3a6d31",
      "parents": [
        "e4fca007b06165900d0e44e8d5e251376819bf5d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jan 21 11:40:47 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 22 16:08:55 2010 -0500"
      },
      "message": "mac80211: pass vif and station to update_tkip_key\n\nWhen a TKIP key is updated, we should pass the station\npointer instead of just the address, since drivers can\nuse that to store their own data. We also need to pass\nthe virtual interface pointer.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "310bc676e314e92c18257bfc916951879451ee32",
      "tree": "12050b5b473b8c9a1bf67450e03d45ade2a4b219",
      "parents": [
        "81077e82c3f591578625805dd6464a27a9ff56ec"
      ],
      "author": {
        "name": "Lukáš Turek",
        "email": "8an@praha12.net",
        "time": "Mon Dec 21 22:50:48 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:50:07 2010 -0500"
      },
      "message": "mac80211: Add new callback set_coverage_class\n\nMac80211 callback to driver set_coverage_class() sets slot time and ACK\ntimeout for given IEEE 802.11 coverage class. The callback is optional,\nbut it\u0027s essential for long distance links.\n\nSigned-off-by: Lukas Turek \u003c8an@praha12.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e1781ed33a8809c58ad6c3b6d432d656446efa43",
      "tree": "4d272bc5bf25263a67b8431e7cfac6f9bbbcb690",
      "parents": [
        "095d5ef608b58ece49f4131925700d27314ecdd8"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@iki.fi",
        "time": "Wed Dec 23 13:15:47 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:55:10 2009 -0500"
      },
      "message": "mac80211: annotate sleeping driver ops\n\nTo make it easier to notice cases of calling sleeping ops in atomic context,\nannotate driver-ops.h with appropiate might_sleep() calls. At the same time,\nalso document in mac80211.h the op functions with missing contexts.\n\nmac80211 doesn\u0027t seem to use get_tx_stats anywhere currently. Just to be on\nthe safe side, I documented it to be atomic, but hopefully the op can be\nremoved in the future.\n\nCompile-tested only.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1ed32e4fc8cfc9656cc1101e7f9617d485fcbe7b",
      "tree": "81697637a36eb4776df39c81a77a9e09ec951a1a",
      "parents": [
        "98b6218388e345064c3f2d3c161383a18274c638"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:45 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:55:07 2009 -0500"
      },
      "message": "mac80211: remove struct ieee80211_if_init_conf\n\nAll its members (vif, mac_addr, type) are now available\nin the vif struct directly, so we can pass that instead\nof the conf struct. I generated this patch (except the\nmac80211 and header file changes) with this semantic\npatch:\n\n@@\nidentifier conf, fn, hw;\ntype tp;\n@@\ntp fn(struct ieee80211_hw *hw,\n-struct ieee80211_if_init_conf *conf)\n+struct ieee80211_vif *vif)\n{\n\u003c...\n(\n-conf-\u003etype\n+vif-\u003etype\n|\n-conf-\u003emac_addr\n+vif-\u003eaddr\n|\n-conf-\u003evif\n+vif\n)\n...\u003e\n}\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a80f7c0b088187c8471b441d461e937991870661",
      "tree": "f673c08009a03f2e988a638510b112a5584bea11",
      "parents": [
        "9607e6b66a0d25ca63b70d54a4283fa13d8f7c9d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:32 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:54:51 2009 -0500"
      },
      "message": "mac80211: introduce flush operation\n\nWe\u0027ve long lacked a good confirmation that frames\nhave really gone out, e.g. before going off-channel\nfor a scan. Add a flush() operation that drivers\ncan implement to provide that confirmation, and use\nit in a few places:\n * before scanning sends the nullfunc frames\n * after scanning sends the nullfunc frames, if any\n * when going idle, to send any pending frames\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": "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": "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": "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": "0a2b8bb24d4eb67788edd71d1ef8aa86c2e17e0f",
      "tree": "515bc3db1f3d46ce967320b0bb9914ccd64fddbc",
      "parents": [
        "99783e2cde6eccbd31efeb03a79f26bb5f239c36"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 07 13:46:22 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 24 15:05:06 2009 -0400"
      },
      "message": "mac80211: driver operation debugging\n\nThis makes mac80211 use the event tracing framework\nto log all operations as given to the driver. This\nwill need to be extended with more information, but\nas a start it should be good.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1f87f7d3a3b42b20f34cb03f0fd1a41c3d0e27f3",
      "tree": "642882153a48e910a415e6bb23bcfb79fadef6dd",
      "parents": [
        "6081162e2ed78dfcf149b076b047078ab1445cc2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jun 02 13:01:41 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 03 14:06:14 2009 -0400"
      },
      "message": "cfg80211: add rfkill support\n\nTo be easier on drivers and users, have cfg80211 register an\nrfkill structure that drivers can access. When soft-killed,\nsimply take down all interfaces; when hard-killed the driver\nneeds to notify us and we will take down the interfaces\nafter the fact. While rfkilled, interfaces cannot be set UP.\n\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"
    }
  ]
}
