)]}'
{
  "log": [
    {
      "commit": "2950f21acb0f6b8fcd964485c2ebf1e06545ac20",
      "tree": "a38b8c5a78849b9c88df24abe51d4e9c3a35424a",
      "parents": [
        "f29972de8e7476706ab3c01304a505e7c95d9040"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Feb 12 14:02:50 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:43 2009 +0100"
      },
      "message": "Bluetooth: Ask upper layers for HCI disconnect reason\n\nSome of the qualification tests demand that in case of failures in L2CAP\nthe HCI disconnect should indicate a reason why L2CAP fails. This is a\nbluntly layer violation since multiple L2CAP connections could be using\nthe same ACL and thus forcing a disconnect reason is not a good idea.\n\nTo comply with the Bluetooth test specification, the disconnect reason\nis now stored in the L2CAP connection structure and every time a new\nL2CAP channel is added it will set back to its default. So only in the\ncase where the L2CAP channel with the disconnect reason is really the\nlast one, it will propagated to the HCI layer.\n\nThe HCI layer has been extended with a disconnect indication that allows\nit to ask upper layers for a disconnect reason. The upper layer must not\nsupport this callback and in that case it will nicely default to the\nexisting behavior. If an upper layer like L2CAP can provide a disconnect\nreason that one will be used to disconnect the ACL or SCO link.\n\nNo modification to the ACL disconnect timeout have been made. So in case\nof Linux to Linux connection the initiator will disconnect the ACL link\nbefore the acceptor side can signal the specific disconnect reason. That\nis perfectly fine since Linux doesn\u0027t make use of this value anyway. The\nL2CAP layer has a perfect valid error code for rejecting connection due\nto a security violation. It is unclear why the Bluetooth specification\ninsists on having specific HCI disconnect reason.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "f29972de8e7476706ab3c01304a505e7c95d9040",
      "tree": "966729f6b80d0e149b0ece4367d27f52306cc8cb",
      "parents": [
        "e1027a7c69700301d14db03d2e049ee60c4f92df"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Feb 12 05:07:45 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:42 2009 +0100"
      },
      "message": "Bluetooth: Add CID field to L2CAP socket address structure\n\nIn preparation for L2CAP fixed channel support, the CID value of a\nL2CAP connection needs to be accessible via the socket interface. The\nCID is the connection identifier and exists as source and destination\nvalue. So extend the L2CAP socket address structure with this field and\nchange getsockname() and getpeername() to fill it in.\n\nThe bind() and connect() functions have been modified to handle L2CAP\nsocket address structures of variable sizes. This makes them future\nproof if additional fields need to be added.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "e1027a7c69700301d14db03d2e049ee60c4f92df",
      "tree": "d2dc9bc993deec30c8e9a797592458286e89e31b",
      "parents": [
        "435fef20acfc48f46476abad55b0cd3aa47b8365"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Feb 09 09:18:02 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:42 2009 +0100"
      },
      "message": "Bluetooth: Request L2CAP fixed channel list if available\n\nIf the extended features mask indicates support for fixed channels,\nrequest the list of available fixed channels. This also enables the\nfixed channel features bit so remote implementations can request\ninformation about it. Currently only the signal channel will be\nlisted.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "435fef20acfc48f46476abad55b0cd3aa47b8365",
      "tree": "8871de70ce8fedb293683b73d56d09582318ced0",
      "parents": [
        "6a8d3010b313d99adbb28f1826fac0234395bb26"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Feb 09 03:55:28 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:41 2009 +0100"
      },
      "message": "Bluetooth: Don\u0027t enforce authentication for L2CAP PSM 1 and 3\n\nThe recommendation for the L2CAP PSM 1 (SDP) is to not use any kind\nof authentication or encryption. So don\u0027t trigger authentication\nfor incoming and outgoing SDP connections.\n\nFor L2CAP PSM 3 (RFCOMM) there is no clear requirement, but with\nBluetooth 2.1 the initiator is required to enable authentication\nand encryption first and this gets enforced. So there is no need\nto trigger an additional authentication step. The RFCOMM service\nsecurity will make sure that a secure enough link key is present.\n\nWhen the encryption gets enabled after the SDP connection setup,\nthen switch the security level from SDP to low security.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6a8d3010b313d99adbb28f1826fac0234395bb26",
      "tree": "e116cd7033e05e0e59b225484991e2a27188fc3e",
      "parents": [
        "984947dc64f82bc6cafa4d84ba1a139718f634a8"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 06 23:56:36 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:41 2009 +0100"
      },
      "message": "Bluetooth: Fix double L2CAP connection request\n\nIf the remote L2CAP server uses authentication pending stage and\nencryption is enabled it can happen that a L2CAP connection request is\nsent twice due to a race condition in the connection state machine.\n\nWhen the remote side indicates any kind of connection pending, then\ntrack this state and skip sending of L2CAP commands for this period.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "984947dc64f82bc6cafa4d84ba1a139718f634a8",
      "tree": "f85e4b260034f5b5a20af7a63900ee7de06fa7ad",
      "parents": [
        "657e17b03c80bec817975984d221bef716f83558"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 06 23:35:19 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:41 2009 +0100"
      },
      "message": "Bluetooth: Fix race condition with L2CAP information request\n\nWhen two L2CAP connections are requested quickly after the ACL link has\nbeen established there exists a window for a race condition where a\nconnection request is sent before the information response has been\nreceived. Any connection request should only be sent after an exchange\nof the extended features mask has been finished.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0684e5f9fb9e3f7e168ab831dfca693bcb44805b",
      "tree": "1fb1315dff64ef2ebaa24729988b2c3b7c77d578",
      "parents": [
        "efc7688b557dd1be10eead7399b315efcb1dbc74"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Feb 09 02:48:38 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:40 2009 +0100"
      },
      "message": "Bluetooth: Use general bonding whenever possible\n\nWhen receiving incoming connection to specific services, always use\ngeneral bonding. This ensures that the link key gets stored and can be\nused for further authentications.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "efc7688b557dd1be10eead7399b315efcb1dbc74",
      "tree": "f51d32d047bbf27a106db679292c10a81b339836",
      "parents": [
        "255c76014af74165428e7aa16414b857e2bdccf2"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 06 09:13:37 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:37 2009 +0100"
      },
      "message": "Bluetooth: Add SCO fallback for eSCO connection attempts\n\nWhen attempting to setup eSCO connections it can happen that some link\nmanager implementations fail to properly negotiate the eSCO parameters\nand thus fail the eSCO setup. Normally the link manager is responsible\nfor the negotiation of the parameters and actually fallback to SCO if\nno agreement can be reached. In cases where the link manager is just too\nstupid, then at least try to establish a SCO link if eSCO fails.\n\nFor the Bluetooth devices with EDR support this includes handling packet\ntypes of EDR basebands. This is particular tricky since for the EDR the\nlogic of enabling/disabling one specific packet type is turned around.\nThis fix contains an extra bitmask to disable eSCO EDR packet when\ntrying to fallback to a SCO connection.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8c84b83076b5062f59b6167cdda90d9e5124aa71",
      "tree": "7a47b0b80be4222494b272846ad5233f0d04c6e6",
      "parents": [
        "9f2c8a03fbb3048cf38b158f87aa0c3c09bca084"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Jan 16 08:17:51 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:33 2009 +0100"
      },
      "message": "Bluetooth: Pause RFCOMM TX when encryption drops\n\nA role switch with devices following the Bluetooth pre-2.1 standards\nor without Encryption Pause and Resume support is not possible if\nencryption is enabled. Most newer headsets require the role switch,\nbut also require that the connection is encrypted.\n\nFor connections with a high security mode setting, the link will be\nimmediately dropped. When the connection uses medium security mode\nsetting, then a grace period is introduced where the TX is halted and\nthe remote device gets a change to re-enable encryption after the\nrole switch. If not re-enabled the link will be dropped.\n\nBased on initial work by Ville Tervo \u003cville.tervo@nokia.com\u003e\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9f2c8a03fbb3048cf38b158f87aa0c3c09bca084",
      "tree": "b8e81e5a8e3f0b8b8a15c06f1cf36e8aa02644e2",
      "parents": [
        "2af6b9d518ddfbc4d6990d5f9c9b1a05341c1cef"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jan 15 21:58:40 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:26 2009 +0100"
      },
      "message": "Bluetooth: Replace RFCOMM link mode with security level\n\nChange the RFCOMM internals to use the new security levels and remove\nthe link mode details.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "2af6b9d518ddfbc4d6990d5f9c9b1a05341c1cef",
      "tree": "62b6f679495026ccf64c1b71d48cede452689b73",
      "parents": [
        "8c1b235594fbab9a13240a1dac12ea9fd99b6440"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jan 15 21:58:38 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:26 2009 +0100"
      },
      "message": "Bluetooth: Replace L2CAP link mode with security level\n\nChange the L2CAP internals to use the new security levels and remove\nthe link mode details.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8c1b235594fbab9a13240a1dac12ea9fd99b6440",
      "tree": "eb137a23e0fd8199144a4c3e36902af411e44269",
      "parents": [
        "c89b6e6bda4c8021195778f47567d0cc9dbfe7ec"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jan 15 21:58:04 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:25 2009 +0100"
      },
      "message": "Bluetooth: Add enhanced security model for Simple Pairing\n\nThe current security model is based around the flags AUTH, ENCRYPT and\nSECURE. Starting with support for the Bluetooth 2.1 specification this is\nno longer sufficient. The different security levels are now defined as\nSDP, LOW, MEDIUM and SECURE.\n\nPreviously it was possible to set each security independently, but this\nactually doesn\u0027t make a lot of sense. For Bluetooth the encryption depends\non a previous successful authentication. Also you can only update your\nexisting link key if you successfully created at least one before. And of\ncourse the update of link keys without having proper encryption in place\nis a security issue.\n\nThe new security levels from the Bluetooth 2.1 specification are now\nused internally. All old settings are mapped to the new values and this\nway it ensures that old applications still work. The only limitation\nis that it is no longer possible to set authentication without also\nenabling encryption. No application should have done this anyway since\nthis is actually a security issue. Without encryption the integrity of\nthe authentication can\u0027t be guaranteed.\n\nAs default for a new L2CAP or RFCOMM connection, the LOW security level\nis used. The only exception here are the service discovery sessions on\nPSM 1 where SDP level is used. To have similar security strength as with\na Bluetooth 2.0 and before combination key, the MEDIUM level should be\nused. This is according to the Bluetooth specification. The MEDIUM level\nwill not require any kind of man-in-the-middle (MITM) protection. Only\nthe HIGH security level will require this.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "bb23c0ab824653be4aa7dfca15b07b3059717004",
      "tree": "bd0390c67d129e8b5ddc2a70a1b12e383db6fa16",
      "parents": [
        "c4f912e155504e94dd4f3d63c378dab0ff03dbda"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jan 15 21:56:48 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:23 2009 +0100"
      },
      "message": "Bluetooth: Add support for deferring RFCOMM connection setup\n\nIn order to decide if listening RFCOMM sockets should be accept()ed\nthe BD_ADDR of the remote device needs to be known. This patch adds\na socket option which defines a timeout for deferring the actual\nconnection setup.\n\nThe connection setup is done after reading from the socket for the\nfirst time. Until then writing to the socket returns ENOTCONN.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "c4f912e155504e94dd4f3d63c378dab0ff03dbda",
      "tree": "db544bdd0dfc8ca890193a29b161b551f20f543c",
      "parents": [
        "d58daf42d29a3a4a4d4be46cf47ceee096789680"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Jan 15 21:52:16 2009 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Feb 27 06:14:23 2009 +0100"
      },
      "message": "Bluetooth: Add global deferred socket parameter\n\nThe L2CAP and RFCOMM applications require support for authorization\nand the ability of rejecting incoming connection requests. The socket\ninterface is not really able to support this.\n\nThis patch does the ground work for a socket option to defer connection\nsetup. Setting this option allows calling of accept() and then the\nfirst read() will trigger the final connection setup. Calling close()\nwould reject the connection.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "f11c179eea77b8afc2fb7cb4b9a8815b85e3c16f",
      "tree": "9edf1e86fbb91815f31d7728820d098041f03bb9",
      "parents": [
        "4545a3f2765bb7d2d93468a8ffa578ac87a2c5c7",
        "0c9a3aaaf30e1d1994de58c554ef97a719e20892"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 25 00:02:05 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 25 00:02:05 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/orinoco/orinoco.c\n"
    },
    {
      "commit": "e70049b9e74267dd47e1ffa62302073487afcb48",
      "tree": "2cd000c0751ef31c9044b020d63f278cdf4f332d",
      "parents": [
        "d18921a0e319ab512f8186b1b1142c7b8634c779",
        "f7e603ad8f78cd3b59e33fa72707da0cbabdf699"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 24 03:50:29 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 24 03:50:29 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "ce16c5337ab0d165f95c88aa857207efd7c01139",
      "tree": "23f62e2361b43ac56eabe4f9f2e1ea11013fa740",
      "parents": [
        "6a1b3054d9fd98001a6631501caf1969138ee00d"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Sun Feb 22 00:11:09 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 22 19:54:50 2009 -0800"
      },
      "message": "netns: Remove net_alive\n\nIt turns out that net_alive is unnecessary, and the original problem\nthat led to it being added was simply that the icmp code thought\nit was a network device and wound up being unable to handle packets\nwhile there were still packets in the network namespace.\n\nNow that icmp and tcp have been fixed to properly register themselves\nthis problem is no longer present and we have a stronger guarantee\nthat packets will not arrive in a network namespace then that provided\nby net_alive in netif_receive_skb.  So remove net_alive allowing\npacket reception run a little faster.\n\nAdditionally document the strong reason why network namespace cleanup\nis safe so that if something happens again someone else will have\na chance of figuring it out.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5962fc6d5fff09c8e6fb8cadcb18327a0f4277f7",
      "tree": "2cc5e20956687640229913c60b043db147321772",
      "parents": [
        "2c6764b743f9d25dd0806a417f06920dcbd0f599"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Feb 18 15:30:34 2009 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Feb 18 15:30:34 2009 +0100"
      },
      "message": "netfilter: nf_conntrack: don\u0027t try to deliver events for untracked connections\n\nThe untracked conntrack actually does usually have events marked for\ndelivery as its not special-cased in that part of the code. Skip the\nactual delivery since it impacts performance noticeably.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "92a0acce186cde8ead56c6915d9479773673ea1a",
      "tree": "97b7663f77f8274cb52d429c8a7db97c70daf745",
      "parents": [
        "34edaa88324004baf4884fb0388f86059d9c4878"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 17 21:24:05 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 17 21:24:05 2009 -0800"
      },
      "message": "net: Kill skb_truesize_check(), it only catches false-positives.\n\nA long time ago we had bugs, primarily in TCP, where we would modify\nskb-\u003etruesize (for TSO queue collapsing) in ways which would corrupt\nthe socket memory accounting.\n\nskb_truesize_check() was added in order to try and catch this error\nmore systematically.\n\nHowever this debugging check has morphed into a Frankenstein of sorts\nand these days it does nothing other than catch false-positives.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "914e1c8b6980c516667375d3e55f0b6e674c8c58",
      "tree": "d61194143a112ace85f6e6dfc22bc01d7173f62e",
      "parents": [
        "faee47cdbfe8d74a1573c2f81ea6dbb08d735be6"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Feb 13 08:33:44 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 16 00:03:11 2009 -0800"
      },
      "message": "sctp: Inherit all socket options from parent correctly.\n\nDuring peeloff/accept() sctp needs to save the parent socket state\ninto the new socket so that any options set on the parent are\ninherited by the child socket.  This was found when the\nparent/listener socket issues SO_BINDTODEVICE, but the\ndata was misrouted after a route cache flush.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "faee47cdbfe8d74a1573c2f81ea6dbb08d735be6",
      "tree": "6a95e8f91087cd3d584fc89f9bc06355d371d82a",
      "parents": [
        "4458f04c02a46c679a90ef71f866a415c192deb4"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Feb 13 08:33:43 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 16 00:03:10 2009 -0800"
      },
      "message": "sctp: Fix the RTO-doubling on idle-link heartbeats\n\nSCTP incorrectly doubles rto ever time a Hearbeat chunk\nis generated.   However RFC 4960 states:\n\n   On an idle destination address that is allowed to heartbeat, it is\n   recommended that a HEARTBEAT chunk is sent once per RTO of that\n   destination address plus the protocol parameter \u0027HB.interval\u0027, with\n   jittering of +/- 50% of the RTO value, and exponential backoff of the\n   RTO if the previous HEARTBEAT is unanswered.\n\nEssentially, of if the heartbean is unacknowledged, do we double the RTO.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4458f04c02a46c679a90ef71f866a415c192deb4",
      "tree": "b08aa476ab4c525ab3cb33cea6114cb262cb2941",
      "parents": [
        "06e868066e3b5828383eb40ff4d1c0029100b0b5"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Feb 13 08:33:42 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 16 00:03:10 2009 -0800"
      },
      "message": "sctp: Clean up sctp checksumming code\n\nThe sctp crc32c checksum is always generated in little endian.\nSo, we clean up the code to treat it as little endian and remove\nall the __force casts.\n\nSuggested by Herbert Xu.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06e868066e3b5828383eb40ff4d1c0029100b0b5",
      "tree": "5fb84de9aff8a0b5d225a4c1137000ef6cc00dd5",
      "parents": [
        "85e8d004ecbc51ead6ae926e15973b42cf07b36e"
      ],
      "author": {
        "name": "Lucas Nussbaum",
        "email": "lucas.nussbaum@ens-lyon.fr",
        "time": "Fri Feb 13 08:33:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 16 00:03:09 2009 -0800"
      },
      "message": "sctp: Allow to disable SCTP checksums via module parameter\n\nThis is a new version of my patch, now using a module parameter instead\nof a sysctl, so that the option is harder to find. Please note that,\nonce the module is loaded, it is still possible to change the value of\nthe parameter in /sys/module/sctp/parameters/, which is useful if you\nwant to do performance comparisons without rebooting.\n\nComputation of SCTP checksums significantly affects the performance of\nSCTP. For example, using two dual-Opteron 246 connected using a Gbe\nnetwork, it was not possible to achieve more than ~730 Mbps, compared to\n941 Mbps after disabling SCTP checksums.\nUnfortunately, SCTP checksum offloading in NICs is not commonly\navailable (yet).\n\nBy default, checksums are still enabled, of course.\n\nSigned-off-by: Lucas Nussbaum \u003clucas.nussbaum@ens-lyon.fr\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51f31cabe3ce5345b51e4a4f82138b38c4d5dc91",
      "tree": "f59504adbbe37e6e28ac78e6a49f045508daa78e",
      "parents": [
        "20d4947353be60e909e6b1a79d241457edd6833f"
      ],
      "author": {
        "name": "Patrick Ohly",
        "email": "patrick.ohly@intel.com",
        "time": "Thu Feb 12 05:03:39 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 15 22:43:38 2009 -0800"
      },
      "message": "ip: support for TX timestamps on UDP and RAW sockets\n\nInstructions for time stamping outgoing packets are take from the\nsocket layer and later copied into the new skb.\n\nSigned-off-by: Patrick Ohly \u003cpatrick.ohly@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20d4947353be60e909e6b1a79d241457edd6833f",
      "tree": "939ced518fc52e57df9ee9efb0cd14b6e26a3bc4",
      "parents": [
        "ac45f602ee3d1b6f326f68bc0c2591ceebf05ba4"
      ],
      "author": {
        "name": "Patrick Ohly",
        "email": "patrick.ohly@intel.com",
        "time": "Thu Feb 12 05:03:38 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 15 22:43:35 2009 -0800"
      },
      "message": "net: socket infrastructure for SO_TIMESTAMPING\n\nThe overlap with the old SO_TIMESTAMP[NS] options is handled so\nthat time stamping in software (net_enable_timestamp()) is\nenabled when SO_TIMESTAMP[NS] and/or SO_TIMESTAMPING_RX_SOFTWARE\nis set.  It\u0027s disabled if all of these are off.\n\nSigned-off-by: Patrick Ohly \u003cpatrick.ohly@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e30589521518bff36fd2638b3c3d69679c50436",
      "tree": "6ac985658a06b0787e4354d0d16d380ea9b16a5a",
      "parents": [
        "ac178ef0ae9eb44fd527d87aa9b6394e05f56e1f",
        "d2f8d7ee1a9b4650b4e43325b321801264f7c37a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 14 23:12:00 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 14 23:12:00 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-agn.c\n\tdrivers/net/wireless/iwlwifi/iwl3945-base.c\n"
    },
    {
      "commit": "ac178ef0ae9eb44fd527d87aa9b6394e05f56e1f",
      "tree": "5d6bd46ecf9ce989134d3c460e1ecf5dd1fceadc",
      "parents": [
        "f3a7c66b5ce0b75a9774a50b5dcce93e5ba28370",
        "6d08b9b9c6eb2414c4a037407dd121298a74fb36"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 14 23:06:44 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 14 23:06:44 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "f3a7c66b5ce0b75a9774a50b5dcce93e5ba28370",
      "tree": "441f02ac10cb109cbb80fbd0d964af3638541f06",
      "parents": [
        "35c26c2cf6a6a2d1c48add732d8ba002bd90784c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Feb 14 22:58:35 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 14 22:58:35 2009 -0800"
      },
      "message": "net: replace __constant_{endian} uses in net headers\n\nBase versions handle constant folding now.  For headers exposed to\nuserspace, we must only expose the __ prefixed versions.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79420f09e76e8e1dd1149d6ce9c20e06cbb5802a",
      "tree": "42adcb9fa34682629050778fa1c2b4d3382b6469",
      "parents": [
        "d491af19db3adcc1eb1653e60a427fb4df36f361"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:59 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:56 2009 -0500"
      },
      "message": "cfg80211: add more flexible BSS lookup\n\nAdd a more flexible BSS lookup function so that mac80211 or\nother drivers can actually use this for getting the BSS to\nconnect to.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d491af19db3adcc1eb1653e60a427fb4df36f361",
      "tree": "7116bcc9f6de56d181d16463252c4aabab77b20e",
      "parents": [
        "78c1c7e109f1f14e7c18f290c4ebc58da220c7ba"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:58 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:54 2009 -0500"
      },
      "message": "cfg80211: allow users to request removing a BSS\n\nThis patch introduces cfg80211_unlink_bss, a function to\nallow a driver to remove a BSS from the internal list and\nmake it not show up in scan results any more -- this is\nto be used when the driver detects that the BSS is no\nlonger available.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "78c1c7e109f1f14e7c18f290c4ebc58da220c7ba",
      "tree": "11d4666d578dc6f9ee4c57dfe3fb4e8498d9ed79",
      "parents": [
        "99cf5f5f3571ce3a837e379d3b87bf5ddf54f17d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:57 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:53 2009 -0500"
      },
      "message": "cfg80211: free_priv for BSS info\n\nWhen cfg80211 users have their own allocated data in the per-BSS\nprivate data, they will need to free this when the BSS struct is\ndestroyed. Add a free_priv method and fix one place where the BSS\nwas kfree\u0027d rather than released properly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2a5193119269062608582418deba7af82844159a",
      "tree": "1f2fe8cffbeb7530dce7fa708310f6fb29ab0dd8",
      "parents": [
        "849b7967818995a32c3017542e33eb3155944368"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Feb 10 21:25:55 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:45:49 2009 -0500"
      },
      "message": "cfg80211/nl80211: scanning (and mac80211 update to use it)\n\nThis patch adds basic scan capability to cfg80211/nl80211 and\nchanges mac80211 to use it. The BSS list that cfg80211 maintains\nis made driver-accessible with a private area in each BSS struct,\nbut mac80211 doesn\u0027t yet use it. That\u0027s another large project.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7b08b3b4a973de20d28d8a322c002c0a5444002a",
      "tree": "a44ccd7138b1c85917dfdd87e3a6fd9c11ec01b1",
      "parents": [
        "97d97b80984d0207e5c125c1b7b9467aad365d8d"
      ],
      "author": {
        "name": "Alina Friedrichsen",
        "email": "x-alina@gmx.net",
        "time": "Thu Feb 05 17:58:34 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 13 13:44:40 2009 -0500"
      },
      "message": "mac80211: Remove TSF atomic requirement from the documentation\n\nThe atomic requirement for the TSF callbacks\nis outdated. get_tsf() is only called by\nieee80211_rx_bss_info() which is indirectly\ncalled by the work queue ieee80211_sta_work().\nIn the same context are called several other\nnon-atomic functions, too.\nAnd the atomic requirement causes problems\nfor drivers of USB wifi cards.\n\nSigned-off-by: Alina Friedrichsen \u003cx-alina@gmx.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "99709372736a216f99eb32b76fba835a2bfc93a8",
      "tree": "62a84b976965436b841c65b63e52240d0b06bc29",
      "parents": [
        "fb0886745a75ce98bde3aac421adc69fe61a1905"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Feb 12 16:43:17 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 12 16:43:17 2009 -0800"
      },
      "message": "net: don\u0027t use in_atomic() in gfp_any()\n\nThe problem is that in_atomic() will return false inside spinlocks if\nCONFIG_PREEMPT\u003dn.  This will lead to deadlockable GFP_KERNEL allocations\nfrom spinlocked regions.\n\nSecondly, if CONFIG_PREEMPT\u003dy, this bug solves itself because networking\nwill instead use GFP_ATOMIC from this callsite.  Hence we won\u0027t get the\nmight_sleep() debugging warnings which would have informed us of the buggy\ncallsites.\n\nSolve both these problems by switching to in_interrupt().  Now, if someone\nruns a gfp_any() allocation from inside spinlock we will get the warning\nif CONFIG_PREEMPT\u003dy.\n\nI reviewed all callsites and most of them were too complex for my little\nbrain and none of them documented their interface requirements.  I have no\nidea what this patch will do.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7fee5372d814c4be9546e5c28ac0058258d8df3e",
      "tree": "021aefd5c32d265f2ca6c9b379c11e0484aeba74",
      "parents": [
        "7a7dec656252a5784218a22abf76ad1cdef115d0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jan 30 11:13:06 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Feb 09 15:03:44 2009 -0500"
      },
      "message": "mac80211: remove HW_SIGNAL_DB\n\nGiving the signal in dB isn\u0027t much more useful to userspace\nthan giving the signal in unspecified units. This removes\nsome radiotap information for zd1211 (the only driver using\nthis flag), but it helps a lot for getting cfg80211-based\nscanning which won\u0027t support dB, and zd1211 being dB is a\nlittle fishy anyway.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Bruno Randolf \u003cbruno@thinktube.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4cc7f68d65558f683c702d4fe3a5aac4c5227b97",
      "tree": "88f2987e503790d2015a7f0a3b5748d05a0df140",
      "parents": [
        "9a279bcbe347496799711155ed41a89bc40f79c5"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Feb 04 16:55:54 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 04 16:55:54 2009 -0800"
      },
      "message": "net: Reexport sock_alloc_send_pskb\n\nThe function sock_alloc_send_pskb is completely useless if not\nexported since most of the code in it won\u0027t be used as is.  In\nfact, this code has already been duplicated in the tun driver.\n\nNow that we need accounting in the tun driver, we can in fact\nuse this function as is.  So this patch marks it for export again.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1725d409caba16ea5fc694bd50e95e79e8ced11a",
      "tree": "688fe26dd4ceda5364692f0ce307aadb6f04f331",
      "parents": [
        "b3ff29d2ccfe3af065a9b393699a8fbf2abd1b15",
        "b8abde45d7d6ab9e8ceced9b5990eeb1149d0b97"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 03 12:41:58 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 03 12:41:58 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "24dd1fa184595ff095a92de807fdf029b2632673",
      "tree": "6136ffd3f4d054acda875b07df18fd19d93647b9",
      "parents": [
        "5add300975cf36b1bd30c461105bb938da260f14"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Feb 01 12:31:33 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 01 12:31:33 2009 -0800"
      },
      "message": "net: move bsockets outside of read only beginning of struct inet_hashinfo\n\nAnd switch bsockets to atomic_t since it might be changed in parallel.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b00355db3f88d96810a60011a30cfb2c3469409d",
      "tree": "43331c769665e619892d8f97a38ce1d12b3a6363",
      "parents": [
        "eefef1cf7653cd4e0aaf743c00ae8345086cdc01"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Sun Feb 01 01:12:42 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 01 01:12:42 2009 -0800"
      },
      "message": "pkt_sched: sch_hfsc: sch_htb: Add non-work-conserving warning handler.\n\nPatrick McHardy \u003ckaber@trash.net\u003e suggested:\n\u003e How about making this flag and the warning message (in a out-of-line\n\u003e function) globally available? Other qdiscs (f.i. HFSC) can\u0027t deal with\n\u003e inner non-work-conserving qdiscs as well.\n\nThis patch uses qdisc-\u003eflags field of \"suspected\" child qdisc.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05bee4737774881e027bfd9a8b5c40a7d68f6325",
      "tree": "5fd32eb8fe345d2d30e85910beac241a4439e8cd",
      "parents": [
        "80595d59ba9917227856e663da249c2276a8628d",
        "905db44087855e3c1709f538ecdc22fd149cadd8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 30 14:31:07 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 30 14:31:07 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/e1000/e1000_main.c\n"
    },
    {
      "commit": "3b5d665b51cda73ef1a774b515afd879a38e3674",
      "tree": "68d71f6ac09f638b65ca1e256a17dfdb6c5b12b4",
      "parents": [
        "3978e5bce63484789891c67413372da3915bcbd6"
      ],
      "author": {
        "name": "Alina Friedrichsen",
        "email": "x-alina@gmx.net",
        "time": "Sat Jan 24 07:09:59 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:46 2009 -0500"
      },
      "message": "mac80211: Generic TSF debugging\n\nThis patch enables low-level driver independent debugging of the TSF and remove the driver specific things of ath5k and ath9k from the debugfs.\n\nSigned-off-by: Alina Friedrichsen \u003cx-alina@gmx.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c771c9d8da1e8292ef8bf7fd4ce135dacc650130",
      "tree": "79b259a6b0396cbecf9e775c7ba5a80e2c4d94c9",
      "parents": [
        "506d03f97d10e54fd27c58c872a98242326d6419"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jan 23 22:54:03 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:45 2009 -0500"
      },
      "message": "mac80211: add interface list lock\n\nUsing only the RTNL has a number of problems, most notably that\nieee80211_iterate_active_interfaces() and other interface list\ntraversals cannot be done from the internal workqueue because it\nneeds to be flushed under the RTNL.\n\nThis patch introduces a new mutex that protects the interface list\nagainst modifications. A more detailed explanation is part of the\ncode change.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9a95371aa26e3cb9fb1340362912000088ff3c3e",
      "tree": "aaa8470b9304d344a2c15f30776b3dd1c044183a",
      "parents": [
        "f976376de0d6a9697fb635369f12ae00251f4566"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Jan 22 15:05:53 2009 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:19 2009 -0500"
      },
      "message": "mac80211: allow mac80211 drivers to get to struct ieee80211_hw from wiphy\n\nIf a driver is given a wiphy and it wants to get to its private\nmac80211 driver area it can use wiphy_to_ieee80211_hw() to get first\nto its ieee80211_hw and then access the private structure via hw-\u003epriv. The\nwiphy_priv() is already being used internally by mac80211 and drivers\nshould not use this. This can be helpful in a drivers reg_notifier().\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f976376de0d6a9697fb635369f12ae00251f4566",
      "tree": "11e94926ba6da6ed420bce7c82276e705838dca5",
      "parents": [
        "716f9392e2b84cacc18cc11f7427cb98adeb1c3d"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Jan 22 15:05:52 2009 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:18 2009 -0500"
      },
      "message": "cfg80211: Allow for strict regulatory settings\n\nThis allows drivers to request strict regulatory settings to\nbe applied to its devices. This is desirable for devices where\nproper calibration and compliance can only be gauranteed for\nfor the device\u0027s programmed regulatory domain. Regulatory\ndomain settings will be ignored until the device\u0027s own\nregulatory domain is properly configured. If no regulatory\ndomain is received only the world regulatory domain will be\napplied -- if OLD_REG (default to \"US\") is not enabled. If\nOLD_REG behaviour is not acceptable to drivers they must\nupdate their wiphy with a custom reuglatory prior to wiphy\nregistration.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "716f9392e2b84cacc18cc11f7427cb98adeb1c3d",
      "tree": "f56a37fc79aa331b8f5b57a5038f1b4c93d8a578",
      "parents": [
        "d46e5b1d0c617a2a46353812d7f02115c17b5e72"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Jan 22 15:05:51 2009 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:17 2009 -0500"
      },
      "message": "cfg80211: pass more detailed regulatory request information on reg_notifier()\n\nDrivers may need more information than just who set the last regulatory domain,\nas such lets just pass the last regulatory_request receipt. To do this we need\nto move out to headers struct regulatory_request, and enum environment_cap. While\nat it lets add documentation for enum environment_cap.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2a44f911d8bac3e6c97a25cc612e4324dfbdfdc4",
      "tree": "2fdfd049107d8a38adceabbe727508374e7f20fc",
      "parents": [
        "e74b1e7fb2f12db36f25af2158ee6e2940e4f138"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Jan 22 15:05:49 2009 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:16 2009 -0500"
      },
      "message": "cfg80211: rename fw_handles_regulatory to custom_regulatory\n\nDrivers without firmware can also have custom regulatory maps\nwhich do not map to a specific ISO / IEC alpha2 country code.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "34f573473a659f8c2727d8d408e17b241900c28e",
      "tree": "eac19f7cdfb2f26b956d0fe4dc488de5eeec0c6b",
      "parents": [
        "1fa25e413659f943dfec65da2abe713d566c7fdf"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Jan 22 15:05:45 2009 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:14 2009 -0500"
      },
      "message": "cfg80211: export freq_reg_info()\n\nThis can be used by drivers on the reg_notifier()\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1fa25e413659f943dfec65da2abe713d566c7fdf",
      "tree": "7de278f35b33c2bf35f4964e0b5381a6f029dff5",
      "parents": [
        "078e1e60dd6c6b0d4bc8d58ccb80c008e8efc9ff"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Thu Jan 22 15:05:44 2009 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:14 2009 -0500"
      },
      "message": "cfg80211: add wiphy_apply_custom_regulatory()\n\nThis adds wiphy_apply_custom_regulatory() to be used by drivers\nprior to wiphy registration to apply a custom regulatory domain.\nThis can be used by drivers that do not have a direct 1-1 mapping\nbetween a regulatory domain and a country.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "078e1e60dd6c6b0d4bc8d58ccb80c008e8efc9ff",
      "tree": "7fa2580b76a5693a37449e9cc075eee2394bb0c3",
      "parents": [
        "07c1e852514e862e246b9f2962ce8fc0d7ac8ed1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jan 22 18:07:31 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:13 2009 -0500"
      },
      "message": "mac80211: Add capability to enable/disable beaconing\n\nThis patch adds a flag to notify drivers to start and stop\nbeaconing when needed, for example, during a scan run. Based\non Sujith\u0027s first patch to do the same, but now disables\nbeaconing for all virtual interfaces while scanning, has a\nseparate change flag and tracks user-space requests.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2134e7e724798cf8d54ae822afe235abb607d9b2",
      "tree": "3f409a1615d0d1d61dbce9242028b6249a67c8cb",
      "parents": [
        "e129a948c906200db87727822559c09b62278824"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Thu Jan 22 09:00:52 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:10 2009 -0500"
      },
      "message": "mac80211: Add documentation bits for mac80211_rate_control_flags\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "881d948c23442173a011f1adcfe4c95bf7f27515",
      "tree": "3d7e6a4bf23b960cf45a4d2c5734578168ce0424",
      "parents": [
        "369391db1aabd089cefaadaabb6d9fc82e78b0a7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jan 21 15:13:48 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:09 2009 -0500"
      },
      "message": "wireless: restrict to 32 legacy rates\n\nSince the standards only define 12 legacy rates, 32 is certainly\na sane upper limit and we don\u0027t need to use u64 everywhere. Add\nsanity checking that no more than 32 rates are registered and\nchange the variables to u32 throughout.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5f936f11613c32ca7f8ed5fa333bb38a4501deeb",
      "tree": "6963b1e32eaa4d4bdb14655c9e8f209bf0e2c7f7",
      "parents": [
        "e9414b6b3f34dcc3683e66dffa4f5f167d49df51"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jan 21 12:47:05 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:01:07 2009 -0500"
      },
      "message": "mac80211: constify ieee80211_if_conf.bssid\n\nThen one place can be a static const.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0378b3f1c49d48ed524eabda7e4340163d9483c9",
      "tree": "98ba4934248151f1e28abe67a4318d05ffeb83bf",
      "parents": [
        "e0463f501fb945c1fde536d98eefc5ba156ff497"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Jan 19 11:20:52 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:00:51 2009 -0500"
      },
      "message": "cfg80211: add PM hooks\n\nThis should help implement suspend/resume in mac80211, these\nhooks will be run before the device is suspended and after it\nresumes. Therefore, they can touch the hardware as much as\nthey want to.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9aed3cc124343d92be6697e9af3928bdfe8eb03e",
      "tree": "6a49a68422656790f944f37e3f34379b753d1dab",
      "parents": [
        "0c1aa495961f03c964b3287cf5800217cf6f2cee"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Tue Jan 13 16:03:29 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:00:35 2009 -0500"
      },
      "message": "nl80211: New command for adding extra IE(s) into management frames\n\nA new nl80211 command, NL80211_CMD_SET_MGMT_EXTRA_IE, can be used to\nadd arbitrary IE data into the end of management frames. The interface\nallows extra IEs to be configured for each management frame subtype, but\nonly some of them (ProbeReq, ProbeResp, Auth, (Re)AssocReq, Deauth,\nDisassoc) are currently accepted in mac80211 implementation.\n\nThis makes it easier to implement IEEE 802.11 extensions like WPS and\nFT that add IE(s) into some management frames. In addition, this can\nbe useful for testing and experimentation purposes.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6dd1bf3118b62a3ce241dc2b7e05e3d4a28c9eb1",
      "tree": "0bbd7a254372af31b534f36f45ac7db751ddc7fe",
      "parents": [
        "e724b8fef6088e5dd240b53a38443e48fbcc8e93"
      ],
      "author": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Thu Jan 08 21:00:34 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:00:17 2009 -0500"
      },
      "message": "mac80211: document return codes from ops callbacks\n\nFor any callbacks in ieee80211_ops, specify what values the return\ncodes represent.  While at it, fix a couple of capitalization and\npunctuation differences.\n\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nReviewed-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4375d08350e3661d5e8860d33eea084e47ba01cf",
      "tree": "bb4df587cbe044700e0f29900c51e54ebd06ddd3",
      "parents": [
        "1f7d77ab69789980dad44e1af7afd3a68cd48276"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Thu Jan 08 13:32:11 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:00:08 2009 -0500"
      },
      "message": "mac80211: 802.11w - Add driver capability flag for MFP\n\nThis allows user space to determine whether a driver supports MFP and\nbehave properly without having to ask user to configure this in\nMFP-optional mode.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1f7d77ab69789980dad44e1af7afd3a68cd48276",
      "tree": "35406a27e707f0ebda27aaada47bc4c90fb26d31",
      "parents": [
        "63a5ab82255a4ff5d0783f16427210f1d45d7ec8"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Thu Jan 08 13:32:10 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:00:08 2009 -0500"
      },
      "message": "mac80211: 802.11w - Optional software CCMP for management frames\n\nIf driver/firmware/hardware does not support CCMP for management\nframes, it can now request mac80211 to take care of encrypting and\ndecrypting management frames (when MFP is enabled) in software. The\nwill need to add this new IEEE80211_KEY_FLAG_SW_MGMT flag when a CCMP\nkey is being configured for TX side and return the undecrypted frames\non RX side without RX_FLAG_DECRYPTED flag to use software CCMP for\nmanagement frames (but hardware for data frames).\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3cfcf6ac6d69dc290e96416731eea5c88ac7d426",
      "tree": "35bc626e2e3f7c37a7eb50c1f057adb4830eccc6",
      "parents": [
        "765cb46a3fc856245ea68a7c961ac87c77e4ae2d"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Thu Jan 08 13:32:02 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:00:03 2009 -0500"
      },
      "message": "mac80211: 802.11w - Use BIP (AES-128-CMAC)\n\nAdd mechanism for managing BIP keys (IGTK) and integrate BIP into the\nTX/RX paths.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5394af4d86ae51b369ff243c3f75b6f9a74e164b",
      "tree": "752ff0a1b7feb28e4fce87957047433d5f39a6c2",
      "parents": [
        "039498c6ec67bd718ac1c8e7f6b4e2cfe2146773"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Thu Jan 08 13:31:59 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 16:00:00 2009 -0500"
      },
      "message": "mac80211: 802.11w - STA flag for MFP\n\nAdd flags for setting STA entries and struct ieee80211_if_sta to\nindicate whether management frame protection (MFP) is used.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3e0c3ff36c4c7b9e39af7d600e399664ca04e817",
      "tree": "837fa4d480d5f18bfb7bdb5f59c0caf5341d38eb",
      "parents": [
        "560e28e14f69ad3440a6e8c283dcfd37e1e41c2d"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Jan 07 17:43:34 2009 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 15:59:59 2009 -0500"
      },
      "message": "cfg80211: allow multiple driver regulatory_hints()\n\nWe add support for multiple drivers to provide a regulatory_hint()\non a system by adding a wiphy specific regulatory domain cache.\nThis allows drivers to keep around cache their own regulatory domain\nstructure queried from CRDA.\n\nWe handle conflicts by intersecting multiple regulatory domains,\neach driver will stick to its own regulatory domain though unless\na country IE has been received and processed.\n\nIf the user already requested a regulatory domain and a driver\nrequests the same regulatory domain then simply copy to the\ndriver\u0027s regd the same regulatory domain and do not call\nCRDA, do not collect $200.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4be8c3873e0b88397866d3ede578503e188f9ad2",
      "tree": "1ccf8a0c204bb01aca08d90c2d8c37b5e0439bd3",
      "parents": [
        "acbaf32e94cb70218792cac68e5149e482e77441"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jan 07 18:28:20 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 15:59:58 2009 -0500"
      },
      "message": "mac80211: extend/document powersave API\n\nThis modifies hardware flags for powersave to support three different\nflags:\n * IEEE80211_HW_SUPPORTS_PS - indicates general PS support\n * IEEE80211_HW_PS_NULLFUNC_STACK - indicates nullfunc sending in software\n * IEEE80211_HW_SUPPORTS_DYNAMIC_PS - indicates dynamic PS on the device\n\nIt also adds documentation for all this which explains how to set the\nvarious flags.\n\nAdditionally, it fixes a few things:\n * a spot where \u0026\u0026 was used to test flags\n * enable CONF_PS only when associated again\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "46f2c4bd7e2ba2cfedbcd4fe15d316eebc608cba",
      "tree": "70df1219af8e137032a01560e6ca8ac216dbf24c",
      "parents": [
        "e9aeabaeb9a0bece50100dc74bbd720a68cb8f5c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jan 06 18:13:18 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 15:59:56 2009 -0500"
      },
      "message": "mac80211: move dynamic PS timeout to hardware config\n\nThis will be needed for drivers that set the\nIEEE80211_HW_NO_STACK_DYNAMIC_PS flag and still\nwant to handle dynamic PS.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nReviewed-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4797938c5dfa22af30fd16679192972f878419a1",
      "tree": "5e9de4801903f0e8fd5aac75c26295ed0069667a",
      "parents": [
        "47166791b7296db5c0a7189401e42b8c7f4cca25"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jan 07 10:13:27 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 15:59:55 2009 -0500"
      },
      "message": "mac80211: clean up channel type config\n\nThe channel_type really doesn\u0027t need to be the only member in\na new structure, so remove the struct. Additionally, remove\nthe _CONF_CHANGE_HT flag and use _CONF_CHANGE_CHANNEL when the\nchannel type changes, since that\u0027s enough of a change to require\nreprogramming the hardware anyway.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2bf30fabadbdcb535b057afc92aba015884847dc",
      "tree": "7a0234aeb666602e7b25a62bb7e483be0fb4a742",
      "parents": [
        "8465676241cad5e28a1b745c32a0e18e1f67e18e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jan 06 23:23:56 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 15:59:53 2009 -0500"
      },
      "message": "mac80211: remove user_power_level from driver API\n\nI missed this during review of \"mac80211: Fix tx power setting\",\nthe user_power_level shouldn\u0027t be available to the driver but\nrather be an internal value used to calculate the value for the\ndriver.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Vasanthakumar Thiagarajan \u003cvasanth@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "dc822b5db479dc0178d5c04cbb656dad0b6564fb",
      "tree": "f06d09fb4d70830ce1489f4589cb03a491833955",
      "parents": [
        "b3093664c931aa06fc50da42e25b3b6dc307a915"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Dec 29 12:55:09 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 15:59:42 2009 -0500"
      },
      "message": "mac80211: clean up set_key callback\n\nThe set_key callback now seems rather odd, passing a MAC address\ninstead of a station struct, and a local address instead of a\nvif struct. Change that.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Bob Copeland \u003cme@bobcopeland.com\u003e [ath5k]\nAcked-by: Ivo van Doorn \u003civdoorn@gmail.com\u003e [rt2x00]\nAcked-by: Christian Lamparter \u003cchunkeey@web.de\u003e [p54]\nTested-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e [iwl3945]\nTested-by: Samuel Ortiz \u003csamuel@sortiz.org\u003e [iwl3945]\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e3c92df08cbf6a0cb60a9c7ce377378383967e07",
      "tree": "088d70d7924c6dac0e900d4190db928623ec3c76",
      "parents": [
        "a085ff718c8c9f14c44feb337774fadfd982e1a5"
      ],
      "author": {
        "name": "Vasanthakumar Thiagarajan",
        "email": "vasanth@atheros.com",
        "time": "Wed Dec 24 13:53:11 2008 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 15:59:36 2009 -0500"
      },
      "message": "mac80211: Fix tx power setting\n\npower_level in ieee80211_conf is being used for more than one\npurpose. It being used as user configured power limit and the\nfinal power limit given to the driver. By doing so, except very\nfirst time, the tx power limit is taken from min(chan-\u003emax_power,\nlocal-\u003ehw.conf.power_level) which is not what we want. This patch\ndefines a new memeber in ieee80211_conf which is meant only for\nuser configured power limit.\n\nSigned-off-by: Vasanthakumar Thiagarajan \u003cvasanth@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "285256a59d790c6a9afe8ec82804a369d956ac06",
      "tree": "679c78347f255f3a1e198c2cbba98463a99185e5",
      "parents": [
        "de27e64e5eb72ff3edcaf5edce2f306ada1f094d"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Tue Dec 23 15:58:45 2008 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 15:59:32 2009 -0500"
      },
      "message": "mac80211: no need for ht.enabled\n\nWe can simply use conf_is_ht() check where needed.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "10c806b32db1c9f010945e92043ef2a3f6fffc3f",
      "tree": "fc971f55e0f4b30a63a024ad786498f6b6bc3f36",
      "parents": [
        "51af3d3fbbe326077a7e245268a7de325de6ecd2"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Tue Dec 23 15:58:36 2008 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 29 15:59:27 2009 -0500"
      },
      "message": "mac80211: add HT conf helpers\n\nIn HT capable drivers you often need to check if you\nare currently using HT20 or HT40. This adds a few small\nhelpers to let drivers figure that out.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "94cd3e6cbebf85903b4d53ed2147bdb4c6e08625",
      "tree": "a389198ade72eae6aa9c1cd3a44cdcc6935f6996",
      "parents": [
        "15b2bee22a0390d951301b53e83df88d0350c499"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Jan 27 17:45:10 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 27 17:45:10 2009 -0800"
      },
      "message": "net: wrong test in inet_ehash_locks_alloc()\n\nIn commit 9db66bdcc83749affe61c61eb8ff3cf08f42afec (net: convert\nTCP/DCCP ehash rwlocks to spinlocks), I forgot to change one\noccurrence of rwlock_t to spinlock_t\n\nI believe sizeof(raw_spinlock_t) might be \u003e 0 on !CONFIG_SMP if\nCONFIG_DEBUG_SPINLOCK while sizeof(raw_rwlock_t) should be 0 in this\ncase.\n\nFortunatly, CONFIG_DEBUG_SPINLOCK adds fields to both spinlock_t and\nrwlock_t, but at this might change in the future (being able to debug\nspinlocks but not rwlocks for example), better to be safe.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a3b7a42bb2919a6282a96a5f4abe0f9be36c4b3",
      "tree": "db61d026f3cbd58b767b01e3b5499f5a2e75464a",
      "parents": [
        "6530e0fee1834fab51720769ac422186de2b3120"
      ],
      "author": {
        "name": "remi.denis-courmont@nokia",
        "email": "remi.denis-courmont@nokia",
        "time": "Fri Jan 23 03:00:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 26 21:03:35 2009 -0800"
      },
      "message": "Phonet: use per-namespace devices list\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "660f706d931d4795d341805e083a8091af74fa88",
      "tree": "ac5cc51b70b0c30c1835362eaf883df965bb27f9",
      "parents": [
        "76e02cf6945e6faa9f6b546dc0513512197c5966"
      ],
      "author": {
        "name": "remi.denis-courmont@nokia",
        "email": "remi.denis-courmont@nokia",
        "time": "Fri Jan 23 03:00:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 26 21:03:34 2009 -0800"
      },
      "message": "Phonet: handle rtnetlink registration failure\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76e02cf6945e6faa9f6b546dc0513512197c5966",
      "tree": "e296f93f6ba6571443704871bf2d399a3bc5b98e",
      "parents": [
        "4b8f704bea70a2c8719e47f53197678a87a0c62f"
      ],
      "author": {
        "name": "remi.denis-courmont@nokia",
        "email": "remi.denis-courmont@nokia",
        "time": "Fri Jan 23 03:00:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 26 21:03:34 2009 -0800"
      },
      "message": "Phonet: allow phonet_device_init() to fail, put it to __init section\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3eacdf58c2c0b9507afedfc19108e98b992c31e4",
      "tree": "d95e7e022ff6e6181edce43fe97cf2883b5a91ed",
      "parents": [
        "dd0a251c8e087bca05e8f9a3657078591ae6e12b",
        "5376071069ec8a7e6a8112beab16fc24f5139475"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 26 17:43:16 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 26 17:43:16 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "9c5ff5f75d0d0a1c7928ecfae3f38418b51a88e3",
      "tree": "5211a9794d3d8104b19d1dd544248755f5faf076",
      "parents": [
        "c64d2a9afbccd0aecb122d108770a407fe7b7e3f"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Thu Jan 22 14:52:23 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 22 14:52:23 2009 -0800"
      },
      "message": "sctp: Fix crc32c calculations on big-endian arhes.\n\ncrc32c algorithm provides a byteswaped result.  On little-endian\narches, the result ends up in big-endian/network byte order.\nOn big-endinan arches, the result ends up in little-endian\norder and needs to be byte swapped again.  Thus calling cpu_to_le32\ngives the right output.\n\nTested-by: Jukka Taimisto \u003cjukka.taimisto@mail.suomi.net\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c5143dbcfe50ac722965dc7d096abbeeec8bb33",
      "tree": "b9a78f7a700ec6a82ed05cd46e65f7c9ba2cbf60",
      "parents": [
        "6f9374a9342e896c68df7cf7c0b039ab5cca994c"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Thu Jan 22 04:56:21 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 22 13:57:40 2009 -0800"
      },
      "message": "netns: ipmr: declare reg_vif_num per-namespace\n\nPreliminary work to make IPv4 multicast routing netns-aware.\n\nDeclare variable \u0027reg_vif_num\u0027 per-namespace, move into struct netns_ipv4.\n\nAt the moment, this variable is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f9374a9342e896c68df7cf7c0b039ab5cca994c",
      "tree": "ba03b8e9e70b0ae5f581444afb9a9ae43e579091",
      "parents": [
        "1e8fb3b6a4ac6c5e486298d88289038456957545"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Thu Jan 22 04:56:20 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 22 13:57:40 2009 -0800"
      },
      "message": "netns: ipmr: declare mroute_do_assert and mroute_do_pim per-namespace\n\nPreliminary work to make IPv4 multicast routing netns-aware.\n\nDeclare IPv multicast routing variables \u0027mroute_do_assert\u0027 and\n\u0027mroute_do_pim\u0027 per-namespace in struct netns_ipv4.\n\nAt the moment, these variables are only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e8fb3b6a4ac6c5e486298d88289038456957545",
      "tree": "ff2c02ed95edcf510e553c15c8abd476cdc6d669",
      "parents": [
        "2bb8b26c3ea8bde1943dc5cd4dda2dc9f48fb281"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Thu Jan 22 04:56:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 22 13:57:39 2009 -0800"
      },
      "message": "netns: ipmr: declare counter cache_resolve_queue_len per-namespace\n\nPreliminary work to make IPv4 multicast routing netns-aware.\n\nDeclare variable cache_resolve_queue_len per-namespace: move it into\nstruct netns_ipv4.\n\nThis variable counts the number of unresolved cache entries queued in the\nlist mfc_unres_queue. This list is kept global to all netns as the number\nof entries per namespace is limited to 10 (hardcoded in routine\nipmr_cache_unresolved).\nEntries belonging to different namespaces in mfc_unres_queue will be\nidentified by matching the mfc_net member introduced previously in\nstruct mfc_cache.\n\nKeeping this list global to all netns, also allows us to keep a single\ntimer (ipmr_expire_timer) to handle their expiration.\nIn some places cache_resolve_queue_len value was tested for arming\nor deleting the timer. These tests were equivalent to testing\nmfc_unres_queue value instead and are replaced in this patch.\n\nAt the moment, cache_resolve_queue_len is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2bb8b26c3ea8bde1943dc5cd4dda2dc9f48fb281",
      "tree": "dacd8256827d6539ff79162cbf8fad2873835126",
      "parents": [
        "5c0a66f5f3c9c59e2c341400048e2cff768e67a9"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Thu Jan 22 04:56:18 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 22 13:57:38 2009 -0800"
      },
      "message": "netns: ipmr: dynamically allocate mfc_cache_array\n\nPreliminary work to make IPv4 multicast routing netns-aware.\n\nDynamically allocate IPv4 multicast forwarding cache, mfc_cache_array,\nand move it to struct netns_ipv4.\n\nAt the moment, mfc_cache_array is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf958ae377ee2545ae70cf48d38e7eb4308c27ea",
      "tree": "f304ea66b789f4287968fcaa57831cd4fa8e2576",
      "parents": [
        "70a269e6c9c9b38b1a37dce068c59e9a912f8578"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Thu Jan 22 04:56:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 22 13:57:34 2009 -0800"
      },
      "message": "netns: ipmr: dynamically allocate vif_table\n\nPreliminary work to make IPv6 multicast routing netns-aware.\n\nDynamically allocate interface table vif_table and move it to\nstruct netns_ipv4, and update MIF_EXISTS() macro.\n\nAt the moment, vif_table is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "70a269e6c9c9b38b1a37dce068c59e9a912f8578",
      "tree": "f39e0615f1a2e6588f620969a1f0a05b616f0b0e",
      "parents": [
        "e35fac80ed0bb878f652cc0f70ca268656d275f7"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Thu Jan 22 04:56:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 22 13:57:34 2009 -0800"
      },
      "message": "netns: ipmr: allocate mroute_socket per-namespace.\n\nPreliminary work to make IPv4 multicast routing netns-aware.\n\nMake IPv4 multicast routing mroute_socket per-namespace,\nmoves it into struct netns_ipv4.\n\nAt the moment, mroute_socket is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a9d8f9110d7e953c2f2b521087a4179677843c2a",
      "tree": "4945343dd94bd66964a29055b03c2dd1d119f4d5",
      "parents": [
        "5c0999b72b34541a3734a9138c43d5c024a42d47"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "zbr@ioremap.net",
        "time": "Mon Jan 19 16:46:02 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 14:34:31 2009 -0800"
      },
      "message": "inet: Allowing more than 64k connections and heavily optimize bind(0) time.\n\nWith simple extension to the binding mechanism, which allows to bind more\nthan 64k sockets (or smaller amount, depending on sysctl parameters),\nwe have to traverse the whole bind hash table to find out empty bucket.\nAnd while it is not a problem for example for 32k connections, bind()\ncompletion time grows exponentially (since after each successful binding\nwe have to traverse one bucket more to find empty one) even if we start\neach time from random offset inside the hash table.\n\nSo, when hash table is full, and we want to add another socket, we have\nto traverse the whole table no matter what, so effectivelly this will be\nthe worst case performance and it will be constant.\n\nAttached picture shows bind() time depending on number of already bound\nsockets.\n\nGreen area corresponds to the usual binding to zero port process, which\nturns on kernel port selection as described above. Red area is the bind\nprocess, when number of reuse-bound sockets is not limited by 64k (or\nsysctl parameters). The same exponential growth (hidden by the green\narea) before number of ports reaches sysctl limit.\n\nAt this time bind hash table has exactly one reuse-enbaled socket in a\nbucket, but it is possible that they have different addresses. Actually\nkernel selects the first port to try randomly, so at the beginning bind\nwill take roughly constant time, but with time number of port to check\nafter random start will increase. And that will have exponential growth,\nbut because of above random selection, not every next port selection\nwill necessary take longer time than previous. So we have to consider\nthe area below in the graph (if you could zoom it, you could find, that\nthere are many different times placed there), so area can hide another.\n\nBlue area corresponds to the port selection optimization.\n\nThis is rather simple design approach: hashtable now maintains (unprecise\nand racely updated) number of currently bound sockets, and when number\nof such sockets becomes greater than predefined value (I use maximum\nport range defined by sysctls), we stop traversing the whole bind hash\ntable and just stop at first matching bucket after random start. Above\nlimit roughly corresponds to the case, when bind hash table is full and\nwe turned on mechanism of allowing to bind more reuse-enabled sockets,\nso it does not change behaviour of other sockets.\n\nSigned-off-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nTested-by: Denys Fedoryschenko \u003cdenys@visp.net.lb\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b51414b69148433a79af5dc93463a0489492a788",
      "tree": "b1583ed1e318c6f17b715c26a029418c9834b89b",
      "parents": [
        "004b3225c016efc90cbfe43cdf69c6331462bc56"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Jan 09 13:01:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 14:02:01 2009 -0800"
      },
      "message": "netrom: convert to internal net_device_stats\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a6afe8a733a3edaa1816c10ec2a7353ae0ff47b",
      "tree": "4522d06ce87672bb0a1e5d41c5f8f1ea74fa1f64",
      "parents": [
        "0ba25ff4c669e5395110ba6ab4958a97a9f96922"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Jan 09 13:01:00 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 14:01:59 2009 -0800"
      },
      "message": "clip: convert to internal network_device_stats\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6b50a21625bbf59a89b807dd0fc1eb5412aeff3",
      "tree": "6aa7bd968089f4d0858a6748bac714dd3d36df07",
      "parents": [
        "ef15aa490f2e447ce04fe643500b814ef40f6ea9"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Jan 09 15:25:09 2009 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 16 17:08:23 2009 -0500"
      },
      "message": "mac80211: more kernel-doc fixes\n\nFix (delete) more mac80211 kernel-doc:\n\nWarning(linux-2.6.28-git13//include/net/mac80211.h:375): Excess struct/union/enum/typedef member \u0027retry_count\u0027 description in \u0027ieee80211_tx_info\u0027\nWarning(linux-2.6.28-git13//net/mac80211/sta_info.h:308): Excess struct/union/enum/typedef member \u0027last_txrate\u0027 description in \u0027sta_info\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2a4d71d69f97cef48da969ab917b55e0193ed9ec",
      "tree": "d25057774312c18d33f6682714746a3b12b7278d",
      "parents": [
        "c17931c52ec6b1af710185986e10c344039edeb7"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Fri Jan 09 07:34:00 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 11 00:06:32 2009 -0800"
      },
      "message": "wimax: fix typo in kernel-doc for debugfs_dentry in struct wimax_dev\n\nThe kernel-doc was referring to member @debufs_dentry instead of\n@debugfs_dentry.\n\nReported by Randy Dunlap http://marc.info/?l\u003dlinux-netdev\u0026m\u003d123147942302885\u0026w\u003d2\n\nAs well, escape the colon in the field\u0027s text description, as it is\ncausing the generated text to be erraticly broken up (with paragraphs\nmoved down). Could not find a reason why it is happening so, even when\nother field descriptions use colons and work as expected.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9e8a3a5b8298a3c814ed37ac5756e6f67b6be41",
      "tree": "ffa1cf8b367b3f32155f6336d7b86b781a368019",
      "parents": [
        "2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f",
        "b9bdcbba010c2e49c8f837ea7a49fe006b636f41"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 11:52:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 11:52:14 2009 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (22 commits)\n  ioat: fix self test for multi-channel case\n  dmaengine: bump initcall level to arch_initcall\n  dmaengine: advertise all channels on a device to dma_filter_fn\n  dmaengine: use idr for registering dma device numbers\n  dmaengine: add a release for dma class devices and dependent infrastructure\n  ioat: do not perform removal actions at shutdown\n  iop-adma: enable module removal\n  iop-adma: kill debug BUG_ON\n  iop-adma: let devm do its job, don\u0027t duplicate free\n  dmaengine: kill enum dma_state_client\n  dmaengine: remove \u0027bigref\u0027 infrastructure\n  dmaengine: kill struct dma_client and supporting infrastructure\n  dmaengine: replace dma_async_client_register with dmaengine_get\n  atmel-mci: convert to dma_request_channel and down-level dma_slave\n  dmatest: convert to dma_request_channel\n  dmaengine: introduce dma_request_channel and private channels\n  net_dma: convert to dma_find_channel\n  dmaengine: provide a common \u0027issue_pending_all\u0027 implementation\n  dmaengine: centralize channel allocation, introduce dma_find_channel\n  dmaengine: up-level reference counting to the module level\n  ...\n"
    },
    {
      "commit": "56cf391a9462a4897ea660a6af3662dda5ae8c84",
      "tree": "401a292acb65581396428c2f48cf464646989162",
      "parents": [
        "8cb89571bd66fec6a71d8a2b1de2262722dfbb8d"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jan 08 12:56:57 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 08 12:56:57 2009 -0800"
      },
      "message": "wimax: fix kernel-doc for debufs_dentry member of struct wimax_dev\n\nReported by Randy Dunlap from a warning in the v2.6.29 merge window\ntree as of 2009/1/8.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7f46b1343f723f98634a5dcee47856b2000079ed",
      "tree": "ed22b6298c8dd2f687890a0d79abcd1d273b5f81",
      "parents": [
        "b8c31da64165b8566fc6e1c9c826f76e7b98ff02",
        "9e42d0cf5020aaf217433cad1a224745241d212a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 08 11:05:59 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 08 11:05:59 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "787e9208360117835101f513f7db593dc2525cf8",
      "tree": "fa72092999629c535abb1457a7a4b6c3ae67de6d",
      "parents": [
        "d9d6f46b42294754f8d4ed743124ae8bb8e01fba"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jan 08 10:40:57 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 08 10:40:57 2009 -0800"
      },
      "message": "ipv6: Add GRO support\n\nThis patch adds GRO support for IPv6.  IPv6 GRO supports extension\nheaders in the same way as GSO (by using the same infrastructure).\nIt\u0027s also simpler compared to IPv4 since we no longer have to worry\nabout fragmentation attributes or header checksums.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ace22f0881e1333d0c55ddf484e5352fe03a806a",
      "tree": "e604b974810263cfb6721fd4846bf61888b6b518",
      "parents": [
        "0d695913b0016b362a84a8bb6d6e28f8d90a70e2"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Sat Dec 20 16:57:33 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 07 10:00:16 2009 -0800"
      },
      "message": "wimax: headers for kernel API and user space interaction\n\nDefinitions for the user/kernel API protocol through generic\nnetlink. User space can copy it verbatim and use it.\n\nKernel API definition declares the main data types and calls for the\ndrivers to integrate into the WiMAX stack. Provides usage\ndocumentation.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ac8cc0fa5395fe2278e305a4cbed48e90d88d878",
      "tree": "515f577bfddd054ee4373228be7c974dfb8133af",
      "parents": [
        "238c6d54830c624f34ac9cf123ac04aebfca5013",
        "3699c53c485bf0168e6500d0ed18bf931584dd7c"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 07 09:58:22 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 07 09:58:22 2009 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "f67b45999205164958de4ec0658d51fa4bee066d",
      "tree": "2fc3c2e833fdfea2f029dca05d5401ba9ae63229",
      "parents": [
        "2ba05622b8b143b0c95968ba59bddfbd6d2f2559"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 06 11:38:15 2009 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 06 11:38:15 2009 -0700"
      },
      "message": "net_dma: convert to dma_find_channel\n\nUse the general-purpose channel allocation provided by dmaengine.\n\nReviewed-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\n\n"
    },
    {
      "commit": "6f49a57aa5a0c6d4e4e27c85f7af6c83325a12d1",
      "tree": "afba24357d1f4ff69ccb2b39a19542546590a50b",
      "parents": [
        "07f2211e4fbce6990722d78c4f04225da9c0e9cf"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 06 11:38:14 2009 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 06 11:38:14 2009 -0700"
      },
      "message": "dmaengine: up-level reference counting to the module level\n\nSimply, if a client wants any dmaengine channel then prevent all dmaengine\nmodules from being removed.  Once the clients are done re-enable module\nremoval.\n\nWhy?, beyond reducing complication:\n1/ Tracking reference counts per-transaction in an efficient manner, as\n   is currently done, requires a complicated scheme to avoid cache-line\n   bouncing effects.\n2/ Per-transaction ref-counting gives the false impression that a\n   dma-driver can be gracefully removed ahead of its user (net, md, or\n   dma-slave)\n3/ None of the in-tree dma-drivers talk to hot pluggable hardware, but\n   if such an engine were built one day we still would not need to notify\n   clients of remove events.  The driver can simply return NULL to a\n   -\u003eprep() request, something that is much easier for a client to handle.\n\nReviewed-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\n\n\n"
    },
    {
      "commit": "14deae41566b5cdd992c01d0069518ced5227c83",
      "tree": "d15c3dfabdc3ccf10997487c29df35fa58387e55",
      "parents": [
        "eb4dea5853046727bfbb579f0c9a8cae7369f7c6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 04 16:04:39 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 04 16:04:39 2009 -0800"
      },
      "message": "ipv6: Fix sporadic sendmsg -EINVAL when sending to multicast groups.\n\nThanks to excellent diagnosis by Eduard Guzovsky.\n\nThe core problem is that on a network with lots of active\nmulticast traffic, the neighbour cache can fill up.  If\nwe try to allocate a new route and thus neighbour cache\nentry, the bog-standard GC attempt the neighbour layer does\nin ineffective because route entries hold a reference\nto the existing neighbour entries and GC can only liberate\nentries with no references.\n\nIPV4 already has a way to handle this, by doing a route cache\nGC in such situations (when neigh attach returns -ENOBUFS).\n\nSo simply mimick this on the ipv6 side.\n\nTested-by: Eduard Guzovsky \u003ceguzovsky@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c2e8ac0953fccdd24dc6c4b9e08e8f1cd68cf07",
      "tree": "c52e242ec5e5c2d131af2d9dbb038f78f724a74c",
      "parents": [
        "6a94cb73064c952255336cc57731904174b2c58f"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Wed Dec 31 12:54:11 2008 -0500"
      },
      "committer": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Wed Dec 31 12:54:11 2008 -0500"
      },
      "message": "netlabel: Update kernel configuration API\n\nUpdate the NetLabel kernel API to expose the new features added in kernel\nreleases 2.6.25 and 2.6.28: the static/fallback label functionality and network\naddress based selectors.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\n"
    },
    {
      "commit": "0191b625ca5a46206d2fb862bb08f36f2fcb3b31",
      "tree": "454d1842b1833d976da62abcbd5c47521ebe9bd7",
      "parents": [
        "54a696bd07c14d3b1192d03ce7269bc59b45209a",
        "eb56092fc168bf5af199d47af50c0d84a96db898"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1429 commits)\n  net: Allow dependancies of FDDI \u0026 Tokenring to be modular.\n  igb: Fix build warning when DCA is disabled.\n  net: Fix warning fallout from recent NAPI interface changes.\n  gro: Fix potential use after free\n  sfc: If AN is enabled, always read speed/duplex from the AN advertising bits\n  sfc: When disabling the NIC, close the device rather than unregistering it\n  sfc: SFT9001: Add cable diagnostics\n  sfc: Add support for multiple PHY self-tests\n  sfc: Merge top-level functions for self-tests\n  sfc: Clean up PHY mode management in loopback self-test\n  sfc: Fix unreliable link detection in some loopback modes\n  sfc: Generate unique names for per-NIC workqueues\n  802.3ad: use standard ethhdr instead of ad_header\n  802.3ad: generalize out mac address initializer\n  802.3ad: initialize ports LACPDU from const initializer\n  802.3ad: remove typedef around ad_system\n  802.3ad: turn ports is_individual into a bool\n  802.3ad: turn ports is_enabled into a bool\n  802.3ad: make ntt bool\n  ixgbe: Fix set_ringparam in ixgbe to use the same memory pools.\n  ...\n\nFixed trivial IPv4/6 address printing conflicts in fs/cifs/connect.c due\nto the conversion to %pI (in this networking merge) and the addition of\ndoing IPv6 addresses (from the earlier merge of CIFS).\n"
    },
    {
      "commit": "1db2a5c11e495366bff35cf7445d494703f7febe",
      "tree": "3347dd1cab0a2a96a4333524298a62132eb22336",
      "parents": [
        "a39b863342b8aba52390092be95db58f6ed56061",
        "cef7125def4dd104769f400c941199614da0aca1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:33:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:33:21 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (85 commits)\n  [S390] provide documentation for hvc_iucv kernel parameter.\n  [S390] convert ctcm printks to dev_xxx and pr_xxx macros.\n  [S390] convert zfcp printks to pr_xxx macros.\n  [S390] convert vmlogrdr printks to pr_xxx macros.\n  [S390] convert zfcp dumper printks to pr_xxx macros.\n  [S390] convert cpu related printks to pr_xxx macros.\n  [S390] convert qeth printks to dev_xxx and pr_xxx macros.\n  [S390] convert sclp printks to pr_xxx macros.\n  [S390] convert iucv printks to dev_xxx and pr_xxx macros.\n  [S390] convert ap_bus printks to pr_xxx macros.\n  [S390] convert dcssblk and extmem printks messages to pr_xxx macros.\n  [S390] convert monwriter printks to pr_xxx macros.\n  [S390] convert s390 debug feature printks to pr_xxx macros.\n  [S390] convert monreader printks to pr_xxx macros.\n  [S390] convert appldata printks to pr_xxx macros.\n  [S390] convert setup printks to pr_xxx macros.\n  [S390] convert hypfs printks to pr_xxx macros.\n  [S390] convert time printks to pr_xxx macros.\n  [S390] convert cpacf printks to pr_xxx macros.\n  [S390] convert cio printks to pr_xxx macros.\n  ...\n"
    },
    {
      "commit": "619e803d3c1b7bcc17c45e81f309d0b9b3df2d5d",
      "tree": "c2c279dd155e07e96c7a2f483cce6c48c1640cd6",
      "parents": [
        "64ff3b938ec6782e6585a83d5459b98b0c3f6eb8"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Thu Dec 25 17:21:17 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 25 17:21:17 2008 -0800"
      },
      "message": "netlink: fix (theoretical) overrun in message iteration\n\nSee commit 1045b03e07d85f3545118510a587035536030c1c (\"netlink: fix\noverrun in attribute iteration\") for a detailed explanation of why\nthis patch is necessary.\n\nIn short, nlmsg_next() can make \"remaining\" go negative, and the\nremaining \u003e\u003d sizeof(...) comparison will promote \"remaining\" to an\nunsigned type, which means that the expression will evaluate to\ntrue for negative numbers, even though it was not intended.\n\nI put \"theoretical\" in the title because I have no evidence that\nthis can actually happen, but I suspect that a crafted netlink\npacket can trigger some badness.\n\nNote that the last test, which seemingly has the exact same\nproblem (also true for nla_ok()), is perfectly OK, since we\nalready know that remaining is positive.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aea3c5c05d2c409e93bfa80dcedc06af7da6c13b",
      "tree": "2ee271efa68ef7677c94b1c9daaa33b9ad6a2531",
      "parents": [
        "ea686a2653c5586b1c7192958b9d521abde66e92"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Dec 25 16:57:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 25 16:57:24 2008 -0800"
      },
      "message": "sctp: Implement socket option SCTP_GET_ASSOC_NUMBER\n\nImplement socket option SCTP_GET_ASSOC_NUMBER of the latest ietf socket\nextensions API draft.\n\n  8.2.5.  Get the Current Number of Associations (SCTP_GET_ASSOC_NUMBER)\n\n   This option gets the current number of associations that are attached\n   to a one-to-many style socket.  The option value is an uint32_t.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "91d5d45ee0a8978870fd12e5c3fe394a530ec2ed",
      "tree": "2849fa4ce5110341627f76ac1fe36289fff27154",
      "parents": [
        "44a01d5ba8a4d543694461cd3e178cfa6b3f221b"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Thu Dec 25 13:38:58 2008 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Dec 25 13:39:04 2008 +0100"
      },
      "message": "[S390] iucv: Locking free version of iucv_message_(receive|send)\n\nProvide a locking free version of iucv_message_receive and iucv_message_send\nthat do not call local_bh_enable in a spin_lock_(bh|irqsave)() context.\n\nSigned-off-by: Hendrik Brueckner \u003cbrueckner@linux.vnet.ibm.com\u003e\n"
    }
  ],
  "next": "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db"
}
