)]}'
{
  "log": [
    {
      "commit": "eff253c4272cd2aac95ccff46d3d2e1a495f22b1",
      "tree": "d33ffe2bf87b27046bd032ae49d04f012558ae75",
      "parents": [
        "157439fa4a9b38ac4ce41e2fc379fc5031affec8"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Aug 23 13:28:27 2008 +0200"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Aug 27 07:22:00 2008 +0200"
      },
      "message": "dccp ccid-3: Replace lazy BUG_ON with condition\n\nThe BUG_ON(w_tot \u003d\u003d 0) only holds if there is no more than 1 loss interval in\nthe loss history. If there is only a single loss interval, the calc_i_mean()\nroutine need in fact not be called (RFC 3448, 6.3.1). \n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "157439fa4a9b38ac4ce41e2fc379fc5031affec8",
      "tree": "bed4712df1c51b32fe53a63bd1d1a17a7db4eca1",
      "parents": [
        "b569d5a134074d4e15ab8e26cf2dd9f02c29fadc"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Aug 23 13:28:27 2008 +0200"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Aug 27 07:22:00 2008 +0200"
      },
      "message": "dccp: Toggle debug output without module unloading\n\nThis sets the sysfs permissions so that root can toggle the `debug\u0027\nparameter available for nearly every DCCP module. This is useful \nsince there are various module inter-dependencies. The debug flag\ncan now be toggled at runtime using\n\n  echo 1 \u003e /sys/module/dccp/parameters/dccp_debug\n  echo 1 \u003e /sys/module/dccp_ccid2/parameters/ccid2_debug\n  echo 1 \u003e /sys/module/dccp_ccid3/parameters/ccid3_debug\n  echo 1 \u003e /sys/module/dccp_tfrc_lib/parameters/tfrc_debug\n\nThe last is not very useful yet, since no code at the moment calls\nthe tfrc_debug() macro.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "b569d5a134074d4e15ab8e26cf2dd9f02c29fadc",
      "tree": "306ce50ce1583709aad187bd25a7899cac5a8391",
      "parents": [
        "5a056417e696fabab8642ec38783de0b496bde76"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Aug 23 13:28:27 2008 +0200"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Aug 27 07:22:00 2008 +0200"
      },
      "message": "dccp: Empty the write queue when disconnecting\n\ndccp_disconnect() can be called due to several reasons:\n\n 1. when the connection setup failed (inet_stream_connect());\n 2. when shutting down (inet_shutdown(), inet_csk_listen_stop());\n 3. when aborting the connection (dccp_close() with 0 linger time).\n\nIn case (1) the write queue is empty. This patch empties the write queue,\nif in case (2) or (3) it was not yet empty.\n\nThis avoids triggering the write-queue BUG_TRAP in sk_stream_kill_queues()\nlater on.\n\nIt also seems natural to do: when breaking an association, to delete all\npackets that were originally intended for the soon-disconnected end (compare\nwith call to tcp_write_queue_purge in tcp_disconnect()).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "5a056417e696fabab8642ec38783de0b496bde76",
      "tree": "9a01a2a45d6fe2a5a1aca656184206858906c606",
      "parents": [
        "1efa6bbac876318ebf6f3a757f18e7d9ebe02dd0"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Aug 23 13:28:27 2008 +0200"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Aug 27 07:22:00 2008 +0200"
      },
      "message": "dccp: Fill in the Data fields for \"Option Error\" Resets\n\nThis updates the use of the `out_invalid_option\u0027 label, which produces a \nReset (code 5, \"Option Error\"), to fill in the  Data1...Data3 fields as\nspecified in RFC 4340, 5.6.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "1efa6bbac876318ebf6f3a757f18e7d9ebe02dd0",
      "tree": "cabb87a852669d7505750efa26072daf26b2b217",
      "parents": [
        "33c449675c0e371edd35b3bd7ce8a14451ff2f0b"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Aug 23 13:28:27 2008 +0200"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Aug 27 07:21:59 2008 +0200"
      },
      "message": "dccp: Silently ignore options with nonsensical lengths\n\nThis updates the option-parsing code with regard to RFC 4340, 5.8:\n \"[..] options with nonsensical lengths (length byte less than two or more\n  than the remaining space in the options portion of the header) MUST be\n  ignored, and any option space following an option with nonsensical length\n  MUST likewise be ignored.\"\n\nHence in the following cases erratic options will be ignored:\n 1. The type byte of a multi-byte option is the last byte of the header\n    options (i.e. effective option length of 1).\n 2. The value of the length byte is less than the minimum 2. This has been \n    changed from previously 3: although no multi-byte option with a length\n    less than 3 yet exists (cf. table 3 in 5.8), a length of 2 is valid.\n    (The switch-statement in dccp_parse has further per-option length checks.)\n 3. The option length exceeds the length of the remaining option space.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "33c449675c0e371edd35b3bd7ce8a14451ff2f0b",
      "tree": "56edd502b671458bec54fdd7b62fb26b946d83f1",
      "parents": [
        "a4356b2920fd4861dd6c75f558749fa5c38a00e8"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Aug 23 13:28:27 2008 +0200"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Aug 27 07:21:59 2008 +0200"
      },
      "message": "dccp: Always generate a Reset in response to option errors\n\nRFC4340 states that if a packet is received with an option error (such as a\nMandatory Option as the last byte of the option list), the endpoint should\nrepond with a Reset.\n\nIn the LISTEN and RESPOND states, the endpoint correctly reponds with Reset,\nwhile in the REQUEST/OPEN states, packets with option errors are just ignored.\n\nThe packet sequence is as follows:\n\nCase 1:\n\n  Endpoint A                           Endpoint B\n  (CLOSED)                             (CLOSED)\n\n               \u003c----------------       REQUEST\n\n  RESPONSE     -----------------\u003e      (*1)\n  (with invalid option)\n               \u003c----------------       RESET\n                                       (with Reset Code 5, \"Option Error\")\n\n  (*1) currently just ignored, no Reset is sent\n\nCase 2:\n\n  Endpoint A                           Endpoint B\n  (OPEN)                               (OPEN)\n\n  DATA-ACK     -----------------\u003e      (*2)\n  (with invalid option)\n               \u003c----------------       RESET\n                                       (with Reset Code 5, \"Option Error\")\n\n  (*2) currently just ignored, no Reset is sent\n\nThis patch fixes the problem, by generating a Reset instead of silently\nignoring option errors.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "a4356b2920fd4861dd6c75f558749fa5c38a00e8",
      "tree": "6d418c2514394da3002c16e67d4fe3f40dd7b40f",
      "parents": [
        "2cf46637b501794d7fe9e365f0a3046f5d1f5dfb"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Aug 23 05:12:29 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 23 05:12:29 2008 -0700"
      },
      "message": "tcp: Add tcp_parse_aligned_timestamp\n\nSome duplicated code lying around. Located with my suffix tree\ntool.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2cf46637b501794d7fe9e365f0a3046f5d1f5dfb",
      "tree": "085f846e6cd31de856af53f861eda250d7721e83",
      "parents": [
        "cbe2d128a01315fb4bd55b96cf8b963f5df28ea2"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Aug 23 05:11:41 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 23 05:11:41 2008 -0700"
      },
      "message": "tcp: Add tcp_collapse_one to eliminate duplicated code\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cbe2d128a01315fb4bd55b96cf8b963f5df28ea2",
      "tree": "f110e926a365da22bc2d63402b3d7f079a391dd0",
      "parents": [
        "23edcc4147ad36f8d55f0eb79c21e245ffb9f211"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Aug 23 05:10:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 23 05:10:12 2008 -0700"
      },
      "message": "tcp: Add tcp_validate_incoming \u0026 put duplicated code there\n\nLarge block of code duplication removed.\n\nSadly, the return value thing is a bit tricky here but it\nseems the most sensible way to return positive from validator\non success rather than negative.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23edcc4147ad36f8d55f0eb79c21e245ffb9f211",
      "tree": "20aaa2208d7ba51769639bcedd6be3bc3cd8673c",
      "parents": [
        "31afcef385bb8bf528c6fbe05b359af9f456f02a"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:28:05 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:07 2008 -0400"
      },
      "message": "orinoco: Add MIC on TX and check on RX\n\nUse the MIC algorithm from the crypto subsystem.\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "31afcef385bb8bf528c6fbe05b359af9f456f02a",
      "tree": "c6032f5f81c250cf02bbb6d544bfa9866c5cfc67",
      "parents": [
        "06009fda9fde1b97074ab3d932d0468396bf5d10"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:28:04 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:06 2008 -0400"
      },
      "message": "orinoco: Process bulk of receive interrupt in a tasklet\n\nRead the packet data off the hardware and straight into an skb in the\ninterrupt. We have to do this in case we don\u0027t process the tasklet in\ntime.\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "06009fda9fde1b97074ab3d932d0468396bf5d10",
      "tree": "e4cf6808c846c1078512422f94631e275d209e93",
      "parents": [
        "d03032af511c56d3c1580fa4f54f6285f650e638"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:28:03 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:06 2008 -0400"
      },
      "message": "orinoco: Send association events to userspace\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d03032af511c56d3c1580fa4f54f6285f650e638",
      "tree": "cf1820c9199769851d584d502d3c0f941d693751",
      "parents": [
        "409644a98bfffef79985f2c39924a06288b1dfcf"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:28:02 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:06 2008 -0400"
      },
      "message": "orinoco: Add WE-18 ioctls for WPA\n\nIncludes basic plumbing to get the data into firmware, and retrieve it.\n\nSIOCxIWGENIE simply record (and return) the IE, and do not act on it.\n\nSIOCxIWENCODEEXT, SIOCxIWAUTH and SIOCSIWMLME should be as functional as\nthe driver will support.\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "409644a98bfffef79985f2c39924a06288b1dfcf",
      "tree": "6402461f30bf00cbd6e999160f0e2760c552ec3f",
      "parents": [
        "6cd90b1cac290c64a93b7e992bb1ef495988465f"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:28:01 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:06 2008 -0400"
      },
      "message": "orinoco: Use a macro to define wireless handlers\n\nThe macro identifiers for the various ioctls required for WPA support\nare longer than those currently used by the driver. This makes it messy\nto keep line length below 80 character.\n\nBy defining a macro to initialise the handler table, we recover the\ncommon text.\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6cd90b1cac290c64a93b7e992bb1ef495988465f",
      "tree": "cba5f4c4ba36da9120263abe0bf92d25e9c5602f",
      "parents": [
        "4ae6ee2d72e4904909d63c6ebb0240b254b72e85"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:28:00 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:06 2008 -0400"
      },
      "message": "orinoco: Split wevent work thread from wevent sending\n\nThis allows us to send more wevents from the work thread. We will need\nto do this to support WPA.\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4ae6ee2d72e4904909d63c6ebb0240b254b72e85",
      "tree": "5ce5b36b92b31617115b5bb77a7105c909050854",
      "parents": [
        "01632fa4af34addf78ce999eabb4430f33942ee2"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:27:59 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:06 2008 -0400"
      },
      "message": "orinoco: Don\u0027t use boolean parameter to record encoding type\n\nFor WPA support we need to encode NONE, WEP and TKIP in the encoding\nparameter. In anticipation of this we need to change the usage away from\nthe current boolean usage.\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "01632fa4af34addf78ce999eabb4430f33942ee2",
      "tree": "c2127215d99e2d67dd402e07286b4c66df64efb3",
      "parents": [
        "3056c40426b9cd4f7c334d773d69db64e195431d"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:27:58 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:05 2008 -0400"
      },
      "message": "orinoco: Use extended Agere scans available on 9.x series firmwares\n\nThis provides more information than the standard Agere scan, including\nthe WPA IE.\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3056c40426b9cd4f7c334d773d69db64e195431d",
      "tree": "baf1cfcbb43a377c8d78419afc9f2f58f63ec871",
      "parents": [
        "6eecad77861b193bcfc109de12835ca0bddf7c58"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:27:57 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:05 2008 -0400"
      },
      "message": "orinoco: address checkpatch typedef warning\n\nJust sprinkle the necessary structs around...\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6eecad77861b193bcfc109de12835ca0bddf7c58",
      "tree": "cacb4f7513571c6992adebb00c21bc8e5a14e663",
      "parents": [
        "3994d502017a2239e30152d1231843ad05d04a7b"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:27:56 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:05 2008 -0400"
      },
      "message": "orinoco: Fix transmit for Agere/Lucent with fw 9.x\n\nThe tx control word has moved into the 802.11 header area on these\nfirmwares.\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3994d502017a2239e30152d1231843ad05d04a7b",
      "tree": "c4f15d1b95783d035d954173167ff08e65665461",
      "parents": [
        "8f5ae73c5366128d3800cf9765507422bcf1ef96"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:27:54 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:05 2008 -0400"
      },
      "message": "orinoco: Invoke firmware download in main driver\n\nFirmware download is enabled for Agere in orinoco_cs. Symbol firmware\ndownload has been moved out of spectrum_cs into orinoco_cs. Firmware\ndownload is not enabled for Intersil.\n\nSymbol based firmware is restricted to only download on spectrum_cs\nbased cards.\n\nThe firmware names are hardcoded for each firmware type.\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8f5ae73c5366128d3800cf9765507422bcf1ef96",
      "tree": "5823eb838fe7fb782501171025a61c4c8b0c0423",
      "parents": [
        "e23341809b7b60981d14a368155cd1f0724fb8d5"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:27:53 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:05 2008 -0400"
      },
      "message": "orinoco: Extend hermes_dld routines for Agere firmware\n\nAdd programming initialisation and termination functions.\nAdd checks to avoid overrunning the firmware image or PDA areas.\nExtra algorithm to program PDA values using defaults where necessary.\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e23341809b7b60981d14a368155cd1f0724fb8d5",
      "tree": "0d035f354eec28816b1fcf813b9f5ed665d3d827",
      "parents": [
        "f482eb797a391a098046a934f55af8bd785a4494"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:27:52 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:05 2008 -0400"
      },
      "message": "orinoco: Make firmware download logic more generic\n\nEnsure PDA read is terminated.\nPrevent invalid programming blocks from causing reads outside the\nfirmware image\nTurn off aux stuff when finished.\nOption to program in limited block sizes (controlled by macro).\nOption to read PDA from EEPROM.\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f482eb797a391a098046a934f55af8bd785a4494",
      "tree": "e5238e31f384e32dcbb16b1e8376da0679130786",
      "parents": [
        "fc5a62d8b7052ea588e4f7750cd78b0c4c47015a"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:27:51 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:04 2008 -0400"
      },
      "message": "orinoco: Move firmware download functionality into new module\n\nMove the functionality from spectrum_cs to hermes_dld in preparation for\nmaking it more generic and usable by other orinoco drivers.\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fc5a62d8b7052ea588e4f7750cd78b0c4c47015a",
      "tree": "cf25f5749da81c0a0a13986315486fdaf42e1fe7",
      "parents": [
        "82a06ee518f570eb8fbb6588e75a4a5d838ac901"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:27:50 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:04 2008 -0400"
      },
      "message": "orinoco: Add function to execute Hermes initialisation commands synchronously\n\nThe current synchronous execution function doesn\u0027t work\nfor certain Hermes commands which clear the MAGIC number from\nSWSUPPORT0. These commands seem to be related to initialisation or\nprogramming, for example HERMES_CMD_INIT.\n\nReplicate hermes_docmd_wait for commands which clear the MAGIC number\nfrom SWSUPPORT0. This version accepts two extra arguments which are\npassed straight to the firmware.\n\nFunctionality copied out of hermes_init.\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "82a06ee518f570eb8fbb6588e75a4a5d838ac901",
      "tree": "d55cd4ceaefe0ae40081117854ad77519e053096",
      "parents": [
        "a1d81f1523de0c588f1d7798a49d66559f538e4f"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:27:49 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:04 2008 -0400"
      },
      "message": "orinoco: Move EXPORT_SYMBOL declarations next to exported function\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a1d81f1523de0c588f1d7798a49d66559f538e4f",
      "tree": "acf986e0366360810d87e2fceb5a9e72cd83bca7",
      "parents": [
        "17a1a887041ea39a19c5d469f1e31df940b00622"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:27:48 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:04 2008 -0400"
      },
      "message": "orinoco: Specify all three parameters to every Hermes command.\n\nhermes_issue_cmd now takes two more parameters.\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "17a1a887041ea39a19c5d469f1e31df940b00622",
      "tree": "b4ed13156184085dd2eed0504d15e4abc4cd04a6",
      "parents": [
        "0753bba2d45762f83b9f4db94d15a3047f592964"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:27:47 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:04 2008 -0400"
      },
      "message": "orinoco: Update scan translation\n\nReport channel, beacon interval and capabilities.\nUse WEXT defines instead of magic numbers.\nState quality stats in dB.\nAlso a few changes to keep line length less than 80.\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0753bba2d45762f83b9f4db94d15a3047f592964",
      "tree": "30255adb9f85e7806681aa43aac9588b8ecac391",
      "parents": [
        "9859b81eaeb8d48563b5fbd90215c0ae606455a3"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@gmail.com",
        "time": "Thu Aug 21 23:27:46 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 19:28:04 2008 -0400"
      },
      "message": "orinoco: Add ESSID specific scanning for Agere fw\n\nPass the ESSID to the card.\n\nThis allows \u0027iwlist eth1 scan essid \u003cessid\u003e\u0027 to work, and will help\nwith routers setup not to broadcast the ESSID.\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9859b81eaeb8d48563b5fbd90215c0ae606455a3",
      "tree": "4d4a68d4033801c4a58653634f18eeb8b091aead",
      "parents": [
        "32ddf0718590f410d5f18cb4fcda419f4aeefc57"
      ],
      "author": {
        "name": "Ron Rindjunsky",
        "email": "ron.rindjunsky@intel.com",
        "time": "Sat Aug 09 03:02:19 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:30:00 2008 -0400"
      },
      "message": "mac80211: add direct probe before association\n\nThis patch adds a direct probe request as first step in the association\nflow if data we have is not up to date. Motivation of this step is to make\nsure that the bss information we have is correct, since last scan could\nhave been done a while ago, and beacons do not fully answer this need as\nthere are potential differences between them and probe responses (e.g.\nWMM parameter element)\n\nSigned-off-by: Ron Rindjunsky \u003cron.rindjunsky@intel.com\u003e\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "32ddf0718590f410d5f18cb4fcda419f4aeefc57",
      "tree": "5344f898001df626b0654f8251e067b65b301e1a",
      "parents": [
        "6042a3e3ff7943e4ff5cbcb8c223ea87337501ea"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@web.de",
        "time": "Fri Aug 08 21:17:37 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:30:00 2008 -0400"
      },
      "message": "p54: rename prism54xyz -\u003e p54xyz\n\nIt\u0027s been a long time, but fullmac prism54 driver is still around...\nI think we should rename every prism54* in order to avoid some\nconfusion about \"what is actually what\" in the future ;-).\n\nThanks-to: Maxi \u003cmaxi@daemonizer.de\u003e\n\nSigned-off-by: Christian Lamparter \u003cchunkeey@web.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6042a3e3ff7943e4ff5cbcb8c223ea87337501ea",
      "tree": "299af6b93c402be6bb25a62492123a79656f1ede",
      "parents": [
        "008c44825db74c6cdcea13dfb1598896e74fe908"
      ],
      "author": {
        "name": "Ron Rindjunsky",
        "email": "ron.rindjunsky@intel.com",
        "time": "Fri Aug 08 01:50:46 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:59 2008 -0400"
      },
      "message": "mac80211: change number of pre-assoc scans\n\nThis patch fixes noticed problem in noisy environments of 50+ APs\nthat scan fails to find the requested AP on first try, which\nleads to connection refusal. second scan has empirically proven to fix\nthis problem in almost all cases.\n\nSigned-off-by: Ron Rindjunsky \u003cron.rindjunsky@intel.com\u003e\nSigned-off-by: Esti Kummer \u003cester.kummer@intel.com\u003e\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "008c44825db74c6cdcea13dfb1598896e74fe908",
      "tree": "6fecad89bfd278a321b4d6e0cfe1098a0cc6b54f",
      "parents": [
        "ba2ab47129eee76f6f0ef52b4beae30a12cee7f6"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "ivdoorn@gmail.com",
        "time": "Wed Aug 06 17:27:31 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:59 2008 -0400"
      },
      "message": "rt2x00: Add module parameter to disable HW crypto\n\nAdd a module parameter to rt61 and rt73 to disable\nHW crypto. The option should only be checked when\ndetermining if the SUPPORT_HW_CRYPTO flag should\nbe set or not.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ba2ab47129eee76f6f0ef52b4beae30a12cee7f6",
      "tree": "aded96a0180e0e09122f1400a307f8d3d525feb0",
      "parents": [
        "48c2fc59aa415ba92be0ad3a7e741c46883e3944"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "ivdoorn@gmail.com",
        "time": "Wed Aug 06 16:22:17 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:59 2008 -0400"
      },
      "message": "rt2x00: Move lna_gain calculation to config() callback\n\nWe can optimize lna calculation in IRQ context by\ncalculating most of the value during the config() callback\nwhen most of the value is actually influenced.\n\nThis will be required later by rt2800pci and rt2800usb as\nwell, since they need the lna_gain value during config().\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "48c2fc59aa415ba92be0ad3a7e741c46883e3944",
      "tree": "967378bd9431e43bff88f0070acf9380f48729b5",
      "parents": [
        "06303352d3de02a371ccaec1366a92db5e1d7c30"
      ],
      "author": {
        "name": "Tomas Winkler",
        "email": "tomas.winkler@intel.com",
        "time": "Wed Aug 06 14:22:01 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:59 2008 -0400"
      },
      "message": "mac80211: cleanup mlme state namespace\n\nThis patch move add STA_MLME to station mlme state defines.\n\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "06303352d3de02a371ccaec1366a92db5e1d7c30",
      "tree": "2155ac5402df198f732d44466924a3837614dba9",
      "parents": [
        "edcc25b22f7c328f56e8c129afa1e10c8bacb2ef"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Tue Aug 05 19:32:23 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:59 2008 -0400"
      },
      "message": "ath5k: set short preamble flag for rx\n\nset the short preamble flag in ieee80211_rx_status for frames received with a\nshort preamble.\n\ndrivers/net/wireless/ath5k/base.c:      Changes-licensed-under: 3-Clause-BSD\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "edcc25b22f7c328f56e8c129afa1e10c8bacb2ef",
      "tree": "65643b8a506dae46537dabdcdd0db2659396df1e",
      "parents": [
        "8c5e7a5f59f9d11597bd47de28334da318ea0e80"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "ivdoorn@gmail.com",
        "time": "Mon Aug 04 16:39:05 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:59 2008 -0400"
      },
      "message": "rt2x00: Release rt2x00 2.2.0\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8c5e7a5f59f9d11597bd47de28334da318ea0e80",
      "tree": "46dc69607e8a196fd68b3b040b312bc1e7fc0559",
      "parents": [
        "906c110fcc24bdd5bf0fa22d89ac75d99c747e53"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "ivdoorn@gmail.com",
        "time": "Mon Aug 04 16:38:47 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:58 2008 -0400"
      },
      "message": "rt2x00: Gather channel information in structure\n\nChannel information which is read from EEPROM should\nbe read into an array containing per-channel information.\nThis removes the requirement of multiple arrays and makes\nthe channel handling a bit cleaner and easier to expand.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "906c110fcc24bdd5bf0fa22d89ac75d99c747e53",
      "tree": "f7288c835b1490ffee657119bef8317f69cc22aa",
      "parents": [
        "61e754f44b57060464b1fcf261a8428ecfa23bed"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "ivdoorn@gmail.com",
        "time": "Mon Aug 04 16:38:24 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:58 2008 -0400"
      },
      "message": "rt2x00: Implement HW encryption (rt73usb)\n\nrt73usb supports hardware encryption.\nrt73usb supports up to 4 shared keys and up to 64 pairwise keys.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "61e754f44b57060464b1fcf261a8428ecfa23bed",
      "tree": "0fab4e6777f4ad317dac446d0afb24efb9257636",
      "parents": [
        "2bb057d07a0bc17475a7bf897fc41667ab08b73f"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "ivdoorn@gmail.com",
        "time": "Mon Aug 04 16:38:02 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:58 2008 -0400"
      },
      "message": "rt2x00: Implement HW encryption (rt61pci)\n\nrt61pci supports hardware encryption.\nrt61pci supports up to 4 shared keys and up to 64 pairwise keys.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2bb057d07a0bc17475a7bf897fc41667ab08b73f",
      "tree": "55461e52caa34a45a67aaf9e3f1c608f96c77d59",
      "parents": [
        "8e7cdbb6333ef7654e708bd60e50a123688dcd7b"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "ivdoorn@gmail.com",
        "time": "Mon Aug 04 16:37:44 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:58 2008 -0400"
      },
      "message": "rt2x00: Implement HW encryption\n\nVarious rt2x00 devices support hardware encryption.\n\nMost of them require the IV/EIV to be generated by mac80211,\nbut require it to be provided seperately instead of within\nthe frame itself. This means that rt2x00lib should extract\nthe data from the frame and place it in the frame descriptor.\nDuring RX the IV/EIV is provided in the descriptor by the\nhardware which means that it should be inserted into the\nframe by rt2x00lib.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8e7cdbb6333ef7654e708bd60e50a123688dcd7b",
      "tree": "571d6ebb1d12f2171338e82fcffd3d25f2cb8178",
      "parents": [
        "f698d856f65c3fea091cc303a135967965c5b880"
      ],
      "author": {
        "name": "Tomas Winkler",
        "email": "tomas.winkler@intel.com",
        "time": "Sun Aug 03 14:32:01 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:58 2008 -0400"
      },
      "message": "mac80211: filter probes in ieee80211_rx_mgmt_probe_resp\n\nThis patch moves filtering statement from ieee80211_rx_bss_info\nwhich is called for both beacon and probe to ieee80211_rx_mgmt_probe_resp\nand save few cycles in beacon parsing.\n\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f698d856f65c3fea091cc303a135967965c5b880",
      "tree": "94c7c2d561e5191646dc5798683c0aca97973773",
      "parents": [
        "fef1643bf0cdd092a52dc3378479e4811fd65152"
      ],
      "author": {
        "name": "Jasper Bryant-Greene",
        "email": "jasper@amiton.co.nz",
        "time": "Sun Aug 03 12:04:37 2008 +1200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:58 2008 -0400"
      },
      "message": "replace net_device arguments with ieee80211_{local,sub_if_data} as appropriate\n\nThis patch replaces net_device arguments to mac80211 internal functions\nwith ieee80211_{local,sub_if_data} as appropriate.\n\nIt also does the same for many 802.11s mesh functions, and changes the\nmesh path table to be indexed on sub_if_data rather than net_device.\n\nIf the mesh part needs to be a separate patch let me know, but since\nmesh uses a lot of mac80211 functions which were being converted anyway,\nthe changes go hand-in-hand somewhat.\n\nThis patch probably does not convert all the functions which could be\nconverted, but it is a large chunk and followup patches will be\nprovided.\n\nSigned-off-by: Jasper Bryant-Greene \u003cjasper@amiton.co.nz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fef1643bf0cdd092a52dc3378479e4811fd65152",
      "tree": "2de4d3e7b5ffeab6140c083ed98c9c2f7f3700e2",
      "parents": [
        "96c87607ac8f9b0e641d11ba6e57f8ec0214ea1c"
      ],
      "author": {
        "name": "Jasper Bryant-Greene",
        "email": "jasper@amiton.co.nz",
        "time": "Sun Aug 03 11:30:55 2008 +1200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:57 2008 -0400"
      },
      "message": "move ETH_P_PAE from ieee80211_i.h to if_ether.h\n\nETH_P_PAE belongs in if_ether.h with the other ETH_P_* definitions. This\npatch moves it there.\n\nSigned-off-by: Jasper Bryant-Greene \u003cjasper@amiton.co.nz\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "96c87607ac8f9b0e641d11ba6e57f8ec0214ea1c",
      "tree": "d8a7d538b2bd05b5ee2957828563b31cf7db8540",
      "parents": [
        "77fba13ccc3a2a3db100892a4a6cc5e2f8290cc7"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Sat Aug 02 15:11:00 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:57 2008 -0400"
      },
      "message": "rfkill: introduce RFKILL_STATE_MAX\n\nWhile it is interesting to not add last-enum-markers because it allows gcc\nto warn us of switch() statements missing a valid state, we really should\nbe handling memory corruption on a rfkill state with default clauses,\nanyway.\n\nSo add RFKILL_STATE_MAX and use it where applicable.  It makes for safer\ncode in the long run.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "77fba13ccc3a2a3db100892a4a6cc5e2f8290cc7",
      "tree": "326794992d81c2372f6a639df798e3361dcb4610",
      "parents": [
        "9961920199ec88d6b581d3e38502088935925c04"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Sat Aug 02 15:10:59 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:57 2008 -0400"
      },
      "message": "rfkill: add __must_check annotations\n\nrfkill is not a small, mere detail in wireless support.  Once it starts\nsupporting rfkill and users start counting on that support, a wireless\ndevice is at risk of operating in dangerous conditions should rfkill\nsupport fail to properly activate.\n\nTherefore, add the required __must_check annotations on some key functions\nof the rfkill API, for which the wireless drivers absolutely MUST handle\nthe failure mode safely in order to avoid a potentially dangerous situation\nwhere the wireless transmitter is left enabled when the user don\u0027t want it\nto.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9961920199ec88d6b581d3e38502088935925c04",
      "tree": "38a20b8d4441b4b2a6e033bc9e7a7e6863e72397",
      "parents": [
        "02589f60510030a3c1496e7a8c511e4f674ef5ff"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Sat Aug 02 15:10:58 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:56 2008 -0400"
      },
      "message": "rfkill: add default global states (v2)\n\nAdd a second set of global states, \"rfkill_default_states\", to track the\nstate that will be used when the first rfkill class of a given type is\nregistered, and also to save \"undo\" information when rfkill_epo is called.\n\nAdd a new exported function, rfkill_set_default(), which can be used by\nplatform drivers to restore radio state saved by the platform across\nreboots or shutdown.\n\nAlso, fix rfkill_epo to properly update rfkill_states, but still preserve a\ncopy of the state so that we can undo the effect of rfkill_epo later if we\nwant to.  Add rfkill_restore_states() to restore rfkill_states from the\ncopy.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "02589f60510030a3c1496e7a8c511e4f674ef5ff",
      "tree": "24650fdd0e2a0ad8145693164fa27e847379aacc",
      "parents": [
        "c94c93da90a9e46a73a5733ff8454fb4b14733fb"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Sat Aug 02 15:10:57 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:56 2008 -0400"
      },
      "message": "rfkill: detect bogus double-registering (v2)\n\nDetect and abort with -EEXIST if rfkill_register is called twice on the\nsame rfkill struct.  And WARN_ON(it) for good measure.\n\nWhile at it, flag when we are adding the first switch of a type, we will\nneed that information later.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c94c93da90a9e46a73a5733ff8454fb4b14733fb",
      "tree": "a2c504b9210cbedb3c0406a2a57f761817513b57",
      "parents": [
        "d9c6350431d0c8cac000c6a230d9a20dad52e26d"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Jul 28 23:01:34 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:56 2008 -0400"
      },
      "message": "wireless: replace __FUNCTION__ with __func__\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d9c6350431d0c8cac000c6a230d9a20dad52e26d",
      "tree": "83b666dfd34c5b0500dd743c126f4ea951ec4181",
      "parents": [
        "c305a19a0d0a47ac59a58865a4a63be65b1bf7c8"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Thu Aug 14 10:41:10 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:56 2008 -0400"
      },
      "message": "libertas_tf: config and makefile\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c305a19a0d0a47ac59a58865a4a63be65b1bf7c8",
      "tree": "aef2eb72b258547aab40b1ebbdd413fca5d451e2",
      "parents": [
        "691cdb49388b808bfbfacaea93afb5c2807db45e"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Thu Aug 14 10:41:06 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:56 2008 -0400"
      },
      "message": "libertas_tf: usb specific functions\n\nThe libertas thin firmware only supports usb devices, but the usb functions have\nbeen kept separate to ease future support for other devices.\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "691cdb49388b808bfbfacaea93afb5c2807db45e",
      "tree": "afde32b56dfd8a04556b1c7e8299ad37215fc197",
      "parents": [
        "06b16ae5319251c26377afcb401e46056d5673f4"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Thu Aug 14 10:41:01 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:55 2008 -0400"
      },
      "message": "libertas_tf: command helper functions for libertas_tf\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "06b16ae5319251c26377afcb401e46056d5673f4",
      "tree": "f0924cbdad4a46fe2e8f458840536bddb1d9ea93",
      "parents": [
        "7670e62c7ed6d1a70a98c3047898712be6aa9ff8"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Thu Aug 14 10:40:57 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:55 2008 -0400"
      },
      "message": "libertas_tf: main.c, data paths and mac80211 handlers\n\nThis patch contains most of the libertastf driver, just lacking command helper\nfunctions and usb specific functions. Currently, monitor, managed, ap and mesh\ninterfaces are supported. Even though this driver supports the same hardware as\nthe \"libertas\" driver, it uses a different (thin) firmware, that makes it\nsuitable for a mac80211 driver.\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7670e62c7ed6d1a70a98c3047898712be6aa9ff8",
      "tree": "6603b5053dea18171410d1cf34e677f2a8bf35a8",
      "parents": [
        "bdbe819540f3365249095692118dbfeee308140d"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Thu Aug 14 10:40:52 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:55 2008 -0400"
      },
      "message": "libertas_tf: header file\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bdbe819540f3365249095692118dbfeee308140d",
      "tree": "06aedcf13b0003860eedef03785db6977921a67d",
      "parents": [
        "4eb2ae9a42b77de48ee9fecfaccc66c640313188"
      ],
      "author": {
        "name": "Luis Carlos Cobo",
        "email": "luisca@cozybit.com",
        "time": "Thu Aug 14 10:40:48 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:55 2008 -0400"
      },
      "message": "mac80211: allow no mac address until firmware load\n\nOriginally by Johannes Berg. This patch adds support for devices that do not\nreport their MAC address until the firmware is loaded. While the address is not\nknown, a multicast on is used.\n\nSigned-off-by: Luis Carlos Cobo \u003cluisca@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4eb2ae9a42b77de48ee9fecfaccc66c640313188",
      "tree": "d47ce121cc6f6580d5caa5fc98bcee998439a91b",
      "parents": [
        "a4b7d7bda566acaa65fbf767f65a83b3a8dc74b9"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jul 15 18:44:15 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:55 2008 -0400"
      },
      "message": "mac80211: remove WLAN_FC_DATA_PRESENT\n\nAll users are gone now.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a4b7d7bda566acaa65fbf767f65a83b3a8dc74b9",
      "tree": "6789fc604c1f8f81a1ea4f87b6761e5d85bf1d7f",
      "parents": [
        "358c8d9d332230b14e130b78a6930996cdbf84c2"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jul 15 18:44:14 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:54 2008 -0400"
      },
      "message": "mac80211: remove rx/tx_data-\u003efc member\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "358c8d9d332230b14e130b78a6930996cdbf84c2",
      "tree": "0a563e201e4c5fff9564579877ff0e5f0dd58294",
      "parents": [
        "e7827a7031a931c74c48e4a53f73ed862f0c8da0"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jul 15 18:44:13 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:54 2008 -0400"
      },
      "message": "mac80211: use ieee80211 frame control directly\n\nRemove the last users of the rx/tx_data-\u003efc data members and use the\nle16 frame_control from the header directly.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e7827a7031a931c74c48e4a53f73ed862f0c8da0",
      "tree": "501131e8cb703585978432000b6f1fdb7d0d1658",
      "parents": [
        "6b644e524bbd4089a28e0711de4f1cf2daa5db50"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jul 15 18:44:13 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:54 2008 -0400"
      },
      "message": "mac80211: remove IEEE80211_FC helper\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6b644e524bbd4089a28e0711de4f1cf2daa5db50",
      "tree": "3c3993bc52c10aa0aa570dd60c3d5b78c56a80ae",
      "parents": [
        "b73d70ad8665fd3f35c855075b9a94de3e2b69e2"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jul 15 18:44:12 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:54 2008 -0400"
      },
      "message": "mac80211: remove ieee80211_get_hdrlen\n\nAll users have been moved over to the version taking a le16 frame control\nrather than a cpu-endian value.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b73d70ad8665fd3f35c855075b9a94de3e2b69e2",
      "tree": "bc07ccdf922eb7e5a1b3c49eb2f620000c6b3bdd",
      "parents": [
        "d298487260d01934a8df3a4a2a09513d84a8e69b"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jul 15 18:44:12 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:53 2008 -0400"
      },
      "message": "mac80211: rx.c/tx.c remove more users of tx/rx_data-\u003efc\n\nThose functions that still use ieee80211_get_hdrlen are moved over\nto use the little endian frame control.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d298487260d01934a8df3a4a2a09513d84a8e69b",
      "tree": "c9b93d045c20eded25369790aae04b9943753b95",
      "parents": [
        "c44d040e186e1af9d947f7bad886b7c1d35a22f6"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jul 15 18:44:10 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:53 2008 -0400"
      },
      "message": "mac80211: wep.c replace magic numbers in IV/ICV removal\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c44d040e186e1af9d947f7bad886b7c1d35a22f6",
      "tree": "bbc6a497ea72c5ebaebd486a3716cb6aae26eae1",
      "parents": [
        "62bf1d762e24006fa9b6c8d56a22cf47a2310af3"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jul 15 18:44:07 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:53 2008 -0400"
      },
      "message": "mac80211: wme.h remove unused QOS_CONTROL_LEN\n\nlinux/ieee80211.h now has IEEE80211_QOS_CTL_LEN for this purpose.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "62bf1d762e24006fa9b6c8d56a22cf47a2310af3",
      "tree": "a541e842ae0aff4040e030f320b8e6f03479a22f",
      "parents": [
        "798ee9850e9bf94b4436f9c7238823322e326885"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jul 15 18:44:05 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:53 2008 -0400"
      },
      "message": "mac80211: explicitly check skb-\u003elen\n\nieee80211_get_hdrlen_from_skb internally checks the skb is long enough to\nhold the full ieee80211_hdr, else it returns zero.  Use ieee80211_hdrlen\nwhich always returns the hdrlen and check the remaining room in the\nskb explicitly when removing encryption headers or the qos control field.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "798ee9850e9bf94b4436f9c7238823322e326885",
      "tree": "d4af4eb4ec0c75d21b8b353ba04029c2285a4fd6",
      "parents": [
        "7294ec955cb0c3eeefca2f4dd271c8068ab4edc5"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jul 15 18:44:02 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:53 2008 -0400"
      },
      "message": "ath5k: explicitly check skb-\u003elen\n\nieee80211_get_hdrlen_from_skb internally checks that the skb is long\nenough to hold the full header, or it returns 0 if not.  The check in\nath5k does not check this case and assumes it always got the actual\nheader length which it then checks against the skb-\u003elen plus some headroom.\n\nChange to ieee80211_hdrlen which always returns the hdrlen and keep the\nexisting headroom check.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7294ec955cb0c3eeefca2f4dd271c8068ab4edc5",
      "tree": "9a02b5dae2bccf45e44c43fac70cab095722fff8",
      "parents": [
        "ba5b6efe5d945f7a4c5b656051cc16698afdda24"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jul 15 18:43:59 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:51 2008 -0400"
      },
      "message": "iwlwifi: use le16 frame control directly, use QOS symbolic constant mask\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ba5b6efe5d945f7a4c5b656051cc16698afdda24",
      "tree": "59912fd776e116de54c8636ba0a5fe7fc6836107",
      "parents": [
        "ded2ae7c1fbff22516fd55ff0edcf6cd86f76186"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jul 15 18:43:56 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:51 2008 -0400"
      },
      "message": "b43legacy: use le16 frame control directly, avoid byteswapping\n\nAcked-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ded2ae7c1fbff22516fd55ff0edcf6cd86f76186",
      "tree": "2ac1cdb249b97830de6889db0486eb1a35045efd",
      "parents": [
        "39351fa343289070f6f30bd0652e10c8d97f0a3b"
      ],
      "author": {
        "name": "Esti Kummer",
        "email": "ester.kummer@intel.com",
        "time": "Mon Aug 04 16:00:45 2008 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:51 2008 -0400"
      },
      "message": "iwlwifi: add level for debugging host command\n\nThis patch adds another level for debugging host command. This adds an\noption to suppress the debug prints for sensitivity and link quality\ncommands.\n\nSigned-off-by: Esti Kummer \u003cester.kummer@intel.com\u003e\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "39351fa343289070f6f30bd0652e10c8d97f0a3b",
      "tree": "c5ccc4355b2fbd83cbcfe5c95b1b75e1745954a6",
      "parents": [
        "73ae98a1334c7ab7c4f01e8a1c0c773470979688"
      ],
      "author": {
        "name": "Tomas Winkler",
        "email": "tomas.winkler@intel.com",
        "time": "Mon Aug 04 16:00:41 2008 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:51 2008 -0400"
      },
      "message": "iwlwifi: kill struct iwl4965_lq_mngr\n\nThis patch removes struct iwl4965_lq_mngr it is not used.\n\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "73ae98a1334c7ab7c4f01e8a1c0c773470979688",
      "tree": "f641d556c22ef6f5712f9882b0e65a3835bc8d67",
      "parents": [
        "6f0a2c4dfc96d268233a6a882f3805975f91216c"
      ],
      "author": {
        "name": "roel kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Jul 21 20:29:52 2008 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:51 2008 -0400"
      },
      "message": "iwl-4965: test below 0 on unsigned num_tbs\n\nnum_tbs is unsigned so the test doesn\u0027t work.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6f0a2c4dfc96d268233a6a882f3805975f91216c",
      "tree": "fbc60eec2c3a2f91b06b605ebaaa659d7fd4621b",
      "parents": [
        "9deb1ae572364a37d054d916c5bae858f91a3f9a"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Jul 30 17:20:14 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:50 2008 -0400"
      },
      "message": "iwlwifi: use generic mac80211 radiotap headers\n\nremove drivers own implementation of radiotap in favor of the generic one\nprovided by mac80211.\n\nalso remove priv-\u003eadd_radiotap because it is not used any more.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9deb1ae572364a37d054d916c5bae858f91a3f9a",
      "tree": "5ec264a7d19694940ae1da97a7aaca32d6499418",
      "parents": [
        "b4f28bbb9bf0b2c829ecf97ce2173f204fde4f10"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Jul 30 17:20:06 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:50 2008 -0400"
      },
      "message": "mac80211: radiotap: assume modulation from rates\n\nuse the rates ERP flag to derive CCK or OFDM modulation for the radiotap\nheader.\n\n(it might be more correct to get this information from the hardware itself, but it\nseems safe to assume this in most practical cases.)\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b4f28bbb9bf0b2c829ecf97ce2173f204fde4f10",
      "tree": "1ae74cd00a46086f7e5f31d140bf75b8793507ef",
      "parents": [
        "63266a653589e1a237527479f10212ea77ce7844"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Jul 30 17:19:55 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:50 2008 -0400"
      },
      "message": "mac80211: add rx status flag for short preamble\n\nand use it for the radiotap header\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "63266a653589e1a237527479f10212ea77ce7844",
      "tree": "e2e9318a310d2cc8bec79168c6a3df1f673f27c7",
      "parents": [
        "92ab85354993ac3a364c65cab45745af470ffc67"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Jul 30 17:12:58 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:50 2008 -0400"
      },
      "message": "ath5k: rates cleanup\n\ncleanup the rates structures used by ath5k. instead of separate driver and\nmac80211 rate structures we now setup a static ieee80211_rate array and use it\ndirectly. no conversion between two different rate structures has to be done\nany more. a lot of unused and confusing junk was deleted.\n\nrenamed ath5k_getchannels into ath5k_setup_bands because this is what it does.\nrewrote it to copy the bitrates correctly for each band. this is necessary for\nrunning different hardware with the same driver (e.g. 5211 and 5212 based\ncards).\n\nadd special handling of rates for AR5211 chipsets: it uses different rate codes\nfor CCK rates (which are actually like the other chips but with a 0xF mask).\n\nsetup a hardware code to rate index reverse mapping table for getting the rate\nindex of received frames.\n\nthe rates for control frames which have to be set in\nath5k_hw_write_rate_duration are now in one single array.\n\ndrivers/net/wireless/ath5k/ath5k.h:     Changes-licensed-under: ISC\ndrivers/net/wireless/ath5k/base.c:      Changes-licensed-under: 3-Clause-BSD\ndrivers/net/wireless/ath5k/base.h:      Changes-licensed-under: 3-Clause-BSD\ndrivers/net/wireless/ath5k/hw.c:        Changes-licensed-under: ISC\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "92ab85354993ac3a364c65cab45745af470ffc67",
      "tree": "b36501661ee9093cb8e66919bbebbca4374c36d6",
      "parents": [
        "5442060c08a49bd0b416f033e0ae43ccedef5278"
      ],
      "author": {
        "name": "Tomas Winkler",
        "email": "tomas.winkler@intel.com",
        "time": "Thu Jul 24 21:02:04 2008 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:50 2008 -0400"
      },
      "message": "mac80211: add ieee80211_queue_stopped)\n\nThis patch adds ieee80211_queue_stopped that let drivers to query\nqueue status\n\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5442060c08a49bd0b416f033e0ae43ccedef5278",
      "tree": "713e0f37e10fc55eb4f1f61fb3450d62354413fe",
      "parents": [
        "d7dc100374df0c21afd8a198336ecd7999697159"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Thu Jul 24 12:20:09 2008 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:50 2008 -0400"
      },
      "message": "WIRELESS: Make wireless one-click selectable.\n\nUse \"menuconfig\" to make wireless support one-click selectable.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d7dc100374df0c21afd8a198336ecd7999697159",
      "tree": "fadb0ec2eccbd8c9c21d6f29af8fa10747ee56b8",
      "parents": [
        "b9740c2396851178b99c03c2260a0adfe7f52e36"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Jul 23 13:17:35 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:49 2008 -0400"
      },
      "message": "Ath5k: unify resets\n\nThere were 3 code copy and pastes of reset. Unify the resets and place\nin separate function.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Nick Kossifidis \u003cmickflemm@gmail.com\u003e\nCc: Luis R. Rodriguez \u003cmcgrof@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b9740c2396851178b99c03c2260a0adfe7f52e36",
      "tree": "98298f26d0de663a2f1c076104305c8ddf22c9f0",
      "parents": [
        "8e5f3d0aaa3ae5305613553f869727b0361cd472"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "wagi@monom.org",
        "time": "Wed Jul 23 19:17:01 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:49 2008 -0400"
      },
      "message": "rt2x00mac: In error case stop netdev queue, free skb and return NETDEV_TX_OK\n\nIt is not allowed to use NETDEV_TX_BUSY in tx path anymore.\n\nSigned-off-by: Daniel Wagner \u003cwagi@monom.org\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8e5f3d0aaa3ae5305613553f869727b0361cd472",
      "tree": "b13d1e9d08cbbea93066bdc2be7d4f7dbb6eff02",
      "parents": [
        "d92a8e81e097968d8f2bac0581a0a43bff14b8f0"
      ],
      "author": {
        "name": "Andrey Yurovsky",
        "email": "andrey@cozybit.com",
        "time": "Thu Jul 17 13:12:24 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:49 2008 -0400"
      },
      "message": "ath5k: add Mesh Point support\n\nThis enables draft-802.11s Mesh Point operation.  For that we need mesh\nbeaconing.  Tested with AR5212/AR5213 PCI card against Zydas and b43 mesh\nnodes.\n\nSigned-off-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d92a8e81e097968d8f2bac0581a0a43bff14b8f0",
      "tree": "2b4000f9b42c846da173b154e85823818fd05927",
      "parents": [
        "1ff41eb0d9a937957d481d4f058a91230851ae17"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed Jul 16 16:34:54 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:49 2008 -0400"
      },
      "message": "net/ieee80211: adjust error handling\n\nConverts a test in error handling code to a sequence of labels.\n\nThe semantic match that found the problem is:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@@\nexpression E,E1,E2;\n@@\n\nE \u003d alloc_etherdev(...)\n... when !\u003d E \u003d E1\nif (...) { ... free_netdev(E); ... return ...; }\n... when !\u003d E \u003d E2\n(\n  if (...)\n   {\n   ... when !\u003d free_netdev(E);\n   return dev; }\n|\n* if (...)\n   {\n   ... when !\u003d free_netdev(E);\n   return ...; }\n|\nregister_netdev(E)\n)\n\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1ff41eb0d9a937957d481d4f058a91230851ae17",
      "tree": "0e2fc14f0e61e009cdf787beb1dda8ef0a18bbda",
      "parents": [
        "1556c0f22df77800d2e99342ce354a4ce94c5a0f"
      ],
      "author": {
        "name": "Brian Cavagnolo",
        "email": "brian@cozybit.com",
        "time": "Mon Jul 21 11:03:16 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:49 2008 -0400"
      },
      "message": "libertas: add sysfs hooks to update boot2 and persistent firmware\n\nTo use these features, copy the boot2 and firmware images to /lib/firmware and:\n\necho \u003cboot2_image_name\u003e \u003e /sys/class/net/ethX/lbs_flash_boot2\necho \u003cfirmware_image_name\u003e \u003e /sys/class/net/ethX/lbs_flash_fw\n\nSigned-off-by: Brian Cavagnolo \u003cbrian@cozybit.com\u003e\nAcked-by: Dan Williams \u003cdcbw@redhat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1556c0f22df77800d2e99342ce354a4ce94c5a0f",
      "tree": "76c8af4251f78f1afc4504135c9d355ca15d4127",
      "parents": [
        "38e3b0d86eaa0bf90a74677b6d6c442ec66daa0c"
      ],
      "author": {
        "name": "Brian Cavagnolo",
        "email": "brian@cozybit.com",
        "time": "Mon Jul 21 11:02:46 2008 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:49 2008 -0400"
      },
      "message": "libertas: support boot commands to write persistent firmware and bootloader\n\nAdd locking and non-locking versions of if_usb_prog_firmware to support\nprogramming firmware after and before driver bring-up respectively.  Add more\nsuitable error codes for firmware programming process.  Add capability checks\nfor persistent features before attempting to use them.\n\nBased on patches from Brajesh Dave and Priyank Singh.\n\nSigned-off-by: Brian Cavagnolo \u003cbrian@cozybit.com\u003e\nAcked-by: Dan Williams \u003cdcbw@redhat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "38e3b0d86eaa0bf90a74677b6d6c442ec66daa0c",
      "tree": "18a2f650588fd5e58633d7c19ed288d9167425aa",
      "parents": [
        "2540e0511ea17e25831be543cdf9381e6209950d"
      ],
      "author": {
        "name": "Herton Ronaldo Krzesinski",
        "email": "herton@mandriva.com.br",
        "time": "Wed Jul 16 11:44:18 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:48 2008 -0400"
      },
      "message": "rtl818x: merge tx/rx descriptor flags\n\nTx/Rx descriptor flags are common between rtl818x devices, only with\nadditions for newer chips, thus use same flags in the code.\n\nSigned-off-by: Herton Ronaldo Krzesinski \u003cherton@mandriva.com.br\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2540e0511ea17e25831be543cdf9381e6209950d",
      "tree": "31c505b9957d82125cd7e779d83da0d389f9d336",
      "parents": [
        "5e739d1752aca4e8f3e794d431503bfca3162df4"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Thu Aug 21 05:11:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 21 05:11:14 2008 -0700"
      },
      "message": "pkt_sched: Fix qdisc_watchdog() vs. dev_deactivate() race\n\ndev_deactivate() can skip rescheduling of a qdisc by qdisc_watchdog()\nor other timer calling netif_schedule() after dev_queue_deactivate().\nWe prevent this checking aliveness before scheduling the timer. Since\nduring deactivation the root qdisc is available only as qdisc_sleeping\nadditional accessor qdisc_root_sleeping() is created.\n\nWith feedback from Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e739d1752aca4e8f3e794d431503bfca3162df4",
      "tree": "c5bdef49d12fbd4bb0eae6fca102607346390cb5",
      "parents": [
        "6a55617ed5d1aa62b850de2cf66f5ede2eef4825"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Thu Aug 21 03:34:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 21 03:34:25 2008 -0700"
      },
      "message": "sctp: fix potential panics in the SCTP-AUTH API.\n\nAll of the SCTP-AUTH socket options could cause a panic\nif the extension is disabled and the API is envoked.\n\nAdditionally, there were some additional assumptions that\ncertain pointers would always be valid which may not\nalways be the case.\n\nThis patch hardens the API and address all of the crash\nscenarios.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a55617ed5d1aa62b850de2cf66f5ede2eef4825",
      "tree": "ee6cc389293bebffaf4552b9f34c20f4b2bd7967",
      "parents": [
        "82d63fc9e30687c055b97928942b8893ea65b0bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 19:35:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 19:35:56 2008 -0700"
      },
      "message": "Linux v2.6.27-rc4\n"
    },
    {
      "commit": "82d63fc9e30687c055b97928942b8893ea65b0bb",
      "tree": "c767b9a7a41893c434e85532f3e02515433076f1",
      "parents": [
        "d847471d063663b9f36927d265c66a270c0cfaab"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Wed Aug 20 14:09:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:32 2008 -0700"
      },
      "message": "cramfs: fix named-pipe handling\n\nAfter commit a97c9bf33f4612e2aed6f000f6b1d268b6814f3c (fix cramfs\nmaking duplicate entries in inode cache) in kernel 2.6.14, named-pipe\non cramfs does not work properly.\n\nIt seems the commit make all named-pipe on cramfs share their inode\n(and named-pipe buffer).\n\nMake ..._test() refuse to merge inodes with -\u003ei_ino \u003d\u003d 1, take inode setup\nback to get_cramfs_inode() and make -\u003edrop_inode() evict ones with -\u003ei_ino\n\u003d\u003d 1 immediately.\n\nReported-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.14 and later]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d847471d063663b9f36927d265c66a270c0cfaab",
      "tree": "c58124be633945a548a1a16c1191ccfeb9ef3ea5",
      "parents": [
        "b42f931737bea8ca3982449d63ec46410d13e891"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ijc@hellion.org.uk",
        "time": "Wed Aug 20 14:09:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:32 2008 -0700"
      },
      "message": "fbdefio: add set_page_dirty handler to deferred IO FB\n\nFixes kernel BUG at lib/radix-tree.c:473.\n\nPreviously the handler was incidentally provided by tmpfs but this was\nremoved with:\n\n  commit 14fcc23fdc78e9d32372553ccf21758a9bd56fa1\n  Author: Hugh Dickins \u003chugh@veritas.com\u003e\n  Date:   Mon Jul 28 15:46:19 2008 -0700\n\n    tmpfs: fix kernel BUG in shmem_delete_inode\n\nrelying on this behaviour was incorrect in any case and the BUG also\nappeared when the device node was on an ext3 filesystem.\n\nv2: override a_ops at open() time rather than mmap() time to minimise\nraces per AKPM\u0027s concerns.\n\nSigned-off-by: Ian Campbell \u003cijc@hellion.org.uk\u003e\nCc: Jaya Kumar \u003cjayakumar.lkml@gmail.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Kel Modderman \u003ckel@otaku42.de\u003e\nCc: Markus Armbruster \u003carmbru@redhat.com\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nCc: \u003cstable@kernel.org\u003e [14fcc23fd is in 2.6.25.14 and 2.6.26.1]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b42f931737bea8ca3982449d63ec46410d13e891",
      "tree": "e14f8a0b2ad65049aad10e79d1305ff33be74672",
      "parents": [
        "14bac5acfdb6a40be64acc042c6db73f1a68f6a4"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Wed Aug 20 14:09:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:32 2008 -0700"
      },
      "message": "rtc: rtc-ds1374: fix \u0027no irq\u0027 case handling\n\nOn a PowerPC board with ds1374 RTC I\u0027m getting this error while RTC tries\nto probe:\n\nrtc-ds1374 0-0068: unable to request IRQ\n\nThis happens because I2C probing code (drivers/of/of_i2c.c) is specifying\nIRQ0 for \u0027no irq\u0027 case, which is correct.\n\nThe driver handles this incorrectly, though. This patch fixes it.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nAcked-by: Peter Korsgaard \u003cjacmet@sunsite.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14bac5acfdb6a40be64acc042c6db73f1a68f6a4",
      "tree": "5148a0440674ef618a5af4e1b549794db9f783c1",
      "parents": [
        "538f8ea6c85232d00bfa5edd9ba85f16c01057c9"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Aug 20 14:09:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:32 2008 -0700"
      },
      "message": "mm: xip/ext2 fix block allocation race\n\nXIP can call into get_xip_mem concurrently with the same file,offset with\ncreate\u003d1.  This usually maps down to get_block, which expects the page\nlock to prevent such a situation.  This causes ext2 to explode for one\nreason or another.\n\nSerialise those calls for the moment.  For common usages today, I suspect\nget_xip_mem rarely is called to create new blocks.  In future as XIP\ntechnologies evolve we might need to look at which operations require\nscalability, and rework the locking to suit.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nAcked-by: Carsten Otte \u003ccotte@freenet.de\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "538f8ea6c85232d00bfa5edd9ba85f16c01057c9",
      "tree": "c1a4a49c0c7f16b4fe8ec560137084bf556efc50",
      "parents": [
        "479db0bf408e65baa14d2a9821abfcbc0804b847"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Aug 20 14:09:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:32 2008 -0700"
      },
      "message": "mm: xip fix fault vs sparse page invalidate race\n\nXIP has a race between sparse pages being inserted into page tables, and\nsparse pages being zapped when its time to put a non-sparse page in.\n\nWhat can happen is that a process can be left with a dangling sparse page\nin a MAP_SHARED mapping, while the rest of the world sees the non-sparse\nversion.  Ie.  data corruption.\n\nGuard these operations with a seqlock, making fault-in-sparse-pages the\nslowpath, and try-to-unmap-sparse-pages the fastpath.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nAcked-by: Carsten Otte \u003ccotte@freenet.de\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "479db0bf408e65baa14d2a9821abfcbc0804b847",
      "tree": "acdaaed567afefa36ac2fe27cfe22cfefeb50cd5",
      "parents": [
        "2d70b68d42b5196a48ccb639e3797f097ef5bea3"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Aug 20 14:09:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:32 2008 -0700"
      },
      "message": "mm: dirty page tracking race fix\n\nThere is a race with dirty page accounting where a page may not properly\nbe accounted for.\n\nclear_page_dirty_for_io() calls page_mkclean; then TestClearPageDirty.\n\npage_mkclean walks the rmaps for that page, and for each one it cleans and\nwrite protects the pte if it was dirty.  It uses page_check_address to\nfind the pte.  That function has a shortcut to avoid the ptl if the pte is\nnot present.  Unfortunately, the pte can be switched to not-present then\nback to present by other code while holding the page table lock -- this\nshould not be a signal for page_mkclean to ignore that pte, because it may\nbe dirty.\n\nFor example, powerpc64\u0027s set_pte_at will clear a previously present pte\nbefore setting it to the desired value.  There may also be other code in\ncore mm or in arch which do similar things.\n\nThe consequence of the bug is loss of data integrity due to msync, and\nloss of dirty page accounting accuracy.  XIP\u0027s __xip_unmap could easily\nalso be unreliable (depending on the exact XIP locking scheme), which can\nlead to data corruption.\n\nFix this by having an option to always take ptl to check the pte in\npage_check_address.\n\nIt\u0027s possible to retain this optimization for page_referenced and\ntry_to_unmap.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nCc: Carsten Otte \u003ccotte@freenet.de\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d70b68d42b5196a48ccb639e3797f097ef5bea3",
      "tree": "b3040706cd69e0e7bc6d846e08fd91a441b34310",
      "parents": [
        "141d87e7debe3334018e46859c7565c44cebda65"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Wed Aug 20 14:09:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:32 2008 -0700"
      },
      "message": "fix setpriority(PRIO_PGRP) thread iterator breakage\n\nWhen user calls sys_setpriority(PRIO_PGRP ...) on a NPTL style multi-LWP\nprocess, only the task leader of the process is affected, all other\nsibling LWP threads didn\u0027t receive the setting.  The problem was that the\niterator used in sys_setpriority() only iteartes over one task for each\nprocess, ignoring all other sibling thread.\n\nIntroduce a new macro do_each_pid_thread / while_each_pid_thread to walk\neach thread of a process.  Convert 4 call sites in {set/get}priority and\nioprio_{set/get}.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "141d87e7debe3334018e46859c7565c44cebda65",
      "tree": "6dc54cd1847b7025b02dfe7549574c9f9857624d",
      "parents": [
        "481ebd0d76b501c5772f702ae31e55350c0858a3"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Wed Aug 20 14:09:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:31 2008 -0700"
      },
      "message": "Video/Framebuffer: add fuctional power management support to Blackfin BF54x LQ043 framebuffer driver\n\nFix bug: does nor properply resume after suspend mem\nFix for PM_SUSPEND_MEM: Save and restore peripheral base and DMA registers\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nAcked-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "481ebd0d76b501c5772f702ae31e55350c0858a3",
      "tree": "37f13727a66bf2cb10e4d8be7a608edf9cd5009e",
      "parents": [
        "a09f48551273ee89d4e9ae37474807dc2da1d757"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Aug 20 14:09:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:31 2008 -0700"
      },
      "message": "bootmem: fix aligning of node-relative indexes and offsets\n\nAbsolute alignment requirements may never be applied to node-relative\noffsets.  Andreas Herrmann spotted this flaw when a bootmem allocation on\nan unaligned node was itself not aligned because the combination of an\nunaligned node with an aligned offset into that node is not garuanteed to\nbe aligned itself.\n\nThis patch introduces two helper functions that align a node-relative\nindex or offset with respect to the node\u0027s starting address so that the\nabsolute PFN or virtual address that results from combining the two\nsatisfies the requested alignment.\n\nThen all the broken ALIGN()s in alloc_bootmem_core() are replaced by these\nhelpers.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nReported-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nDebugged-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nReviewed-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nTested-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a09f48551273ee89d4e9ae37474807dc2da1d757",
      "tree": "0d0e64ed51a40405b04926c66972c52afc723953",
      "parents": [
        "27aa069a8850a36b8aef0160e73cfd928c6bbcc4"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Aug 20 14:09:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:31 2008 -0700"
      },
      "message": "drivers/char/ipmi/ipmi_si_intf.c:default_find_bmc(): fix leak\n\nIf check_legacy_ioport() returns true, we leak *info.\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d11362\n\nReported-by: Daniel Marjamki \u003cdanielm77@spray.se\u003e\nCc: Christian Krafft \u003ckrafft@de.ibm.com\u003e\nCc: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "27aa069a8850a36b8aef0160e73cfd928c6bbcc4",
      "tree": "0663a25804fb14507713a43c338595e0e5ab94a2",
      "parents": [
        "1d96469a34781340b2cc9bdf97d5913eecdaa038"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Wed Aug 20 14:09:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:31 2008 -0700"
      },
      "message": "pm2fb: free cmap memory on module remove\n\nRelease cmap memory allocated in the probe function.\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d96469a34781340b2cc9bdf97d5913eecdaa038",
      "tree": "a1ffd32c3119714a1a4e242417f9b3f8e9388930",
      "parents": [
        "ff9bc512f198eb47204f55b24c6fe3d36ed89592"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Wed Aug 20 14:09:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:31 2008 -0700"
      },
      "message": "rtc: fix double lock on UIE emulation\n\nWith commit 5ad31a575157147b43fa84ef1e21471661653878 (\"rtc: remove BKL\nfor ioctl()\"), RTC_UIE_ON ioctl cause double lock on rtc-\u003eops_lock.\nThe ops_lock must not be held while set_uie() calls rtc_read_time()\nwhich takes the lock.  Also clear_uie() does not need ops_lock.  This\npatch fixes return value of RTC_UIE_OFF ioctl too.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff9bc512f198eb47204f55b24c6fe3d36ed89592",
      "tree": "e55d1639a5a3f8c0ef1827fae4ff8529d4ffef04",
      "parents": [
        "c82f2966015a2c9708fb8f20694ef7ba8567d2e1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Aug 20 14:09:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:31 2008 -0700"
      },
      "message": "binfmt_misc: fix false -ENOEXEC when coupled with other binary handlers\n\nIn case the binfmt_misc binary handler is registered *before* the e.g.\nscript one (when for example being compiled as a module) the following\nsituation may occur:\n\n1. user launches a script, whose interpreter is a misc binary;\n2. the load_misc_binary sets the misc_bang and returns -ENOEVEC,\n   since the binary is a script;\n3. the load_script_binary loads one and calls for search_binary_hander\n   to run the interpreter;\n4. the load_misc_binary is called again, but refuses to load the\n   binary due to misc_bang bit set.\n\nThe fix is to move the misc_bang setting lower - prior to the actual\ncall to the search_binary_handler.\n\nCaused by the commit 3a2e7f47 (binfmt_misc.c: avoid potential kernel\nstack overflow)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReported-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nTested-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.26.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c82f2966015a2c9708fb8f20694ef7ba8567d2e1",
      "tree": "3b0234770d69a0bdbe7dfbc34ae3e5aa8f274621",
      "parents": [
        "f3944d61ddc65722539ffd7b6f5b7c7217c136cc"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Aug 20 14:09:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:30 2008 -0700"
      },
      "message": "brd: fix name argument of unregister_blkdev()\n\nThe name of brd block device is \"ramdisk\", it\u0027s not \"brd\".\n(The block device is registered by register_blkdev(RAMDISK_MAJOR, \"ramdisk\")\nSo it should be unregistered by unregister_blkdev(RAMDISK_MAJOR, \"ramdisk\")\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f3944d61ddc65722539ffd7b6f5b7c7217c136cc",
      "tree": "dd48fb10e38df546535b1b3aa576aec79937e4ac",
      "parents": [
        "759f9a2df78d2156a2675edc7999fb4c919a3159"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Wed Aug 20 14:09:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:30 2008 -0700"
      },
      "message": "nbd: fix memory leak of nbd_dev array\n\nWe leak the memory allocated for the nbd_dev array at multiple places.\nFix them by either adding a kfree() or by rearranging code to return\nbefore we allocate the memory.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "759f9a2df78d2156a2675edc7999fb4c919a3159"
}
