)]}'
{
  "log": [
    {
      "commit": "618f356b95e37ca0c30b3b513898fda54abd52a6",
      "tree": "950d67d39fa3e6b70a5cbf593b85f53416fa051e",
      "parents": [
        "66b0470aeef10a3b0f9a6a1c60d908b5a06c62ae"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 06 11:18:46 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 07 14:38:04 2010 -0400"
      },
      "message": "mac80211: rename WLAN_STA_SUSPEND to WLAN_STA_BLOCK_BA\n\nI want to use it during station destruction as well\nso rename it to WLAN_STA_BLOCK_BA which is also the\nonly use of it now.\n\nSigned-off-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": "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": "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": "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": "84f6a01ce05fa671f7745b6e041e698a2d1f1341",
      "tree": "9d27eb23cf2c310b572193cbef290b6b84eb0259",
      "parents": [
        "5eb6ba83aa326e2f2cf9109d20df5d6a497b36bb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Aug 20 20:02:20 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 28 14:40:25 2009 -0400"
      },
      "message": "mac80211: fix configure_filter invocation after stop\n\nSince configure_filter can sleep now, any multicast\nconfiguration needed to be postponed to a work struct.\nThis, however, lead to a problem that we could queue\nthe work, stop the device and then afterwards invoke\nconfigure_filter which may lead to driver hangs and is\na bug. To fix this, we can just cancel the filter work\nsince it\u0027s unnecessary to do after stopping the hw.\n\nSince there are various places that call drv_stop, and\ntwo of them do very similar things, the code for them\ncan be put into a shared function at the same time.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nReported-by: Lennert Buytenhek \u003cbuytenh@wantstofly.org\u003e\nTested-by: Lennert Buytenhek \u003cbuytenh@marvell.com\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": "89c3a8aca28e6d57f2ae945d97858a372d624b81",
      "tree": "e6ab04353cfc202bc7ecbd58d57c2d1790381a7c",
      "parents": [
        "57921c312e8cef72ba35a4cfe870b376da0b1b87"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 28 18:10:17 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 29 14:52:01 2009 -0400"
      },
      "message": "mac80211: fix suspend\n\nJan reported that his b43-based laptop hangs during suspend.\nThe problem turned out to be mac80211 asking the driver to\nstop the hardware before removing interfaces, and interface\nremoval caused b43 to touch the hardware (while down, which\ncauses the hang).\n\nThis patch fixes mac80211 to do reorder these operations to\nhave them in the correct order -- first remove interfaces\nand then stop the hardware. Some more code is necessary to\nbe able to do so in a race-free manner, in particular it is\nnecessary to not process frames received during quiescing.\n\nFixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d13337.\n\nReported-by: Jan Scholz \u003cscholz@fias.uni-frankfurt.de\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5bb644a0fd25a5e083ecbfaa92a211db99aa6ef7",
      "tree": "d2a6d5ff2323db0c475be15c63bb8fc55482a1e2",
      "parents": [
        "cc32abd494c0a8f76f2638e3f3a76e01c68bc9ea"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun May 17 11:40:42 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 20 14:46:25 2009 -0400"
      },
      "message": "mac80211: cancel/restart all timers across suspend/resume\n\nWe forgot to cancel all timers in mac80211 when suspending.\nIn particular we forgot to deal with some things that can\ncause hardware reconfiguration -- while it is down.\n\nWhile at it we go ahead and add a warning in ieee80211_sta_work()\nif its run while the suspend-\u003eresume cycle is in effect. This\nshould not happen and if it does it would indicate there is\na bug lurking in either mac80211 or mac80211 drivers.\n\nWith this now wpa_supplicant doesn\u0027t blink when I go to suspend\nand resume where as before there where issues with some timers\nrunning during the suspend-\u003eresume cycle. This caused a lot of\nincorrect assumptions and would at times bring back the device\nin an incoherent, but mostly recoverable, state.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\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": "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": "4499b23933b44bf9e56d1a29b51d9a62941f9fa4",
      "tree": "464d5b3b334341c60644a759a352065a3baf6aaa",
      "parents": [
        "e45d8e534b67580eedd9b4910ccc16d6dd3cceff"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Apr 08 02:55:34 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 22 16:54:41 2009 -0400"
      },
      "message": "mac80211: re-upload keys only after telling driver about association\n\nIn the normal WPA or RSN case keys are only configured after\nassociating, so we should do that in that order when resuming\nas well. It shouldn\u0027t really matter since we do not send any\ndata at either point, but iwlwifi prefers it this way and it\ndoes seem more natural.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "827b1fb44b7e41377a5498b9d070a11dfae2c283",
      "tree": "5a54acadb35e35d64e4db0cfde5a7105c85916e2",
      "parents": [
        "3e3ccb3d9b8d5a1b65b34e1be2decf213ba3bebb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Mar 13 11:44:18 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:13:03 2009 -0400"
      },
      "message": "mac80211: resume properly, add suspend/resume test\n\nWhen mac80211 resumes, it currently doesn\u0027t reconfigure the interfaces\nentirely and also doesn\u0027t reconfigure BSS information -- fix this.\n\nAlso, to be able to test this, add a debugfs file that just calls\nthe suspend/resume code to see what happens when we go through that,\nwithout needing the time-consuming suspend/resume cycle.\n\n(Original version broke the build for CONFIG_PM\u003dn.  Define alternative\nfunctions for that situation. -- JWL)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "722f069a6dc95d7c6c2cdfbe3413899a3b768f9c",
      "tree": "3f9ccbd9e2fdf75bd27675c48b238adc911ae626",
      "parents": [
        "e23a9014fd4d502a419255a83e2479ab804c6f16"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Tue Mar 17 08:50:06 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:12:55 2009 -0400"
      },
      "message": "mac80211: Tear down aggregation sessions for suspend/resume\n\nWhen the driver has been notified with a STA_REMOVE, it tears down\nthe internal ADDBA state. On resume, trying to initiate aggregation would\nfail because mac80211 has not cleared the operational state for that \u003cTID,STA\u003e.\nThis can be fixed by tearing down the existing sessions on a suspend.\n\nAlso, the driver can initiate a new BA session when suspend is in progress.\nThis is fixed by marking the station as being in suspend state and\ndenying ADDBA requests for such STAs.\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": "7f0216a49bea717b9606b81c60f2f0b6152123eb",
      "tree": "8e28ac84644a13fbb68e79d4c307cc7ea40a167a",
      "parents": [
        "8fdc621dc743b87879ccf0177969864b09388d9a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Mar 14 09:42:49 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:12:53 2009 -0400"
      },
      "message": "mac80211: acquire sta_lock for station suspend/resume\n\nTo avoid concurrent manipulations of the sta list (which shouldn\u0027t\nbe possible at this point, but anyway) we need to hold the sta_lock\naround iterating the list.\n\nAt the same time, we do not need to iterate the list at all if\nthe driver doesn\u0027t want to be notified.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "25420604c8967ff24f087dd7b9cd4b278567d39a",
      "tree": "b5a1c0edcca74cf64abce8bd6699774c0c387838",
      "parents": [
        "b5bde374f0f61f5d97114d400ade8fc96bf6f10d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Mar 13 11:43:36 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 27 20:12:52 2009 -0400"
      },
      "message": "mac80211: stop queues across suspend/resume\n\nEven though userland probably cannot submit packets, there might\nstill be some coming, and that\u0027s no good when the driver doesn\u0027t\nexpect them. Stop the queues across suspend/resume.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e874e6585539f6706b8e5f96125c9fca89cce716",
      "tree": "e934e488406b2de0c82e138601ff38243f13ca1f",
      "parents": [
        "30d3ef41b4395d9bee5f481395eef2d3b8b6ee50"
      ],
      "author": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Sat Jan 24 13:21:14 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:42 2009 -0500"
      },
      "message": "mac80211: flush workqueue a second time in suspend()\n\nDrivers can theoretically queue more work in one of their callbacks\nfrom mac80211 suspend, so let\u0027s flush it once more to be on the safe\nside, just before calling -\u003estop().\n\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "665af4fc8979734d8f73c9a6732be07e545ce4cc",
      "tree": "e6efab304166f0f4f30b75906930def19b1a3fb8",
      "parents": [
        "0378b3f1c49d48ed524eabda7e4340163d9483c9"
      ],
      "author": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Mon Jan 19 11:20:53 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:00:52 2009 -0500"
      },
      "message": "mac80211: add suspend/resume callbacks\n\nThis patch introduces suspend and resume callbacks to mac80211,\nallowing mac80211 to quiesce its state (bringing down interfaces,\nremoving keys, etc) in preparation for suspend.  cfg80211 will call\nthe suspend hook before the device suspend, and resume hook after\nthe device resume.\n\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ]
}
