)]}'
{
  "log": [
    {
      "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"
    }
  ]
}
