)]}'
{
  "log": [
    {
      "commit": "cb0b4beb93d14429bf0c50fc1ab8e26348dca880",
      "tree": "2bdb9aa1f2b3e7e2fdd9425da5ab6aa062134aa5",
      "parents": [
        "c238c8ac63f2d33ea5e7c0b9e9e0ccd8ae9a34e4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 07 03:56:07 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:02:31 2009 -0400"
      },
      "message": "cfg80211: mlme API must be able to sleep\n\nAfter the mac80211 mlme cleanup, we can require that\nthe MLME functions in cfg80211 can sleep. This will\nsimplify future work in cfg80211 a lot.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c238c8ac63f2d33ea5e7c0b9e9e0ccd8ae9a34e4",
      "tree": "c1153e29df9ae06fa5d2a7539aa24edc97af9122",
      "parents": [
        "78485475618cf9f1c70dc7f15e8deafa8b6074ab"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 07 03:56:06 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:02:31 2009 -0400"
      },
      "message": "cfg80211: dont use union for wext\n\nOtherwise it becomes very hard to reset the structs\ncorrectly since wext can be configured while the\ninterface is down.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3e5d7649a64e558e4146ddfad4dfcf13fc65dd47",
      "tree": "fa51725ca07cf682e6694ba5f107d8614d9f0972",
      "parents": [
        "2ffa5fede379091bf62a732462b829e4b51af054"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jul 07 14:37:26 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:02:30 2009 -0400"
      },
      "message": "cfg80211: let SME control reassociation vs. association\n\nSince we don\u0027t really know that well in the kernel,\nlet\u0027s let the SME control whether it wants to use\nreassociation or not, by allowing it to give the\nprevious BSSID in the associate() parameters.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "19957bb399e2722719c0e20c9ae91cf8b6aaff04",
      "tree": "9c4d53fe5938ceee41333a1afd5be0ed5c1ce313",
      "parents": [
        "517357c685ccc4b5783cc7dbdae8824ada19a97f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jul 02 17:20:43 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:53 2009 -0400"
      },
      "message": "cfg80211: keep track of BSSes\n\nIn order to avoid problems with BSS structs going away\nwhile they\u0027re in use, I\u0027ve long wanted to make cfg80211\nkeep track of them. Without the SME, that wasn\u0027t doable\nbut now that we have the SME we can do this too. It can\nkeep track of up to four separate authentications and\none association, regardless of whether it\u0027s controlled\nby the cfg80211 SME or the userspace SME.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "517357c685ccc4b5783cc7dbdae8824ada19a97f",
      "tree": "1e3532ca39233dd59b106011788f68a21ffc88c4",
      "parents": [
        "0eb14647fc6b56f73efb28a72ca0c7cc03a653f9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jul 02 17:18:40 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:53 2009 -0400"
      },
      "message": "cfg80211: assimilate and export ieee80211_bss_get_ie\n\nThis function from mac80211 seems generally useful, and\nI will need it in cfg80211 soon.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8990646d2fafeacfacba4a4b1073a4216662089a",
      "tree": "357fcf85f7e982b9f06aaac9e7c3468c6af0333f",
      "parents": [
        "9930380f0bd8405fa6a51d644f3de88c30666519"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 01 21:27:00 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:52 2009 -0400"
      },
      "message": "cfg80211: implement get_wireless_stats\n\nBy dropping the noise reporting, we can implement\nwireless stats in cfg80211. We also make the\nhandler return NULL if we have no information,\nwhich is possible thanks to the recent wext change.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9930380f0bd8405fa6a51d644f3de88c30666519",
      "tree": "71cd68830b11b648d6b79f1575dc9960631a2ab2",
      "parents": [
        "ab737a4f7dbe57b12b73f482a7b973bf00b41942"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 01 21:26:59 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:52 2009 -0400"
      },
      "message": "cfg80211: implement IWRATE\n\nFor now, let\u0027s implement that using a very hackish way:\nsimply mirror the wext API in the cfg80211 API. This\nwill have to be changed later when we implement proper\nbitrate API.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ab737a4f7dbe57b12b73f482a7b973bf00b41942",
      "tree": "33f3c44073921b9fa4c96ea5501dbfcad59567ac",
      "parents": [
        "bc92afd92088ab41223383cc6863ab4792533c54"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 01 21:26:58 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:52 2009 -0400"
      },
      "message": "cfg80211: implement IWAP for WDS\n\nThis implements siocsiwap/giwap for WDS mode.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bc92afd92088ab41223383cc6863ab4792533c54",
      "tree": "a31d14843f5a63a4a4561bb2ac59e83f4550433c",
      "parents": [
        "f21293549f60f88c74fcb9944737f11048896dc4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 01 21:26:57 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:51 2009 -0400"
      },
      "message": "cfg80211: implement iwpower\n\nJust on/off and timeout, and with a hacky cfg80211 method\nuntil we figure out what we want, though this is probably\nsufficient as we want to use pm_qos for wifi everywhere.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f21293549f60f88c74fcb9944737f11048896dc4",
      "tree": "d4a00663f87816c0c742e74d7b2c9bad31a18816",
      "parents": [
        "6829c878ecd24ff0ae41b4668c7e9d0f11b66942"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 01 21:26:56 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:51 2009 -0400"
      },
      "message": "cfg80211: managed mode wext compatibility\n\nThis adds code to make it possible to use the cfg80211\nconnect() API with wireless extensions, and because the\nprevious patch added emulation of that API with auth()\nand assoc(), by extension also supports wext on that.\nAt the same time, removes code from mac80211 for wext,\nbut doesn\u0027t yet clean up mac80211\u0027s mlme code more.\n\nSigned-off-by: Samuel Ortiz \u003csamuel.ortiz@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6829c878ecd24ff0ae41b4668c7e9d0f11b66942",
      "tree": "acf78b685d60694040953b4f61d768b95b79e45d",
      "parents": [
        "b23aa676ab9d54469cda9f7151f51a2851c6f36e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jul 02 09:13:27 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:51 2009 -0400"
      },
      "message": "cfg80211: emulate connect with auth/assoc\n\nThis adds code to cfg80211 so that drivers (mac80211 right\nnow) that don\u0027t implement connect but rather auth/assoc can\nstill be used with the nl80211 connect command. This will\nalso be necessary for the wext compat code.\n\nSigned-off-by: Samuel Ortiz \u003csamuel.ortiz@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b23aa676ab9d54469cda9f7151f51a2851c6f36e",
      "tree": "dd4af5fa38dbfec362ded1d655ed584bbcf60a53",
      "parents": [
        "6a669e65c5ec393a650362874e13f7d3365a7827"
      ],
      "author": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Wed Jul 01 21:26:54 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:51 2009 -0400"
      },
      "message": "cfg80211: connect/disconnect API\n\nThis patch introduces the cfg80211 connect/disconnect API.\nThe goal here is to run the AUTH and ASSOC steps in one call.\nThis is needed for some fullmac cards that run both steps\ndirectly from the target, after the host driver sends a\nconnect command.\n\nAdditionally, all the new crypto parameters for connect()\nare now also valid for associate() -- although associate\nrequires the IEs to be used, the information can be useful\nfor drivers and should be given.\n\nSigned-off-by: Samuel Ortiz \u003csamuel.ortiz@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "aff89a9b9084931e51b89d8f3ee3c547bea6c422",
      "tree": "592c1dfa2ef994a1b3e117b3d7bc1cc7b7bde637",
      "parents": [
        "5121ea0481f9cea1dfd958f18d7b4ac78778cd40"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 01 21:26:51 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:50 2009 -0400"
      },
      "message": "cfg80211: introduce nl80211 testmode command\n\nThis introduces a new NL80211_CMD_TESTMODE for testing\nand calibration use with nl80211. There\u0027s no multiplexing\nlike like iwpriv had, and the command is not available by\ndefault, it needs to be explicitly enabled in Kconfig and\nshouldn\u0027t be enabled in most kernels.\n\nThe command requires a wiphy index or interface index to\nidentify the device to operate on, and the new TESTDATA\nattribute. There also is API for sending replies to the\ncommand, and testmode multicast messages (on a testmode\nmulticast group).\n\nI\u0027ve also updated mac80211 to be able to pass through the\ncommand to the driver, since it itself doesn\u0027t implement\nthe testmode command.\n\nAdditionally, to give people an idea of how to use the\ncommand, I\u0027ve added a little code to hwsim that makes use\nof the new command to set the powersave mode, this is\ncurrently done via debugfs and should remain there, and\nthe testmode command only serves as an example of how to\nuse this best -- with nested netlink attributes in the\nTESTDATA attribute. A hwsim testmode tool can be found at\nhttp://git.sipsolutions.net/hwsim.git/. This tool is BSD\nlicensed so people can easily use it as a basis for their\nown internal fabrication and validation tools.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5121ea0481f9cea1dfd958f18d7b4ac78778cd40",
      "tree": "18aad23e91cf8cef7f287e0e05367d5e94ce9be5",
      "parents": [
        "0575606b086ad216b7b1976ca9b9a6e711db92f0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 01 21:26:50 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:49 2009 -0400"
      },
      "message": "wext: constify extra argument to wireless_send_event\n\nThis is never changed by the function, so can be marked const.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7ebbe6bd51a259e16608b3fd7b578f5dd1292a45",
      "tree": "1c00bb480bf90c9516c983ee373e7825f49b42f6",
      "parents": [
        "e6d6e3420d511cd7552a95d1f04bd4c80a9ddb34"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 01 21:26:48 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:49 2009 -0400"
      },
      "message": "cfg80211: remove wireless_dev-\u003ebssid\n\nThis variable isn\u0027t necessary -- the wext code keeps\ntrack of the BSSID itself, and otherwise we have\ncurrent_bss.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e6d6e3420d511cd7552a95d1f04bd4c80a9ddb34",
      "tree": "35f34c9ef8fe4c201da36ca819045995a93eeb44",
      "parents": [
        "dad823302135a2d99efd40e35d94a6ff14961c93"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 01 21:26:47 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:49 2009 -0400"
      },
      "message": "cfg80211: use proper allocation flags\n\nInstead of hardcoding GFP_ATOMIC everywhere, add a\nnew function parameter that gets the flags from the\ncaller. Obviously then I need to update all callers\n(all of them in mac80211), and it turns out that now\nit\u0027s ok to use GFP_KERNEL in almost all places.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f1f74825fe01ac77204ca34e3240dec50a8207c2",
      "tree": "f6283e6022c137abcd38b1fa9972fdae195d6905",
      "parents": [
        "90e3012e94be0755a516f60f5339a2a08f4a7d0a"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@googlemail.com",
        "time": "Thu Jun 18 23:21:13 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 15:01:42 2009 -0400"
      },
      "message": "cfg80211: add wrapper function to get wiphy from priv pointer\n\nSigned-off-by: David Kilroy \u003ckilroyd@googlemail.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f1d58c2521eb160178b2151d6326d8dc5d7c8560",
      "tree": "af373bb1a5fbb6bc9436d29095133992d33d6598",
      "parents": [
        "18ad01c43918751cc22f8ee28f6b38b8954a55b2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jun 17 13:13:00 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 14:57:54 2009 -0400"
      },
      "message": "mac80211: push rx status into skb-\u003ecb\n\nWithin mac80211, we often need to copy the rx status into\nskb-\u003ecb. This is wasteful, as drivers could be building it\nin there to start with. This patch changes the API so that\ndrivers are expected to pass the RX status in skb-\u003ecb, now\naccessible as IEEE80211_SKB_RXCB(skb). It also updates all\ndrivers to pass the rx status in there, but only by making\nthem memcpy() it into place before the call to the receive\nfunction (ieee80211_rx(_irqsafe)). Each driver can now be\noptimised on its own schedule.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e36d56b64808aec54b68b4e9976180c1da0933b2",
      "tree": "93f0e696d077b58d1064f3321d52b4611addf104",
      "parents": [
        "e5a8a896f5180f2950695d2d0b79db348d200ca4"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jun 09 21:04:43 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 10 14:57:38 2009 -0400"
      },
      "message": "cfg80211: pass netdev to change_virtual_intf\n\nIf there was a reason I\u0027m passing the ifidx I cannot\nremember it any more and don\u0027t see one now, so let\u0027s\njust pass the pointer itself.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e5a8a896f5180f2950695d2d0b79db348d200ca4",
      "tree": "04adc57ae51a6d30a89ffae970770b81ee81fc23",
      "parents": [
        "bff38771e1065c7fc3de87e47ba366151eea573c",
        "e594e96e8a14101a6decabf6746bd5186287debc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 09 20:18:24 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 09 20:18:24 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "ad46276952f1af34cd91d46d49ba13d347d56367",
      "tree": "55cf35156794ab34d8a607c25fd044c37231f9e4",
      "parents": [
        "a57de0b4336e48db2811a2030bb68dba8dd09d88"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Jul 08 12:10:31 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 09 17:06:58 2009 -0700"
      },
      "message": "memory barrier: adding smp_mb__after_lock\n\nAdding smp_mb__after_lock define to be used as a smp_mb call after\na lock.\n\nMaking it nop for x86, since {read|write|spin}_lock() on x86 are\nfull memory barriers.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a57de0b4336e48db2811a2030bb68dba8dd09d88",
      "tree": "a01c189d5fd55c69c9e2e842241e84b46728bc60",
      "parents": [
        "1b614fb9a00e97b1eab54d4e442d405229c059dd"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Jul 08 12:09:13 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 09 17:06:57 2009 -0700"
      },
      "message": "net: adding memory barrier to the poll and receive callbacks\n\nAdding memory barrier after the poll_wait function, paired with\nreceive callbacks. Adding fuctions sock_poll_wait and sk_has_sleeper\nto wrap the memory barrier.\n\nWithout the memory barrier, following race can happen.\nThe race fires, when following code paths meet, and the tp-\u003ercv_nxt\nand __add_wait_queue updates stay in CPU caches.\n\nCPU1                         CPU2\n\nsys_select                   receive packet\n  ...                        ...\n  __add_wait_queue           update tp-\u003ercv_nxt\n  ...                        ...\n  tp-\u003ercv_nxt check          sock_def_readable\n  ...                        {\n  schedule                      ...\n                                if (sk-\u003esk_sleep \u0026\u0026 waitqueue_active(sk-\u003esk_sleep))\n                                        wake_up_interruptible(sk-\u003esk_sleep)\n                                ...\n                             }\n\nIf there was no cache the code would work ok, since the wait_queue and\nrcv_nxt are opposit to each other.\n\nMeaning that once tp-\u003ercv_nxt is updated by CPU2, the CPU1 either already\npassed the tp-\u003ercv_nxt check and sleeps, or will get the new value for\ntp-\u003ercv_nxt and will return with new data mask.\nIn both cases the process (CPU1) is being added to the wait queue, so the\nwaitqueue_active (CPU2) call cannot miss and will wake up CPU1.\n\nThe bad case is when the __add_wait_queue changes done by CPU1 stay in its\ncache, and so does the tp-\u003ercv_nxt update on CPU2 side.  The CPU1 will then\nendup calling schedule and sleep forever if there are no more data on the\nsocket.\n\nCalls to poll_wait in following modules were ommited:\n\tnet/bluetooth/af_bluetooth.c\n\tnet/irda/af_irda.c\n\tnet/irda/irnet/irnet_ppp.c\n\tnet/mac80211/rc80211_pid_debugfs.c\n\tnet/phonet/socket.c\n\tnet/rds/af_rds.c\n\tnet/rfkill/core.c\n\tnet/sunrpc/cache.c\n\tnet/sunrpc/rpc_pipe.c\n\tnet/tipc/socket.c\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e04af024b2e74249990587e76ec98220028c01c3",
      "tree": "bef924e031c9253bbc132487a743207831e9279f",
      "parents": [
        "1490fd89474dab9c560d3cca1a4aefbdb89be247"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Fri Jul 03 20:11:58 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 05 19:16:18 2009 -0700"
      },
      "message": "net, netns_xt: shrink netns_xt members\n\nIn case if kernel was compiled without ebtables support\nthere is no need to keep ebt_table pointers in netns_xt\nstructure.\n\nMake it config dependent.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af794c74240d8d788058bdfee339512e7ac029b2",
      "tree": "674ef9a7c3794610919439062d499bab6b042e39",
      "parents": [
        "6f5bec195839dba3ca0ab8a7a53861e679109c0b"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Thu Jun 25 04:42:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 05 19:16:10 2009 -0700"
      },
      "message": "cleanup: remove unused member in scm_cookie.\n\nThis patch removes an unused member (seq) scm_cookie; besides initialized\nto 0 in the header file, it is not used.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "53bd9728bf9be7fc3b3147e821dbeb71d767c354",
      "tree": "3e4dcda28ef94b6d67d24d22b4e1ec76f6fcd968",
      "parents": [
        "bd46cb6cf11867130a41ea9546dd65688b71f3c2",
        "d6d3f08b0fd998b647a05540cedd11a067b72867"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 29 19:22:31 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 29 19:22:31 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6\n"
    },
    {
      "commit": "a3a9f79e361e864f0e9d75ebe2a0cb43d17c4272",
      "tree": "e38bb7cc051cf197a813d553713e3071d375a1b9",
      "parents": [
        "308ff823ebd749a94d3b6ac26b95bc0eb114c39e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 29 14:07:56 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 29 14:07:56 2009 +0200"
      },
      "message": "netfilter: tcp conntrack: fix unacknowledged data detection with NAT\n\nWhen NAT helpers change the TCP packet size, the highest seen sequence\nnumber needs to be corrected. This is currently only done upwards, when\nthe packet size is reduced the sequence number is unchanged. This causes\nTCP conntrack to falsely detect unacknowledged data and decrease the\ntimeout.\n\nFix by updating the highest seen sequence number in both directions after\npacket mangling.\n\nTested-by: Krzysztof Piotr Oledzki \u003cole@ans.pl\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "c7a1a4c80f873d5d6ecd173035bb80eba489f380",
      "tree": "5e5ab834178d4acf3074047932d498dff8cf6e52",
      "parents": [
        "11687a1099583273a8a98ec42af62b5bb5a69e45"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Wed Jun 24 01:07:44 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 25 02:58:15 2009 -0700"
      },
      "message": "Phonet: publicize the Netlink notification function\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": "09ce42d3167e3f20b501fa780c2415332330fac5",
      "tree": "2f0a6e2e3ec51187f4df78e8c75aa31602a6edd4",
      "parents": [
        "d7ed9c05ebf56c04811276207d7110706debe09f",
        "7959ea254ed18faee41160b1c50b3c9664735967"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 24 10:01:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 24 10:01:12 2009 -0700"
      },
      "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:\n  bnx2: Fix the behavior of ethtool when ONBOOT\u003dno\n  qla3xxx: Don\u0027t sleep while holding lock.\n  qla3xxx: Give the PHY time to come out of reset.\n  ipv4 routing: Ensure that route cache entries are usable and reclaimable with caching is off\n  net: Move rx skb_orphan call to where needed\n  ipv6: Use correct data types for ICMPv6 type and code\n  net: let KS8842 driver depend on HAS_IOMEM\n  can: let SJA1000 driver depend on HAS_IOMEM\n  netxen: fix firmware init handshake\n  netxen: fix build with without CONFIG_PM\n  netfilter: xt_rateest: fix comparison with self\n  netfilter: xt_quota: fix incomplete initialization\n  netfilter: nf_log: fix direct userspace memory access in proc handler\n  netfilter: fix some sparse endianess warnings\n  netfilter: nf_conntrack: fix conntrack lookup race\n  netfilter: nf_conntrack: fix confirmation race condition\n  netfilter: nf_conntrack: death_by_timeout() fix\n"
    },
    {
      "commit": "d55d87fdff8252d0e2f7c28c2d443aee17e9d70f",
      "tree": "a4bfb0a47525672c690b63e85bf3f47f4ab014f7",
      "parents": [
        "d5fdd6babcfc2b0e6a8da1acf492a69fb54b4c47"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 22 02:25:25 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 23 16:36:25 2009 -0700"
      },
      "message": "net: Move rx skb_orphan call to where needed\n\nIn order to get the tun driver to account packets, we need to be\nable to receive packets with destructors set.  To be on the safe\nside, I added an skb_orphan call for all protocols by default since\nsome of them (IP in particular) cannot handle receiving packets\ndestructors properly.\n\nNow it seems that at least one protocol (CAN) expects to be able\nto pass skb-\u003esk through the rx path without getting clobbered.\n\nSo this patch attempts to fix this properly by moving the skb_orphan\ncall to where it\u0027s actually needed.  In particular, I\u0027ve added it\nto skb_set_owner_[rw] which is what most users of skb-\u003edestructor\ncall.\n\nThis is actually an improvement for tun too since it means that\nwe only give back the amount charged to the socket when the skb\nis passed to another socket that will also be charged accordingly.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nTested-by: Oliver Hartkopp \u003colver@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d5fdd6babcfc2b0e6a8da1acf492a69fb54b4c47",
      "tree": "e4ebdb5d6c4b1ddc16f83e701e3e6038c379a497",
      "parents": [
        "0cf08dcb78e8d61b6d4b2eb5cdb296d969971626"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Tue Jun 23 04:31:07 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 23 04:31:07 2009 -0700"
      },
      "message": "ipv6: Use correct data types for ICMPv6 type and code\n\nChange all the code that deals directly with ICMPv6 type and code\nvalues to use u8 instead of a signed int as that\u0027s the actual data\ntype.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5165aece0efac6574fc3e32b6f1c2a964820d1c6",
      "tree": "73131c06a021578a47526a95bad391dbd9d3b932",
      "parents": [
        "e38be994b9cad09b0d8d78a1875d7e8a2e115d29",
        "f6b24caaf933a466397915a08e30e885a32f905a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 11:57:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 11:57:09 2009 -0700"
      },
      "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: (43 commits)\n  via-velocity: Fix velocity driver unmapping incorrect size.\n  mlx4_en: Remove redundant refill code on RX\n  mlx4_en: Removed redundant check on lso header size\n  mlx4_en: Cancel port_up check in transmit function\n  mlx4_en: using stop/start_all_queues\n  mlx4_en: Removed redundant skb-\u003elen check\n  mlx4_en: Counting all the dropped packets on the TX side\n  usbnet cdc_subset: fix issues talking to PXA gadgets\n  Net: qla3xxx, remove sleeping in atomic\n  ipv4: fix NULL pointer + success return in route lookup path\n  isdn: clean up documentation index\n  cfg80211: validate station settings\n  cfg80211: allow setting station parameters in mesh\n  cfg80211: allow adding/deleting stations on mesh\n  ath5k: fix beacon_int handling\n  MAINTAINERS: Fix Atheros pattern paths\n  ath9k: restore PS mode, before we put the chip into FULL SLEEP state.\n  ath9k: wait for beacon frame along with CAB\n  acer-wmi: fix rfkill conversion\n  ath5k: avoid PCI FATAL interrupts by restoring RETRY_TIMEOUT disabling\n  ...\n"
    },
    {
      "commit": "0ea920d211e0a870871965418923b08da2025b4a",
      "tree": "5dc3451a2011f0d32839b5aef20d9aaec1da78cf",
      "parents": [
        "bb664f49f8be17d7b8bf9821144e8a53d7fcfe8a"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Wed Jun 17 21:54:48 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 19 00:10:40 2009 -0700"
      },
      "message": "af_iucv: Return -EAGAIN if iucv msg limit is exceeded\n\nIf the iucv message limit for a communication path is exceeded,\nsendmsg() returns -EAGAIN instead of -EPIPE.\nThe calling application can then handle this error situtation,\ne.g. to try again after waiting some time.\n\nFor blocking sockets, sendmsg() waits up to the socket timeout\nbefore returning -EAGAIN. For the new wait condition, a macro\nhas been introduced and the iucv_sock_wait_state() has been\nrefactored to this macro.\n\nSigned-off-by: Hendrik Brueckner \u003cbrueckner@linux.vnet.ibm.com\u003e\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d2aa4550379f92e929af7ed1dd4f55e6a1e331f8",
      "tree": "5ef0fc69a507f0d701fd157b6652427eabd5efdd",
      "parents": [
        "9e3e4b1d2d13bead8d52703c82a02b55f108b491",
        "cb2107be43d2fc5eadec58b92b54bf32c00bfff3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 14:07:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 14:07:15 2009 -0700"
      },
      "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: (55 commits)\n  netxen: fix tx ring accounting\n  netxen: fix detection of cut-thru firmware mode\n  forcedeth: fix dma api mismatches\n  atm: sk_wmem_alloc initial value is one\n  net: correct off-by-one write allocations reports\n  via-velocity : fix no link detection on boot\n  Net / e100: Fix suspend of devices that cannot be power managed\n  TI DaVinci EMAC : Fix rmmod error\n  net: group address list and its count\n  ipv4: Fix fib_trie rebalancing, part 2\n  pkt_sched: Update drops stats in act_police\n  sky2: version 1.23\n  sky2: add GRO support\n  sky2: skb recycling\n  sky2: reduce default transmit ring\n  sky2: receive counter update\n  sky2: fix shutdown synchronization\n  sky2: PCI irq issues\n  sky2: more receive shutdown\n  sky2: turn off pause during shutdown\n  ...\n\nManually fix trivial conflict in net/core/skbuff.c due to kmemcheck\n"
    },
    {
      "commit": "c564039fd83ea16a86a96d52632794b24849e507",
      "tree": "42c9f525d08ea2e7d36c0231cc628587a175a39b",
      "parents": [
        "1d4ac5d5ef9dd965ae211ebe8acbf83dc4d9571b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 16 10:12:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 17 04:31:25 2009 -0700"
      },
      "message": "net: sk_wmem_alloc has initial value of one, not zero\n\ncommit 2b85a34e911bf483c27cfdd124aeb1605145dc80\n(net: No more expensive sock_hold()/sock_put() on each tx)\nchanged initial sk_wmem_alloc value.\n\nSome protocols check sk_wmem_alloc value to determine if a timer\nmust delay socket deallocation. We must take care of the sk_wmem_alloc\nvalue being one instead of zero when no write allocations are pending.\n\nReported by Ingo Molnar, and full diagnostic from David Miller.\n\nThis patch introduces three helpers to get read/write allocations\nand a followup patch will use these helpers to report correct\nwrite allocations to user.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b3fec0fe35a4ff048484f1408385a27695d4273b",
      "tree": "088c23f098421ea681d9976a83aad73d15be1027",
      "parents": [
        "e1f5b94fd0c93c3e27ede88b7ab652d086dc960f",
        "722f2a6c87f34ee0fd0130a8cf45f81e0705594a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:09:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:09:51 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck\n\n* \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck: (39 commits)\n  signal: fix __send_signal() false positive kmemcheck warning\n  fs: fix do_mount_root() false positive kmemcheck warning\n  fs: introduce __getname_gfp()\n  trace: annotate bitfields in struct ring_buffer_event\n  net: annotate struct sock bitfield\n  c2port: annotate bitfield for kmemcheck\n  net: annotate inet_timewait_sock bitfields\n  ieee1394/csr1212: fix false positive kmemcheck report\n  ieee1394: annotate bitfield\n  net: annotate bitfields in struct inet_sock\n  net: use kmemcheck bitfields API for skbuff\n  kmemcheck: introduce bitfield API\n  kmemcheck: add opcode self-testing at boot\n  x86: unify pte_hidden\n  x86: make _PAGE_HIDDEN conditional\n  kmemcheck: make kconfig accessible for other architectures\n  kmemcheck: enable in the x86 Kconfig\n  kmemcheck: add hooks for the page allocator\n  kmemcheck: add hooks for page- and sg-dma-mappings\n  kmemcheck: don\u0027t track page tables\n  ...\n"
    },
    {
      "commit": "14ebaf81e13ce66bff275380b246796fd16cbfa1",
      "tree": "6da2824a42a07f325787130d093e1a986fa29110",
      "parents": [
        "a1870b9cc280fe16fed13994810f8a1687be3bcf"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 16 05:40:30 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 16 05:40:30 2009 -0700"
      },
      "message": "x25: Fix sleep from timer on socket destroy.\n\nIf socket destuction gets delayed to a timer, we try to\nlock_sock() from that timer which won\u0027t work.\n\nUse bh_lock_sock() in that case.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a98b65a3ad71e702e760bc63f57684301628e837",
      "tree": "6ec3d174f315e9b77faf25c354f5eda99bd31301",
      "parents": [
        "c53bd2e1949ddbe06fe2a6079c0658d58ce25edb"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Thu Feb 26 14:46:57 2009 +0100"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:49:36 2009 +0200"
      },
      "message": "net: annotate struct sock bitfield\n\n2009/2/24 Ingo Molnar \u003cmingo@elte.hu\u003e:\n\u003e ok, this is the last warning i have from today\u0027s overnight -tip\n\u003e testruns - a 32-bit system warning in sock_init_data():\n\u003e\n\u003e [    2.610389] NET: Registered protocol family 16\n\u003e [    2.616138] initcall netlink_proto_init+0x0/0x170 returned 0 after 7812 usecs\n\u003e [    2.620010] WARNING: kmemcheck: Caught 32-bit read from uninitialized memory (f642c184)\n\u003e [    2.624002] 010000000200000000000000604990c000000000000000000000000000000000\n\u003e [    2.634076]  i i i i i i u u i i i i i i i i i i i i i i i i i i i i i i i i\n\u003e [    2.641038]          ^\n\u003e [    2.643376]\n\u003e [    2.644004] Pid: 1, comm: swapper Not tainted (2.6.29-rc6-tip-01751-g4d1c22c-dirty #885)\n\u003e [    2.648003] EIP: 0060:[\u003cc07141a1\u003e] EFLAGS: 00010282 CPU: 0\n\u003e [    2.652008] EIP is at sock_init_data+0xa1/0x190\n\u003e [    2.656003] EAX: 0001a800 EBX: f6836c00 ECX: 00463000 EDX: c0e46fe0\n\u003e [    2.660003] ESI: f642c180 EDI: c0b83088 EBP: f6863ed8 ESP: c0c412ec\n\u003e [    2.664003]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\n\u003e [    2.668003] CR0: 8005003b CR2: f682c400 CR3: 00b91000 CR4: 000006f0\n\u003e [    2.672003] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000\n\u003e [    2.676003] DR6: ffff4ff0 DR7: 00000400\n\u003e [    2.680002]  [\u003cc07423e5\u003e] __netlink_create+0x35/0xa0\n\u003e [    2.684002]  [\u003cc07443cc\u003e] netlink_kernel_create+0x4c/0x140\n\u003e [    2.688002]  [\u003cc072755e\u003e] rtnetlink_net_init+0x1e/0x40\n\u003e [    2.696002]  [\u003cc071b601\u003e] register_pernet_operations+0x11/0x30\n\u003e [    2.700002]  [\u003cc071b72c\u003e] register_pernet_subsys+0x1c/0x30\n\u003e [    2.704002]  [\u003cc0bf3c8c\u003e] rtnetlink_init+0x4c/0x100\n\u003e [    2.708002]  [\u003cc0bf4669\u003e] netlink_proto_init+0x159/0x170\n\u003e [    2.712002]  [\u003cc0101124\u003e] do_one_initcall+0x24/0x150\n\u003e [    2.716002]  [\u003cc0bbf3c7\u003e] do_initcalls+0x27/0x40\n\u003e [    2.723201]  [\u003cc0bbf3fc\u003e] do_basic_setup+0x1c/0x20\n\u003e [    2.728002]  [\u003cc0bbfb8a\u003e] kernel_init+0x5a/0xa0\n\u003e [    2.732002]  [\u003cc0103e47\u003e] kernel_thread_helper+0x7/0x10\n\u003e [    2.736002]  [\u003cffffffff\u003e] 0xffffffff\n\nWe fix this false positive by annotating the bitfield in struct\nsock.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "9e337b0fb3baa3c22490365b1bdee6f4741413d4",
      "tree": "bba282e16e73c7e911e1a83ffe249a0ae05b4f1d",
      "parents": [
        "96c25c81ecf452b778e2f432bd17c95de637d129"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Sat Oct 18 17:37:51 2008 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:49:32 2009 +0200"
      },
      "message": "net: annotate inet_timewait_sock bitfields\n\nThe use of bitfields here would lead to false positive warnings with\nkmemcheck. Silence them.\n\n(Additionally, one erroneous comment related to the bitfield was also\nfixed.)\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "45e3ff82708c65c895d5c5882aff17ecf62a80b5",
      "tree": "31171009a60298b436b7e838497c16db4a2a2fc6",
      "parents": [
        "fe55f6d5c0cfec4a710ef6ff63f162b99d5f7842"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Tue Sep 09 06:43:12 2008 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:49:27 2009 +0200"
      },
      "message": "net: annotate bitfields in struct inet_sock\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "ca44d6e60f9de26281fda203f58b570e1748c015",
      "tree": "9620f3f91836f608a084acb78d1a178135cfd3b0",
      "parents": [
        "e0f7cb8c8cc6cccce28d2ce39ad8c60d23c3799f"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Jun 15 02:31:47 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 15 02:31:47 2009 -0700"
      },
      "message": "pkt_sched: Rename PSCHED_US2NS and PSCHED_NS2US\n\nLet\u0027s use TICKS instead of US, so PSCHED_TICKS2NS and PSCHED_NS2TICKS\n(like in PSCHED_TICKS_PER_SEC already) to avoid misleading.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd7669a92c6066b2b31bae7e04cd787092920883",
      "tree": "d06a9e18aec99c5a34a191cb3391e74ba8a8ec59",
      "parents": [
        "d219dce76c64f2c883dad0537fa09a56d5ff0a10"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Jun 13 12:30:52 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jun 13 12:30:52 2009 +0200"
      },
      "message": "netfilter: conntrack: optional reliable conntrack event delivery\n\nThis patch improves ctnetlink event reliability if one broadcast\nlistener has set the NETLINK_BROADCAST_ERROR socket option.\n\nThe logic is the following: if an event delivery fails, we keep\nthe undelivered events in the missed event cache. Once the next\npacket arrives, we add the new events (if any) to the missed\nevents in the cache and we try a new delivery, and so on. Thus,\nif ctnetlink fails to deliver an event, we try to deliver them\nonce we see a new packet. Therefore, we may lose state\ntransitions but the userspace process gets in sync at some point.\n\nAt worst case, if no events were delivered to userspace, we make\nsure that destroy events are successfully delivered. Basically,\nif ctnetlink fails to deliver the destroy event, we remove the\nconntrack entry from the hashes and we insert them in the dying\nlist, which contains inactive entries. Then, the conntrack timer\nis added with an extra grace timeout of random32() % 15 seconds\nto trigger the event again (this grace timeout is tunable via\n/proc). The use of a limited random timeout value allows\ndistributing the \"destroy\" resends, thus, avoiding accumulating\nlots \"destroy\" events at the same time. Event delivery may\nre-order but we can identify them by means of the tuple plus\nthe conntrack ID.\n\nThe maximum number of conntrack entries (active or inactive) is\nstill handled by nf_conntrack_max. Thus, we may start dropping\npackets at some point if we accumulate a lot of inactive conntrack\nentries that did not successfully report the destroy event to\nuserspace.\n\nDuring my stress tests consisting of setting a very small buffer\nof 2048 bytes for conntrackd and the NETLINK_BROADCAST_ERROR socket\nflag, and generating lots of very small connections, I noticed\nvery few destroy entries on the fly waiting to be resend.\n\nA simple way to test this patch consist of creating a lot of\nentries, set a very small Netlink buffer in conntrackd (+ a patch\nwhich is not in the git tree to set the BROADCAST_ERROR flag)\nand invoke `conntrack -F\u0027.\n\nFor expectations, no changes are introduced in this patch.\nCurrently, event delivery is only done for new expectations (no\nevents from expectation expiration, removal and confirmation).\nIn that case, they need a per-expectation event cache to implement\nthe same idea that is exposed in this patch.\n\nThis patch can be useful to provide reliable flow-accouting. We\nstill have to add a new conntrack extension to store the creation\nand destroy time.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "9858a3ae1d4b390fbaa9c30b83cb66d861b76294",
      "tree": "897127b38a48de3c8c404431303614218ba2bc0f",
      "parents": [
        "a0891aa6a635f658f29bb061a00d6d3486941519"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Jun 13 12:28:22 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jun 13 12:28:22 2009 +0200"
      },
      "message": "netfilter: conntrack: move helper destruction to nf_ct_helper_destroy()\n\nThis patch moves the helper destruction to a function that lives\nin nf_conntrack_helper.c. This new function is used in the patch\nto add ctnetlink reliable event delivery.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "a0891aa6a635f658f29bb061a00d6d3486941519",
      "tree": "40df3898f9f2e0892683c482d81deec4fd5a9257",
      "parents": [
        "65cb9fda32be613216f601a330b311c3bd7a8436"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Jun 13 12:26:29 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jun 13 12:26:29 2009 +0200"
      },
      "message": "netfilter: conntrack: move event caching to conntrack extension infrastructure\n\nThis patch reworks the per-cpu event caching to use the conntrack\nextension infrastructure.\n\nThe main drawback is that we consume more memory per conntrack\nif event delivery is enabled. This patch is required by the\nreliable event delivery that follows to this patch.\n\nBTW, this patch allows you to enable/disable event delivery via\n/proc/sys/net/netfilter/nf_conntrack_events in runtime, although\nyou can still disable event caching as compilation option.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "36432dae73cf2c90a59b39c8df9fd8219272b005",
      "tree": "660b9104305a809ec4fdeb295ca13d6e90790ecc",
      "parents": [
        "440f0d588555892601cfe511728a0fc0c8204063",
        "bb400801c2f40bbd9a688818323ad09abfc4e581"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jun 11 16:00:49 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jun 11 16:00:49 2009 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n"
    },
    {
      "commit": "bb400801c2f40bbd9a688818323ad09abfc4e581",
      "tree": "bf23baef0cdc7590b73a53e6b1e88565ba455cf1",
      "parents": [
        "130aa61a77b8518f1ea618e1b7d214d60b405f10",
        "611b30f74b5d8ca036a9923b3bf6e0ee10a21a53"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 11 05:47:43 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 11 05:47:43 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6\n"
    },
    {
      "commit": "2b85a34e911bf483c27cfdd124aeb1605145dc80",
      "tree": "3cea3e8a27b62de2f92e759641c27200d8bde421",
      "parents": [
        "f2333a014c1e13ac8e1b73a6fd77731c524eff78"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jun 11 02:55:43 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 11 02:55:43 2009 -0700"
      },
      "message": "net: No more expensive sock_hold()/sock_put() on each tx\n\nOne of the problem with sock memory accounting is it uses\na pair of sock_hold()/sock_put() for each transmitted packet.\n\nThis slows down bidirectional flows because the receive path\nalso needs to take a refcount on socket and might use a different\ncpu than transmit path or transmit completion path. So these\ntwo atomic operations also trigger cache line bounces.\n\nWe can see this in tx or tx/rx workloads (media gateways for example),\nwhere sock_wfree() can be in top five functions in profiles.\n\nWe use this sock_hold()/sock_put() so that sock freeing\nis delayed until all tx packets are completed.\n\nAs we also update sk_wmem_alloc, we could offset sk_wmem_alloc\nby one unit at init time, until sk_free() is called.\nOnce sk_free() is called, we atomic_dec_and_test(sk_wmem_alloc)\nto decrement initial offset and atomicaly check if any packets\nare in flight.\n\nskb_set_owner_w() doesnt call sock_hold() anymore\n\nsock_wfree() doesnt call sock_put() anymore, but check if sk_wmem_alloc\nreached 0 to perform the final freeing.\n\nDrawback is that a skb-\u003etruesize error could lead to unfreeable sockets, or\neven worse, prematurely calling __sk_free() on a live socket.\n\nNice speedups on SMP. tbench for example, going from 2691 MB/s to 2711 MB/s\non my 8 cpu dev machine, even if tbench was not really hitting sk_refcnt\ncontention point. 5 % speedup on a UDP transmit workload (depends\non number of flows), lowering TX completion cpu usage.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f77f3849cc3ae2d6df9301785a3d316ea7d7ee1",
      "tree": "02143d1e81c85f64900546e3e9c2b820f72745d1",
      "parents": [
        "fc240e3fc5791c572402b0857948da7b1e68d77f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Jun 07 21:58:37 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 10 13:28:37 2009 -0400"
      },
      "message": "mac80211: do not pass PS frames out of mac80211 again\n\nIn order to handle powersave frames properly we had needed\nto pass these out to the device queues again, and introduce\nthe skb-\u003erequeue bit. This, however, also has unnecessary\noverhead by needing to \u0027clean up\u0027 already tried frames, and\nthis clean-up code is also buggy when software encryption\nis used.\n\nInstead of sending the frames via the master netdev queue\nagain, simply put them into the pending queue. This also\nfixes a problem where frames for that particular station\ncould be reordered when some were still on the software\nqueues and older ones are re-injected into the software\nqueue after them.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "440f0d588555892601cfe511728a0fc0c8204063",
      "tree": "1b98fe9ec8f7e7337f7eed09af2c36a43a9f92b8",
      "parents": [
        "a31e1ffd2231b8fdf7eda9ed750a4a0df9bcad4e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jun 10 14:32:47 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jun 10 14:32:47 2009 +0200"
      },
      "message": "netfilter: nf_conntrack: use per-conntrack locks for protocol data\n\nIntroduce per-conntrack locks and use them instead of the global protocol\nlocks to avoid contention. Especially tcp_lock shows up very high in\nprofiles on larger machines.\n\nThis will also allow to simplify the upcoming reliable event delivery patches.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "2c21d11518b688cd4c8e7ddfcd4ba41482ad075b",
      "tree": "9f662cdc499da079616b882b98ab71e488bd5a4d",
      "parents": [
        "9ec7671603573ede31207eb5b0b3e1aa211b2854"
      ],
      "author": {
        "name": "Sergey Lapin",
        "email": "slapin@ossfans.org",
        "time": "Mon Jun 08 12:18:49 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 09 05:25:33 2009 -0700"
      },
      "message": "net: add NL802154 interface for configuration of 802.15.4 devices\n\nAdd a netlink interface for configuration of IEEE 802.15.4 device. Also this\ninterface specifies events notification sent by devices towards higher layers.\n\nSigned-off-by: Dmitry Eremin-Solenikov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: Sergey Lapin \u003cslapin@ossfans.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ec7671603573ede31207eb5b0b3e1aa211b2854",
      "tree": "9cfb301ce6d1e1296a3a253feaa1a40d4c2b3bd9",
      "parents": [
        "fcb94e422479da52ed90bab230c59617a0462416"
      ],
      "author": {
        "name": "Sergey Lapin",
        "email": "slapin@ossfans.org",
        "time": "Mon Jun 08 12:18:48 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 09 05:25:32 2009 -0700"
      },
      "message": "net: add IEEE 802.15.4 socket family implementation\n\nAdd support for communication over IEEE 802.15.4 networks. This implementation\nis neither certified nor complete, but aims to that goal. This commit contains\nonly the socket interface for communication over IEEE 802.15.4 networks.\nOne can either send RAW datagrams or use SOCK_DGRAM to encapsulate data\ninside normal IEEE 802.15.4 packets.\n\nConfiguration interface, drivers and software MAC 802.15.4 implementation will\nfollow.\n\nInitial implementation was done by Maxim Gorbachyov, Maxim Osipov and Pavel\nSmolensky as a research project at Siemens AG. Later the stack was heavily\nreworked to better suit the linux networking model, and is now maitained\nas an open project partially sponsored by Siemens.\n\nSigned-off-by: Dmitry Eremin-Solenikov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: Sergey Lapin \u003cslapin@ossfans.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4a710c4a7490587406462bf1d54504b7783d7d7",
      "tree": "c6d0c9c1e54626cba706a3f9ce2e077afadc9eb0",
      "parents": [
        "728bf09827d350cdaa1f093170e745e8dac49b7a"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Jun 08 22:05:13 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 09 05:25:30 2009 -0700"
      },
      "message": "pkt_sched: Change PSCHED_SHIFT from 10 to 6\n\nChange PSCHED_SHIFT from 10 to 6 to increase schedulers time\nresolution. This will increase 16x a number of (internal) ticks per\nnanosecond, and is needed to improve accuracy of schedulers based on\nrate tables, like HTB, TBF or CBQ, with rates above 100Mbit. It is\nassumed this change is safe for 32bit accounting of time diffs up\nto 2 minutes, which should be enough for common use (extremely low\nrate values may overflow, so get inaccurate instead). To make full\nuse of this change an updated iproute2 will be needed. (But using\nolder iproute2 should be safe too.)\n\nThis change breaks ticks - microseconds similarity, so some minor code\nfixes might be needed. It is also planned to change naming adequately\neg. to PSCHED_TICKS2NS() etc. in the near future.\n\nReported-by: Antonio Almeida \u003cvexwek@gmail.com\u003e\nTested-by: Antonio Almeida \u003cvexwek@gmail.com\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "728bf09827d350cdaa1f093170e745e8dac49b7a",
      "tree": "2a493b68ce1414ff9ae91d759d2ffe2f4fb4560a",
      "parents": [
        "0c27922e4933ceb86644f4a9b1af212ffe5aad75"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Jun 08 22:05:00 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 09 05:25:29 2009 -0700"
      },
      "message": "pkt_sched: Use PSCHED_SHIFT in PSCHED time conversion\n\nUse PSCHED_SHIFT constant instead of \u002710\u0027 in PSCHED_US2NS() and\nPSCHED_NS2US() macros to enable changing this value later.\n\nAdditionally use PSCHED_SHIFT in sch_hfsc SM_SHIFT and ISM_SHIFT\ndefinitions. This part of the patch is based on feedback from\nPatrick McHardy \u003ckaber@trash.net\u003e.\n\nReported-by: Antonio Almeida \u003cvexwek@gmail.com\u003e\nTested-by: Antonio Almeida \u003cvexwek@gmail.com\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05f77f85f47e30a53f7971b687f3b0250e42f665",
      "tree": "798b920ff7b1959c43006e7c5c4462acafd8233e",
      "parents": [
        "963267bc5d4de4a0da104a64300375d186575332"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 08 16:16:56 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 08 16:16:56 2009 -0700"
      },
      "message": "bluetooth: Kill skb_frags_no(), unused.\n\nFurthermore, it twiddles with the details of SKB list handling\ndirectly, which we\u0027re trying to eliminate.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f87fb666bb00a7afcbd7992d236e42ac544996f9",
      "tree": "0ec53ee8c373e6b4224b2fda40ed4fc49c1ed822",
      "parents": [
        "17f2f52be0edb6d1ff5a3675f2bc545aea2dbf76"
      ],
      "author": {
        "name": "Jan Kasprzak",
        "email": "kas@fi.muni.cz",
        "time": "Mon Jun 08 15:53:43 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 08 15:53:43 2009 +0200"
      },
      "message": "netfilter: nf_ct_icmp: keep the ICMP ct entries longer\n\nCurrent conntrack code kills the ICMP conntrack entry as soon as\nthe first reply is received. This is incorrect, as we then see only\nthe first ICMP echo reply out of several possible duplicates as\nESTABLISHED, while the rest will be INVALID. Also this unnecessarily\nincreases the conntrackd traffic on H-A firewalls.\n\nMake all the ICMP conntrack entries (including the replied ones)\nlast for the default of nf_conntrack_icmp{,v6}_timeout seconds.\n\nSigned-off-by: Jan \"Yenya\" Kasprzak \u003ckas@fi.muni.cz\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "611b30f74b5d8ca036a9923b3bf6e0ee10a21a53",
      "tree": "75da131d873d19c2ee40dd6b05bf094d5afed2c1",
      "parents": [
        "092b85853b161a5ca285c429faf1cf2ff4318a01"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jun 08 14:41:38 2009 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jun 08 14:50:01 2009 +0200"
      },
      "message": "Bluetooth: Add native RFKILL soft-switch support for all devices\n\nWith the re-write of the RFKILL subsystem it is now possible to easily\nintegrate RFKILL soft-switch support into the Bluetooth subsystem. All\nBluetooth devices will now get automatically RFKILL support.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "b4324b5dc5b62ba76372e1bf8927230cf744df66",
      "tree": "0827bb177760bd2bdac41fbf6466eb1c825b9d88",
      "parents": [
        "47ec1dcd696d56a7c396e5838516a566ecd4b03d"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Jun 07 18:06:51 2009 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jun 08 14:50:01 2009 +0200"
      },
      "message": "Bluetooth: Remove pointless endian conversion helpers\n\nThe Bluetooth source uses some endian conversion helpers, that in the end\ntranslate to kernel standard routines. So remove this obfuscation since it\nis fully pointless.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "47ec1dcd696d56a7c396e5838516a566ecd4b03d",
      "tree": "bd730bf14a5f685c8fad4f84fe0aa434a960f06c",
      "parents": [
        "af05b30bcb65da3ed488af54ee92e96bebe0be5e"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat May 02 18:57:55 2009 -0700"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jun 08 14:50:00 2009 +0200"
      },
      "message": "Bluetooth: Add basic constants for L2CAP ERTM support and use them\n\nThis adds the basic constants required to add support for L2CAP Enhanced\nRetransmission feature.\n\nBased on a patch from Nathan Holstein \u003cnathan@lampreynetworks.com\u003e\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "589d27464846c7cb758f93d9ee380c8ff05a161c",
      "tree": "cca78e805ba371fb53043ff9f0ceed5c02c25184",
      "parents": [
        "8db4dc46dcff7568896aa1eae4bd07620ce3dd93"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Mon Apr 20 01:31:07 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jun 08 14:50:00 2009 +0200"
      },
      "message": "Bluetooth: Use macro for L2CAP hint mask on receiving config request\n\nUsing the L2CAP_CONF_HINT macro is easier to understand than using a\nhardcoded 0x80 value.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8db4dc46dcff7568896aa1eae4bd07620ce3dd93",
      "tree": "32b92a182971618462f5997c156fa953cd9049cc",
      "parents": [
        "a1c1db392090bd280d1c3e2ed52ef682746ee332"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Mon Apr 20 01:31:05 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jun 08 14:49:59 2009 +0200"
      },
      "message": "Bluetooth: Use macros for L2CAP channel identifiers\n\nUse macros instead of hardcoded numbers to make the L2CAP source code\nmore readable.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "b1bc81a0ef86b86fa410dd303d84c8c7bd09a64d",
      "tree": "a0d2e6dd179e5d057776edd0ed865bc744dfa54d",
      "parents": [
        "a93958ac980f0ce594ad90657ecbc595ff157a40",
        "0c0c9e7076b69f93678e4ec711e2bf237398e623"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 07 04:24:21 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 07 04:24:21 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "1f87f7d3a3b42b20f34cb03f0fd1a41c3d0e27f3",
      "tree": "642882153a48e910a415e6bb23bcfb79fadef6dd",
      "parents": [
        "6081162e2ed78dfcf149b076b047078ab1445cc2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jun 02 13:01:41 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 03 14:06:14 2009 -0400"
      },
      "message": "cfg80211: add rfkill support\n\nTo be easier on drivers and users, have cfg80211 register an\nrfkill structure that drivers can access. When soft-killed,\nsimply take down all interfaces; when hard-killed the driver\nneeds to notify us and we will take down the interfaces\nafter the fact. While rfkilled, interfaces cannot be set UP.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7643a2c3fcc13cd6fbd731f214463547383418ae",
      "tree": "e2e41315f0d38a8627456303820b5c1c2a9b54a6",
      "parents": [
        "c64fb01627e24725d1f9d535e4426475a4415753"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jun 02 13:01:39 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 03 14:06:14 2009 -0400"
      },
      "message": "cfg80211: move txpower wext from mac80211\n\nThis patch introduces new cfg80211 API to set the TX power\nvia cfg80211, puts the wext code into cfg80211 and updates\nmac80211 to use all that. The -ENETDOWN bits are a hack but\nwill go away soon.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "19d337dff95cbf76edd3ad95c0cee2732c3e1ec5",
      "tree": "33326eeb09cb9664cc8427a5dc7cd2b08b5a57c3",
      "parents": [
        "0f6399c4c525b518644a9b09f8d6fb125a418c4d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jun 02 13:01:37 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 03 14:06:13 2009 -0400"
      },
      "message": "rfkill: rewrite\n\nThis patch completely rewrites the rfkill core to address\nthe following deficiencies:\n\n * all rfkill drivers need to implement polling where necessary\n   rather than having one central implementation\n\n * updating the rfkill state cannot be done from arbitrary\n   contexts, forcing drivers to use schedule_work and requiring\n   lots of code\n\n * rfkill drivers need to keep track of soft/hard blocked\n   internally -- the core should do this\n\n * the rfkill API has many unexpected quirks, for example being\n   asymmetric wrt. alloc/free and register/unregister\n\n * rfkill can call back into a driver from within a function the\n   driver called -- this is prone to deadlocks and generally\n   should be avoided\n\n * rfkill-input pointlessly is a separate module\n\n * drivers need to #ifdef rfkill functions (unless they want to\n   depend on or select RFKILL) -- rfkill should provide inlines\n   that do nothing if it isn\u0027t compiled in\n\n * the rfkill structure is not opaque -- drivers need to initialise\n   it correctly (lots of sanity checking code required) -- instead\n   force drivers to pass the right variables to rfkill_alloc()\n\n * the documentation is hard to read because it always assumes the\n   reader is completely clueless and contains way TOO MANY CAPS\n\n * the rfkill code needlessly uses a lot of locks and atomic\n   operations in locked sections\n\n * fix LED trigger to actually change the LED when the radio state\n   changes -- this wasn\u0027t done before\n\nTested-by: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e [thinkpad]\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e535c7566e1318ccfa015e297f0309994f7bc078",
      "tree": "586e150edc49e9bf64f7fea728ce37b8cff4063a",
      "parents": [
        "2fa7a98fc96abe431e5d54d97104cdca197391fa"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat May 23 11:18:45 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 03 14:05:09 2009 -0400"
      },
      "message": "mac80211: deprecate conf.beacon_int properly\n\nIvo has updated the driver to no longer use the change flag,\nso we can remove that, but rt2x00 and ath5k still use the\nactual value so let\u0027s mark it as deprecated too.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c6ba68a26645dbc5029a9faa5687ebe6fcfc53e4",
      "tree": "e47a8f343b7fd0ba0a5d3e49a740d5dbe73e430a",
      "parents": [
        "9919b455fc00c995ef8141848bdc0709ce50bf36"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Jun 01 12:41:15 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Jun 03 09:14:47 2009 -0400"
      },
      "message": "sctp: support non-blocking version of the new sctp_connectx() API\n\nPrior implementation of the new sctp_connectx() call that returns\nan association ID did not work correctly on non-blocking socket.\nThis is because we could not return both a EINPROGRESS error and\nan association id.  This is a new implementation that supports this.\n\nOriginally from Ivan Skytte Jørgensen \u003cisj-sctp@i1.dk\n\nSigned-off-by: Ivan Skytte Jørgensen \u003cisj-sctp@i1.dk\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "9919b455fc00c995ef8141848bdc0709ce50bf36",
      "tree": "ec700e8a9fe3dd9f1ed841e22f96c06476d484fb",
      "parents": [
        "d48e074dfdada552fa53f5eab807540f352e0d5d"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue May 12 21:52:51 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Jun 03 09:14:46 2009 -0400"
      },
      "message": "sctp: fix to choose alternate destination when retransmit ASCONF chunk\n\nRFC 5061 Section 5.1 ASCONF Chunk Procedures said:\n\nB4)  Re-transmit the ASCONF Chunk last sent and if possible choose an\n     alternate destination address (please refer to [RFC4960],\n     Section 6.4.1).  An endpoint MUST NOT add new parameters to this\n     chunk; it MUST be the same (including its Sequence Number) as\n     the last ASCONF sent.  An endpoint MAY, however, bundle an\n     additional ASCONF with new ASCONF parameters with the next\n     Sequence Number.  For details, see Section 5.5.\n\nThis patch fix to choose an alternate destination address when\nre-transmit the ASCONF chunk, with some dup codes cleanup.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "adf30907d63893e4208dfe3f5c88ae12bc2f25d5",
      "tree": "0f07542bb95de2ad537540868aba6cf87a86e17d",
      "parents": [
        "511c3f92ad5b6d9f8f6464be1b4f85f0422be91a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 02 05:19:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 02:51:04 2009 -0700"
      },
      "message": "net: skb-\u003edst accessors\n\nDefine three accessors to get/set dst attached to a skb\n\nstruct dst_entry *skb_dst(const struct sk_buff *skb)\n\nvoid skb_dst_set(struct sk_buff *skb, struct dst_entry *dst)\n\nvoid skb_dst_drop(struct sk_buff *skb)\nThis one should replace occurrences of :\ndst_release(skb-\u003edst)\nskb-\u003edst \u003d NULL;\n\nDelete skb-\u003edst field\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "511c3f92ad5b6d9f8f6464be1b4f85f0422be91a",
      "tree": "3e368d9a78f87eb9dd7ff9e57f4aab3f4a96e3b1",
      "parents": [
        "dfbf97f3ac980b69dfbc41c83a208211a38443e8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 02 05:14:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 02:51:02 2009 -0700"
      },
      "message": "net: skb-\u003ertable accessor\n\nDefine skb_rtable(const struct sk_buff *skb) accessor to get rtable from skb\n\nDelete skb-\u003ertable field\n\nSetting rtable is not allowed, just set dst instead as rtable is an alias.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e34d5c1a4f9919a81b4ea4591d7383245f35cb8e",
      "tree": "0a19bfe3e162b2b8de9b9414dcc2bef0a07e7133",
      "parents": [
        "17e6e4eac070607a35464ea7e2c5eceac32e5eca"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Jun 03 10:32:06 2009 +0200"
      },
      "committer": {
        "name": "pablo",
        "email": "pablo@1984.(none)",
        "time": "Wed Jun 03 10:32:06 2009 +0200"
      },
      "message": "netfilter: conntrack: replace notify chain by function pointer\n\nThis patch removes the notify chain infrastructure and replace it\nby a simple function pointer. This issue has been mentioned in the\nmailing list several times: the use of the notify chain adds\ntoo much overhead for something that is only used by ctnetlink.\n\nThis patch also changes nfnetlink_send(). It seems that gfp_any()\nreturns GFP_KERNEL for user-context request, like those via\nctnetlink, inside the RCU read-side section which is not valid.\nUsing GFP_KERNEL is also evil since netlink may schedule(),\nthis leads to \"scheduling while atomic\" bug reports.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "17e6e4eac070607a35464ea7e2c5eceac32e5eca",
      "tree": "3742492b50d87c07c18cec6ff2e81e1ebafdd128",
      "parents": [
        "6bfea1984aea86089907caf8974513c2402a3b3d"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Jun 02 20:08:46 2009 +0200"
      },
      "committer": {
        "name": "pablo",
        "email": "pablo@1984.(none)",
        "time": "Tue Jun 02 20:08:46 2009 +0200"
      },
      "message": "netfilter: conntrack: simplify event caching system\n\nThis patch simplifies the conntrack event caching system by removing\nseveral events:\n\n * IPCT_[*]_VOLATILE, IPCT_HELPINFO and IPCT_NATINFO has been deleted\n   since the have no clients.\n * IPCT_COUNTER_FILLING which is a leftover of the 32-bits counter\n   days.\n * IPCT_REFRESH which is not of any use since we always include the\n   timeout in the messages.\n\nAfter this patch, the existing events are:\n\n * IPCT_NEW, IPCT_RELATED and IPCT_DESTROY, that are used to identify\n addition and deletion of entries.\n * IPCT_STATUS, that notes that the status bits have changes,\n eg. IPS_SEEN_REPLY and IPS_ASSURED.\n * IPCT_PROTOINFO, that reports that internal protocol information has\n changed, eg. the TCP, DCCP and SCTP protocol state.\n * IPCT_HELPER, that a helper has been assigned or unassigned to this\n entry.\n * IPCT_MARK and IPCT_SECMARK, that reports that the mark has changed, this\n covers the case when a mark is set to zero.\n * IPCT_NATSEQADJ, to report that there\u0027s updates in the NAT sequence\n adjustment.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "6bfea1984aea86089907caf8974513c2402a3b3d",
      "tree": "82fb4746fe51489583408f05cd4d6a2da5f0ff0d",
      "parents": [
        "274d383b9c1906847a64bbb267b0183599ce86a0"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Jun 02 20:08:44 2009 +0200"
      },
      "committer": {
        "name": "pablo",
        "email": "pablo@1984.(none)",
        "time": "Tue Jun 02 20:08:44 2009 +0200"
      },
      "message": "netfilter: conntrack: remove events flags from userspace exposed file\n\nThis patch moves the event flags from linux/netfilter/nf_conntrack_common.h\nto net/netfilter/nf_conntrack_ecache.h. This flags are not of any use\nfrom userspace.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "274d383b9c1906847a64bbb267b0183599ce86a0",
      "tree": "c5a75eb38b79a05b11f25542ebad45c1c4c4410b",
      "parents": [
        "03b64f518a893512d32f07a10b053e558beafcaf"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Jun 02 20:08:38 2009 +0200"
      },
      "committer": {
        "name": "pablo",
        "email": "pablo@1984.(none)",
        "time": "Tue Jun 02 20:08:38 2009 +0200"
      },
      "message": "netfilter: conntrack: don\u0027t report events on module removal\n\nDuring the module removal there are no possible event listeners\nsince ctnetlink must be removed before to allow removing\nnf_conntrack. This patch removes the event reporting for the\nmodule removal case which is not of any use in the existing code.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "f2f3e38c63c58a3d39bd710039af8bbd15ecaff6",
      "tree": "5a67e8661b877dbd170867d72bf5b4387a49decb",
      "parents": [
        "8b0a231d4d6336baf10f13b6142fd5c1f628247e"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Jun 02 20:03:35 2009 +0200"
      },
      "committer": {
        "name": "pablo",
        "email": "pablo@1984.(none)",
        "time": "Tue Jun 02 20:03:35 2009 +0200"
      },
      "message": "netfilter: ctnetlink: rename tuple() by nf_ct_tuple() macro definition\n\nThis patch move the internal tuple() macro definition to the\nheader file as nf_ct_tuple().\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "f771bef98004d9d141b085d987a77d06669d4f4f",
      "tree": "df9b7a353a8c28e71a8237d3ad65ba7f41ffab30",
      "parents": [
        "4d52cfbef6266092d535237ba5a4b981458ab171"
      ],
      "author": {
        "name": "Nivedita Singhvi",
        "email": "niv@us.ibm.com",
        "time": "Thu May 28 07:00:46 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 02 00:45:24 2009 -0700"
      },
      "message": "ipv4: New multicast-all socket option\n\nAfter some discussion offline with Christoph Lameter and David Stevens\nregarding multicast behaviour in Linux, I\u0027m submitting a slightly\nmodified patch from the one Christoph submitted earlier.\n\nThis patch provides a new socket option IP_MULTICAST_ALL.\n\nIn this case, default behaviour is _unchanged_ from the current\nLinux standard. The socket option is set by default to provide\noriginal behaviour. Sockets wishing to receive data only from\nmulticast groups they join explicitly will need to clear this\nsocket option.\n\nSigned-off-by: Nivedita Singhvi \u003cniv@us.ibm.com\u003e\nSigned-off-by: Christoph Lameter\u003ccl@linux.com\u003e\nAcked-by: David Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a17c859849402315613a0015ac8fbf101acf0cc1",
      "tree": "b852a3ebd3bad0d531f1e09cf97c18b29ac96115",
      "parents": [
        "a2a804cddfe65f18f903985e8a8d04c7c9eec354"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed May 27 17:50:35 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed May 27 17:50:35 2009 +0200"
      },
      "message": "netfilter: conntrack: add support for DCCP handshake sequence to ctnetlink\n\nThis patch adds CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ that exposes\nthe u64 handshake sequence number to user-space.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "45ea4ea2af358fe316c918381c7868f9418cad09",
      "tree": "4deb3d87b26e884b06929fe33740d45e78fbdcab",
      "parents": [
        "dddc045e2fdd4eb8d7dfac29bff191d639fff8c3",
        "a2e2322d83df82a57ba456cfa604c8b8f7b04670"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 25 00:38:24 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 25 00:38:24 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "e31a16d6f64ef0e324c6f54d5112703c3f13a9c4",
      "tree": "4ed30d0ebd1d948aaa14bcd4fb52f29d9bb2e7a8",
      "parents": [
        "a971be223f243311a8014ddfc721f68e3ef2da9c"
      ],
      "author": {
        "name": "Zhu Yi",
        "email": "yi.zhu@intel.com",
        "time": "Thu May 21 21:47:03 2009 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri May 22 14:06:02 2009 -0400"
      },
      "message": "wireless: move some utility functions from mac80211 to cfg80211\n\nThe patch moves some utility functions from mac80211 to cfg80211.\nBecause these functions are doing generic 802.11 operations so they\nare not mac80211 specific. The moving allows some fullmac drivers\nto be also benefit from these utility functions.\n\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: Samuel Ortiz \u003csamuel.ortiz@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a7b11d738282337488ae158c975d76271ad43a98",
      "tree": "82c27ba3224309e442fffbaa7e5d9ae6453a20a1",
      "parents": [
        "4ea7e38696c7e798c47ebbecadfd392f23f814f9"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Thu May 21 10:34:04 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 21 16:50:22 2009 -0700"
      },
      "message": "genetlink: Introduce genl_register_family_with_ops()\n\nThis introduces genl_register_family_with_ops() that registers a genetlink\nfamily along with operations from a table. This is used to kill copy\u0027n\u0027paste\noccurrences in following patches.\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04af8cf6f320031090ab6fa4600b912b0c18fb4b",
      "tree": "636fce0f62c6fb50a7229bc628e187589ab46679",
      "parents": [
        "288ddad5b095ff65812cf1060c67d23c07568871"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Wed May 20 17:26:23 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 20 17:26:23 2009 -0700"
      },
      "message": "net: Remove unused parameter from fill method in fib_rules_ops.\n\nThe netlink message header (struct nlmsghdr) is an unused parameter in\nfill method of fib_rules_ops struct.  This patch removes this\nparameter from this method and fixes the places where this method is\ncalled.\n\n(include/net/fib_rules.h)\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cce4c77b87ce7e71a0f244a3dfb6ac1c3a1bc67e",
      "tree": "0de4a33b1a23836a6324dbcbc9468962513e8d16",
      "parents": [
        "2c617b0324c4b05e8e08f14407a9be3b7756768f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue May 19 10:39:34 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 20 14:46:32 2009 -0400"
      },
      "message": "mac80211: fix kernel-doc\n\nMoving information from config_interface to bss_info_changed\nremoved struct ieee80211_if_conf which the documentation still\nrefers to, additionally there\u0027s one kernel-doc description too\nmuch and one other missing, fix all this.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e3da574a0ddd3e90a1e2b788b84b94bc17a75172",
      "tree": "dc17ed9268594c1236e1f0b5efae2140b226b5cf",
      "parents": [
        "73606d00360cb93963aeb7bfbf8bfdbc51cfab9f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon May 18 19:56:36 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 20 14:46:30 2009 -0400"
      },
      "message": "cfg80211: allow wext to remove keys that don\u0027t exist\n\nSome applications using wireless extensions expect to be able to\nremove a key that doesn\u0027t exist. One example is wpa_supplicant\nwhich doesn\u0027t actually change behaviour when running into an\nerror while trying to do that, but it prints an error message\nwhich users interpret as wpa_supplicant having problems.\n\nThe safe thing to do is not change the behaviour of wireless\nextensions any more, so when the driver reports -ENOENT let\nthe wext bridge code return success to userspace. To guarantee\nthis, also document that drivers should return -ENOENT when the\nkey doesn\u0027t exist.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cf5aa2f1f39d367d449df4c10de3d8e6f9c4443b",
      "tree": "c713414a38ac7cc5c3c7fbc7e19f830c0e584d64",
      "parents": [
        "3dcf670baf3d3a9bfc752e59d0b1a8d886230750"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@googlemail.com",
        "time": "Sat May 16 23:13:47 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 20 14:46:27 2009 -0400"
      },
      "message": "cfg80211: mark wiphy-\u003eprivid as pointer to const\n\nThis allows drivers to use a const pointer as the privid without a cast.\n\nSigned-off-by: David Kilroy \u003ckilroyd@gmail.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3dcf670baf3d3a9bfc752e59d0b1a8d886230750",
      "tree": "843e1fbcfb9d2e62fbd7b419e7b8bf80b494cc61",
      "parents": [
        "c15ff610453a6daa708f32b1c00b8344d3a462dd"
      ],
      "author": {
        "name": "David Kilroy",
        "email": "kilroyd@googlemail.com",
        "time": "Sat May 16 23:13:46 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 20 14:46:27 2009 -0400"
      },
      "message": "cfg80211: mark ops as pointer to const\n\nThis allows drivers to mark their cfg80211_ops tables const.\n\nSigned-off-by: David Kilroy \u003ckilroyd@googlemail.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "689da1b3b8b37ff41e79f3fb973c06cdfeef12e5",
      "tree": "57accde02817fa1fdb61ddafd16263294e065ed8",
      "parents": [
        "038659e7c6b385065cb223872771ac437ef70b62"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Sat May 02 00:37:18 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 20 14:46:22 2009 -0400"
      },
      "message": "wireless: rename IEEE80211_CHAN_NO_FAT_* to HT40-/+\n\nThis is more consistent with our nl80211 naming convention\nfor HT40-/+.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "038659e7c6b385065cb223872771ac437ef70b62",
      "tree": "df9e86adcc611d10ed5f98672421bffe1f43989f",
      "parents": [
        "97bc54152e3a91dd2dc297e8a084c05e93527e60"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Sat May 02 00:37:17 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 20 14:46:22 2009 -0400"
      },
      "message": "cfg80211: Process regulatory max bandwidth checks for HT40\n\nWe are not correctly listening to the regulatory max bandwidth\nsettings. To actually make use of it we need to redesign things\na bit. This patch does the work for that. We do this to so we\ncan obey to regulatory rules accordingly for use of HT40.\n\nWe end up dealing with HT40 by having two passes for each channel.\n\nThe first check will see if a 20 MHz channel fits into the channel\u0027s\ncenter freq on a given frequency range. We check for a 20 MHz\nbanwidth channel as that is the maximum an individual channel\nwill use, at least for now. The first pass will go ahead and\ncheck if the regulatory rule for that given center of frequency\nallows 40 MHz bandwidths and we use this to determine whether\nor not the channel supports HT40 or not. So to support HT40 you\u0027ll\nneed at a regulatory rule that allows you to use 40 MHz channels\nbut you\u0027re channel must also be enabled and support 20 MHz by itself.\n\nThe second pass is done after we do the regulatory checks over\nan device\u0027s supported channel list. On each channel we\u0027ll check\nif the control channel and the extension both:\n\n o exist\n o are enabled\n o regulatory allows 40 MHz bandwidth on its frequency range\n\nThis work allows allows us to idependently check for HT40- and\nHT40+.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "645069299a1c7358cf7330afe293f07552f11a5d",
      "tree": "889c39a10ef09cd77c5b052ef837bb4b53bddd83",
      "parents": [
        "9af28511be10e175eb0cabb2ba5cfafe77408d84"
      ],
      "author": {
        "name": "Sascha Hlusiak",
        "email": "contact@saschahlusiak.de",
        "time": "Tue May 19 12:56:52 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 19 16:02:02 2009 -0700"
      },
      "message": "sit: stateless autoconf for isatap\n\nbe sent periodically. The rs_delay can be speficied when adding the\nPRL entry and defaults to 15 minutes.\n\nThe RS is sent from every link local adress that\u0027s assigned to the\ntunnel interface. It\u0027s directed to the (guessed) linklocal address\nof the router and is sent through the tunnel.\n\nBetter: send to ff02::2 encapsuled in unicast directed to router-v4.\n\nSigned-off-by: Sascha Hlusiak \u003ccontact@saschahlusiak.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb803cfbecb03a0cf8dc7e1864f18dda6631af00",
      "tree": "6c0989693bea6f50cfa5c6bb14f52ec19668def3",
      "parents": [
        "3878fb6fdbceecca20b15748f807340854220f06",
        "511e11e396dc596825ce04d53d7f6d579404bc01"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 18 21:08:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 18 21:08:20 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/scsi/fcoe/fcoe.c\n"
    },
    {
      "commit": "82d048186e403f36e083b37ad42aa90abb7dcaac",
      "tree": "dc0b92ace036ef435318f38ef35b8c6e6b84103a",
      "parents": [
        "62551d3ea05242d97d47f26fb517b2dfdb752310",
        "d3707d9918d47c0997a6b1e4ae24e7ab55e43796"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 18 14:48:30 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 18 14:48:30 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "8b3521eeb7598c3b10c7e14361a7974464527702",
      "tree": "dbad2dc2822694f86493cf60e4b969f80fbce3d1",
      "parents": [
        "980c9e8ceeb69ac4c921173d0d06323f5c678647"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Mon May 11 05:52:49 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 17 11:59:45 2009 -0700"
      },
      "message": "ipv4: remove an unused parameter from configure method of fib_rules_ops.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f77316c6b99f596bfbf72c0542f47f7230b702e",
      "tree": "d9c8634e62917687c9a2741fdd72dd2c19c04727",
      "parents": [
        "eccb8e8f0c3af47aeb6dbe4012eb8d4fc888767a"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Mon May 11 21:57:57 2009 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 13 15:44:37 2009 -0400"
      },
      "message": "nl80211: Add IEEE 802.1X PAE control for station mode\n\nAdd a new NL80211_ATTR_CONTROL_PORT flag for NL80211_CMD_ASSOCIATE to\nallow user space to indicate that it will control the IEEE 802.1X port\nin station mode. Previously, mac80211 was always marking the port\nauthorized in station mode. This was enough when drop_unencrypted flag\nwas set. However, drop_unencrypted can currently be controlled only\nwith WEXT and the current nl80211 design does not allow fully secure\nconfiguration. Fix this by providing a mechanism for user space to\ncontrol the IEEE 802.1X port in station mode (i.e., do the same that\nwe are already doing in AP mode).\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "eccb8e8f0c3af47aeb6dbe4012eb8d4fc888767a",
      "tree": "3705a833e4a5efb08beb2bfc4175775171e74295",
      "parents": [
        "0e46724a48fcc3bac1fecea413d20af64a75844f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon May 11 21:57:56 2009 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 13 15:44:35 2009 -0400"
      },
      "message": "nl80211: improve station flags handling\n\nIt is currently not possible to modify station flags, but that\ncapability would be very useful. This patch introduces a new\nnl80211 attribute that contains a set/mask for station flags,\nand updates the internal API (and mac80211) to mirror that.\n\nThe new attribute is parsed before falling back to the old so\nthat userspace can specify both (if it can) to work on all\nkernels.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "08645126dd24872c2e27014f93968f7312e29176",
      "tree": "2011cb3cb2f70d35278ef3b39ea696a058fb7b29",
      "parents": [
        "7be69c0b9aa93ef655db4d46e5654996489d62f5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon May 11 13:54:58 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 13 15:44:32 2009 -0400"
      },
      "message": "cfg80211: implement wext key handling\n\nMove key handling wireless extension ioctls from mac80211 to cfg80211\nso that all drivers that implement the cfg80211 operations get wext\ncompatibility.\n\nNote that this drops the SIOCGIWENCODE ioctl support for getting\nIW_ENCODE_RESTRICTED/IW_ENCODE_OPEN. This means that iwconfig will\nno longer report \"Security mode:open\" or \"Security mode:restricted\"\nfor mac80211. However, what we displayed there (the authentication\nalgo used) was actually wrong -- linux/wireless.h states that this\nsetting is meant to differentiate between \"Refuse non-encoded packets\"\nand \"Accept non-encoded packets\".\n\n(Combined with \"cfg80211: fix a couple of bugs with key ioctls\". -- JWL)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cbe8fa9c5e88fd5f554ebc519af3b0ed17dde0dd",
      "tree": "0ec44646879e49f7254ba15970ca9a168bc00d8f",
      "parents": [
        "4e943900fb9675d3a5ebdabc2cd4a9a54edace97"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat May 09 20:09:03 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 11 15:24:07 2009 -0400"
      },
      "message": "cfg80211: put wext data into substructure\n\nTo make it more apparent in the code what is for wext\nonly (and needs to be #ifdef\u0027ed) put all the info for\nwext into a substruct in each wireless_dev.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4e943900fb9675d3a5ebdabc2cd4a9a54edace97",
      "tree": "72b6492d01dffa834133c0cdbd52ce4b65392332",
      "parents": [
        "8fbff4b838c53945d6baeafe609c627000f85cd6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat May 09 20:06:47 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 11 15:24:07 2009 -0400"
      },
      "message": "cfg80211: constify key mac address in ops\n\nThe address pointed to by mac_addr can be marked as const.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "44033f80cefd1d7b474efdabc412476d4bafb8f4",
      "tree": "6dde9173f612ddb88b5d244593bf6c66f6fcea54",
      "parents": [
        "413ad50a5c15f3bae8075c15b101679f05c37a69"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri May 08 21:21:41 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 11 15:23:57 2009 -0400"
      },
      "message": "mac80211: remove ieee80211_ht_bss_info\n\nThis struct is no longer used (and hasn\u0027t been for a while).\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9ed6bcce77f75d98af6ee07069deac6041948bee",
      "tree": "9fff3d257612ed049b28a80681fbd987f4de3ec4",
      "parents": [
        "5a9940118a616266183c53a9ee4352feadb9c2e8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri May 08 20:47:39 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 11 15:23:57 2009 -0400"
      },
      "message": "mac80211: move HT operation mode BSS info\n\nThere really is no need to have a separate struct for a\nsingle variable. The fact that it exists is due to the\ncode legacy, but we can remove that now. Very simple.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "dc6382ced07d6bad61d0b591fb12ab5da7ca632c",
      "tree": "277d03c28c0756368d663d1b053ceaed196f666e",
      "parents": [
        "ed9b58bc443a1210b5be1ded6421b17e015bf985"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Wed May 06 22:09:37 2009 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 11 15:23:54 2009 -0400"
      },
      "message": "nl80211 : Add support for configuring MFP\n\nNL80211_CMD_ASSOCIATE request must be able to indicate whether\nmanagement frame protection (IEEE 802.11w) is being used. mac80211 was\nable to use MFP in client mode only with WEXT, but the new\nNL80211_ATTR_USE_MFP attribute will allow this to be done with\nnl80211, too.\n\nSince we are currently using nl80211 for MFP only with drivers that\nuse user space SME, only MFP disabled and required values are\nused. However, the NL80211_ATTR_USE_MFP attribute is an enum that can\nbe extended with MFP optional in the future, if that is needed with\nsome drivers (e.g., if the RSN IE is generated by the driver).\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a8679be2073392cf22a910bc25da0c7d36459845",
      "tree": "0d25750ea4ba3a85fe683f285261083d77080976",
      "parents": [
        "22f6dacdfcfdc792d068e9c41234808860498d04",
        "9dfd6ba353b993d648dcda72480c7ce92cd27c7e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 08 12:46:17 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 08 12:46:17 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "22f6dacdfcfdc792d068e9c41234808860498d04",
      "tree": "281a7d476f256ea3e2f800177ba685b169cc0540",
      "parents": [
        "928f308f556f4943e50c5064b546f47bce301f02",
        "9b05126baa146fc3f41360164141d4e1b3ea93c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 08 02:48:30 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 08 02:48:30 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tinclude/net/tcp.h\n"
    },
    {
      "commit": "7aedec2ad5314b173e78ca3f4edb4ceaa02248bb",
      "tree": "9b9ed7561bf13bcaa11f1f6ac7b4da2c444b0044",
      "parents": [
        "f5f8d86b231e0489c33542c42afbb14d32411ee8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu May 07 07:20:39 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 07 14:52:28 2009 -0700"
      },
      "message": "tcp: tcp_prequeue() can use keyed wakeups\n\nWe can avoid waking up tasks not interested in receive notifications,\nusing wake_up_interruptible_poll() instead of wake_up_interruptible()\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "f5f8d86b231e0489c33542c42afbb14d32411ee8"
}
