)]}'
{
  "log": [
    {
      "commit": "d0dd2de0d055f0ffb1e2ecdc21380de9d12a85e2",
      "tree": "cb3d3e77e62c22032f0fac4c58e8f304f08f5061",
      "parents": [
        "ef15aac6073b27fd4f70007784d2d52ed394bf43"
      ],
      "author": {
        "name": "Andriy Tkachuk",
        "email": "andrit@ukr.net",
        "time": "Wed Jan 20 13:55:06 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 22 16:11:27 2010 -0500"
      },
      "message": "mac80211: Account HT Control field in Data frame hdrlen according to 802.11n-2009\n\nieee80211_hdrlen() should account account new HT Control field in 802.11\ndata frame header introduced by IEEE 802.11n standard.\n\nAccording to 802.11n-2009 HT Control field is present in data frames\nwhen both of following are met:\n\n   1. It is QoS data frame.\n   2. Order bit is set in Frame Control field.\n\nThe change might be totally compatible with legacy non-11n aware frames,\nbecause 802.11-2007 standard states that \"all QoS STAs set this subfield\nto 0\".\n\nSigned-off-by: Andriy V. Tkachuk \u003candrit@ukr.net\u003e\nAcked-by : Benoit Papillault \u003cbenoit.papillault@free.fr\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ef15aac6073b27fd4f70007784d2d52ed394bf43",
      "tree": "80eeb99e74263e255d4e8af582550a6363ad7884",
      "parents": [
        "b3fbdcf49f940d0703c356441e0daf045e64e076"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jan 20 12:02:33 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 22 16:11:16 2010 -0500"
      },
      "message": "cfg80211: export multiple MAC addresses in sysfs\n\nIf a device has multiple MAC addresses, userspace will\nneed to know about that. Similarly, if it allows the\nMAC addresses to vary by a bitmask.\n\nIf a driver exports multiple addresses, it is assumed\nthat it will be able to deal with that many different\naddresses, which need not necessarily match the ones\nprogrammed into the device; if a mask is set then the\ndevice should deal addresses within that mask based\non an arbitrary \"base address\".\n\nTo test it all and show how it is used, add support\nto hwsim even though it can\u0027t actually deal with\naddresses different from the default.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b3fbdcf49f940d0703c356441e0daf045e64e076",
      "tree": "f63416cc9b80a6757ec6fa57190f581b2b3a6d31",
      "parents": [
        "e4fca007b06165900d0e44e8d5e251376819bf5d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jan 21 11:40:47 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jan 22 16:08:55 2010 -0500"
      },
      "message": "mac80211: pass vif and station to update_tkip_key\n\nWhen a TKIP key is updated, we should pass the station\npointer instead of just the address, since drivers can\nuse that to store their own data. We also need to pass\nthe virtual interface pointer.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c6fcf6bcfc3cfc1c00cc7fd9610cfa2b1a18041f",
      "tree": "301713d3f65f3cc9cb99e374c655d6f8bf99c741",
      "parents": [
        "813d76694043d00b59475baa1fbfaf54a2eb7fad"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Jan 17 01:47:59 2010 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 19 16:25:21 2010 -0500"
      },
      "message": "mac80211: re-enable re-transmission of filtered frames\n\nIn an earlier commit,\n\n    mac80211: disable software retry for now\n\n    Pavel Roskin reported a problem that seems to be due to\n    software retry of already transmitted frames. It turns\n    out that we\u0027ve never done that correctly, but due to\n    some recent changes it now crashes in the TX code. I\u0027ve\n    added a comment in the patch that explains the problem\n    better and also points to possible solutions -- which\n    I can\u0027t implement right now.\n\nI disabled software retry of failed/filtered frames\nbecause it was broken. With the work of the previous\npatches, it now becomes fairly easy to re-enable it\nby adding a flag indicating that the frame shouldn\u0027t\nbe modified, but still running it through the transmit\nhandlers to populate the control information.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c99445b14054e0c4ed4715df1dad1fc608cbab46",
      "tree": "88b3e4bfde3abca9d6f57e2ae35458bb33eda4df",
      "parents": [
        "9d173fc5dfa8c1b4578b331ac7ff3ce8af27006e"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Thu Jan 14 13:09:21 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 14 18:16:56 2010 -0500"
      },
      "message": "mac80211: improve powersave documentation\n\nThere has been some confusion how drivers should implement powersave\nsupport. Improve the documentation a bit to make it more clear what\ndrivers need to do. Also mention about U-APSD.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9d173fc5dfa8c1b4578b331ac7ff3ce8af27006e",
      "tree": "261da62f97e554f788c06e4166c3debd6c23ce10",
      "parents": [
        "5e4ea1f0ed256382d6d839fbd7a5c7f1b99b6cb0"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Thu Jan 14 13:09:14 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jan 14 18:16:55 2010 -0500"
      },
      "message": "mac80211: fix mac80211.h documentation warnings\n\nThere were some warnings about missing documentation and a missing reference.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "558a6669d7cb407fbb0b5aec184b5c3b9a893d30",
      "tree": "5be22dc7335a7548e77ef813d1b8962697c43fb3",
      "parents": [
        "0c74211d19d83729c209ddcd4dc026c2aedeb29e"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Jan 12 10:43:00 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 14:21:03 2010 -0500"
      },
      "message": "ieee80211: add struct ieee80211_hdr_qos\n\nThe header can be used to create qos nullfunc frames, for example.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ab13315af97919fae0e014748105fdc2e30afb2d",
      "tree": "befa549272ecff20b2839bd6671e4cccbce448f9",
      "parents": [
        "2d46d7c121436f1dafe91b0a8d9b99e534cfa5f8"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Jan 12 10:42:31 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 14:20:58 2010 -0500"
      },
      "message": "mac80211: add U-APSD client support\n\nAdd Unscheduled Automatic Power-Save Delivery (U-APSD) client support. The\nidea is that the data frames from the client trigger AP to send the buffered\nframes with ACs which have U-APSD enabled. This decreases latency and makes it\npossible to save even more power.\n\nDriver needs to use IEEE80211_HW_UAPSD to enable the feature. The current\nimplementation assumes that firmware takes care of the wakeup and\nhardware needing IEEE80211_HW_PS_NULLFUNC_STACK is not yet supported.\n\nTested with wl1251 on a Nokia N900 and Cisco Aironet 1231G AP and running\nvarious test traffic with ping.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "34a6eddbabd704b3c7dae9362234552267573be2",
      "tree": "661184452aa597e4f1034561b3ec9b267ad2e196",
      "parents": [
        "80a112ffe8dbada25f3780ecc4beebf23451d755"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "j@w1.fi",
        "time": "Wed Jan 06 16:19:24 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:51:28 2010 -0500"
      },
      "message": "cfg80211: Store IEs from both Beacon and Probe Response frames\n\nStore information elements from Beacon and Probe Response frames in\nseparate buffers to allow both sets to be made available through\nnl80211. This allows user space applications to get access to IEs from\nBeacon frames even if we have received Probe Response frames from the\nBSS. Previously, the IEs from Probe Response frames would have\noverridden the IEs from Beacon frames.\n\nThis feature is of somewhat limited use since most protocols include\nthe same (or extended) information in Probe Response frames. However,\nthere are couple of exceptions where the IEs from Beacon frames could\nbe of some use: TIM IE is only included in Beacon frames (and it would\nbe needed to figure out the DTIM period used in the BSS) and at least\nsome implementations of Wireless Provisioning Services seem to include\nthe full IE only in Beacon frames).\n\nThe new BSS attribute for scan results is added to allow both the IE\nsets to be delivered. This is done in a way that maintains the\npreviously used behavior for applications that are not aware of the\nnew NL80211_BSS_BEACON_IES attribute.\n\nSigned-off-by: Jouni Malinen \u003cj@w1.fi\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "05e54ea6cce400ac34528d705179b45244f61074",
      "tree": "d645290f4866b457795696c7c4e9f609a07a4e55",
      "parents": [
        "f7f70579340dba1e551c0e52349fde0370592174"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Jan 05 20:16:38 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:51:25 2010 -0500"
      },
      "message": "mac80211: create Probe Request template\n\nCertain type of hardware, for example wl1251 and wl1271, need a template\nfor the Probe Request. Create a function ieee80211_probereq_get() which\ncreates the template and drivers send it to hardware.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7044cc565b45a898c140fb185174a66f2d68a163",
      "tree": "9933e1f178d0cfc8acf69eaf5b7652acaa8825e5",
      "parents": [
        "b3579d6adcf7b24464274967a96d12467cfb11a7"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Jan 05 20:16:19 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:51:24 2010 -0500"
      },
      "message": "mac80211: add functions to create PS Poll and Nullfunc templates\n\nSome hardware, for example wl1251 and wl1271, handle the transmission\nof power save related frames in hardware, but the driver is responsible\nfor creating the templates. It\u0027s better to create the templates in mac80211,\nthat way all drivers can benefit from this.\n\nAdd two new functions, ieee80211_pspoll_get() and ieee80211_nullfunc_get()\nwhich drivers need to call to get the frame. Drivers are also responsible\nfor updating the templates after each association.\n\nAlso new struct ieee80211_hdr_3addr is added to ieee80211.h to make it\neasy to calculate length of the Nullfunc frame.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "13ae75b103e07304a34ab40c9136e9f53e06475c",
      "tree": "61cfd1471cdefe8cf1a3da12b4b99aafc2770f76",
      "parents": [
        "37eb0b164cf9fa9f70c8500926f5cde7c652f48e"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Tue Dec 29 12:59:45 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:51:23 2010 -0500"
      },
      "message": "nl80211: New command for setting TX rate mask for rate control\n\nAdd a new NL80211_CMD_SET_TX_BITRATE_MASK command and related\nattributes to provide support for setting TX rate mask for rate\ncontrol. This uses the existing cfg80211 set_bitrate_mask operation\nthat was previously used only with WEXT compat code (SIOCSIWRATE). The\nnl80211 command allows more generic configuration of allowed rates as\na mask instead of fixed/max rate.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "37eb0b164cf9fa9f70c8500926f5cde7c652f48e",
      "tree": "9260e7045f32268c8c4ded718677711d371cd5ed",
      "parents": [
        "e00cfce0cb2a397859607bf515c6de9ce064b64a"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Wed Jan 06 13:09:08 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:50:11 2010 -0500"
      },
      "message": "cfg80211/mac80211: Use more generic bitrate mask for rate control\n\nExtend struct cfg80211_bitrate_mask to actually use a bitfield mask\ninstead of just a single fixed or maximum rate index. This change\nitself does not modify the behavior (except for debugfs files), but it\nprepares cfg80211 and mac80211 for a new nl80211 command for setting\nwhich rates can be used in TX rate control.\n\nSince frames are now going through the rate control algorithm\nunconditionally, the internal IEEE80211_TX_INTFL_RCALGO flag can now\nbe removed. The RC implementations can use the rate_idx_mask value to\noptimize their behavior if only a single rate is enabled.\n\nThe old max_rate_idx in struct ieee80211_tx_rate_control is maintained\n(but commented as deprecated) for backwards compatibility with existing\nRC implementations. Once these implementations have been updated to\nuse the more generic rate_idx_mask, the max_rate_idx value can be\nremoved.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e00cfce0cb2a397859607bf515c6de9ce064b64a",
      "tree": "038d87e7d90a5bcdd8f689a563221eab883b0546",
      "parents": [
        "3dc1de0bf23816ed557ac8addf680cd5ee57e805"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Tue Dec 29 12:59:19 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:50:09 2010 -0500"
      },
      "message": "mac80211: Select lowest rate based on basic rate set in AP mode\n\nIf the basic rate set is configured to not include the lowest rate\n(e.g., basic rate set \u003d 6, 12, 24 Mbps in IEEE 802.11g mode), the AP\nshould not send out broadcast frames at 1 Mbps. This type of\nconfiguration can be used to optimize channel usage in cases where\nthere is no need for backwards compatibility with IEEE 802.11b-only\ndevices.\n\nIn AP mode, mac80211 was unconditionally using the lowest rate for\nBeacon frames and similarly, with all rate control algorithms that use\nrate_control_send_low(), the lowest rate ended up being used for all\nbroadcast frames (and all unicast frames that are sent before\nassociation). Change this to take into account the basic rate\nconfiguration in AP mode, i.e., use the lowest rate in the basic rate\nset instead of the lowest supported rate when selecting the rate.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "310bc676e314e92c18257bfc916951879451ee32",
      "tree": "12050b5b473b8c9a1bf67450e03d45ade2a4b219",
      "parents": [
        "81077e82c3f591578625805dd6464a27a9ff56ec"
      ],
      "author": {
        "name": "Lukáš Turek",
        "email": "8an@praha12.net",
        "time": "Mon Dec 21 22:50:48 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:50:07 2010 -0500"
      },
      "message": "mac80211: Add new callback set_coverage_class\n\nMac80211 callback to driver set_coverage_class() sets slot time and ACK\ntimeout for given IEEE 802.11 coverage class. The callback is optional,\nbut it\u0027s essential for long distance links.\n\nSigned-off-by: Lukas Turek \u003c8an@praha12.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "81077e82c3f591578625805dd6464a27a9ff56ec",
      "tree": "cb1e502c54b4e2f052f129b80a47190de7e22b62",
      "parents": [
        "14acdde6e527950f66c084dbf19bad6fbfcaeedc"
      ],
      "author": {
        "name": "Lukáš Turek",
        "email": "8an@praha12.net",
        "time": "Mon Dec 21 22:50:47 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jan 12 13:49:17 2010 -0500"
      },
      "message": "nl80211: Add new WIPHY attribute COVERAGE_CLASS\n\nThe new attribute NL80211_ATTR_WIPHY_COVERAGE_CLASS sets IEEE 802.11\nCoverage Class, which depends on maximum distance of nodes in a\nwireless network. It\u0027s required for long distance links (more than a few\nhundred meters).\n\nThe attribute is now ignored by two non-mac80211 drivers, rndis and\niwmc3200wifi, together with WIPHY_PARAM_RETRY_SHORT and\nWIPHY_PARAM_RETRY_LONG. If it turns out to be a problem, we could split\nset_wiphy_params callback or add new capability bits.\n\nSigned-off-by: Lukas Turek \u003c8an@praha12.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "891dc5e73783eeabd2a704a9425e2a199b39c9f9",
      "tree": "9b4478941c486d47a71bfce455b896c5dda7e811",
      "parents": [
        "e1781ed33a8809c58ad6c3b6d432d656446efa43",
        "55afc80b2ab100618c17af77915f75307b6bd5d1"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 30 15:25:08 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Dec 30 15:25:08 2009 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\nConflicts:\n\tdrivers/net/wireless/libertas/scan.c\n"
    },
    {
      "commit": "e1781ed33a8809c58ad6c3b6d432d656446efa43",
      "tree": "4d272bc5bf25263a67b8431e7cfac6f9bbbcb690",
      "parents": [
        "095d5ef608b58ece49f4131925700d27314ecdd8"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@iki.fi",
        "time": "Wed Dec 23 13:15:47 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:55:10 2009 -0500"
      },
      "message": "mac80211: annotate sleeping driver ops\n\nTo make it easier to notice cases of calling sleeping ops in atomic context,\nannotate driver-ops.h with appropiate might_sleep() calls. At the same time,\nalso document in mac80211.h the op functions with missing contexts.\n\nmac80211 doesn\u0027t seem to use get_tx_stats anywhere currently. Just to be on\nthe safe side, I documented it to be atomic, but hopefully the op can be\nremoved in the future.\n\nCompile-tested only.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1ed32e4fc8cfc9656cc1101e7f9617d485fcbe7b",
      "tree": "81697637a36eb4776df39c81a77a9e09ec951a1a",
      "parents": [
        "98b6218388e345064c3f2d3c161383a18274c638"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:45 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:55:07 2009 -0500"
      },
      "message": "mac80211: remove struct ieee80211_if_init_conf\n\nAll its members (vif, mac_addr, type) are now available\nin the vif struct directly, so we can pass that instead\nof the conf struct. I generated this patch (except the\nmac80211 and header file changes) with this semantic\npatch:\n\n@@\nidentifier conf, fn, hw;\ntype tp;\n@@\ntp fn(struct ieee80211_hw *hw,\n-struct ieee80211_if_init_conf *conf)\n+struct ieee80211_vif *vif)\n{\n\u003c...\n(\n-conf-\u003etype\n+vif-\u003etype\n|\n-conf-\u003emac_addr\n+vif-\u003eaddr\n|\n-conf-\u003evif\n+vif\n)\n...\u003e\n}\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "98b6218388e345064c3f2d3c161383a18274c638",
      "tree": "3df881c8e15947aeefe31da7fa83980a1530aed3",
      "parents": [
        "e4da8c37af626001ff704fb29ea14eb58f5f7208"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:44 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:55:06 2009 -0500"
      },
      "message": "mac80211/cfg80211: add station events\n\nWhen, for instance, a new IBSS peer is found, userspace\nwants to be notified. Add events for all new stations\nthat mac80211 learns about.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9588bbd5529461a3dacd435bf239c84c3508f569",
      "tree": "dd00011714bdefdef1f818ac7caf53682253a515",
      "parents": [
        "b203ffc3a447eb8d9e6120b783ddee081b143061"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Wed Dec 23 13:15:41 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:55:02 2009 -0500"
      },
      "message": "cfg80211: add remain-on-channel command\n\nAdd new commands for requesting the driver to remain awake\non a specified channel for the specified amount of time\n(and another command to cancel such an operation). This\ncan be used to implement userspace-controlled off-channel\noperations, like Public Action frame exchange on another\nchannel than the operation channel.\n\nThe off-channel operation should behave similarly to scan,\ni.e. the local station (if associated) moves into power\nsave mode to request the AP to buffer frames for it and\nthen moves to the other channel to allow the off-channel\noperation to be completed. The duration parameter can be\nused to request enough time to receive a response from\nthe target station.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8e664fb3fd2b04e3ac5fad7f046000ba54e0e275",
      "tree": "cf811ffed7d7643b72608a5eebd25baffd57fcb3",
      "parents": [
        "77c8144ad3ee7fae834e13cb7e83f5b7c8c5329e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:38 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:54:58 2009 -0500"
      },
      "message": "mac80211: split up and insert custom IEs correctly\n\nCurrently, we insert all user-specified IEs before the HT\nIE for association, and after the HT IE for probe requests.\nFor association, that\u0027s correct only if the user-specified\nIEs are RSN only, incorrect in all other cases including\nWPA. Change this to split apart the user-specified IEs in\ntwo places for association: before the HT IE (e.g. RSN),\nafter the HT IE (generally empty right now I think?) and\nafter WMM (all other vendor-specific IEs). For probes,\nsplit the IEs in different places to be correct according\nto the spec.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a80f7c0b088187c8471b441d461e937991870661",
      "tree": "f673c08009a03f2e988a638510b112a5584bea11",
      "parents": [
        "9607e6b66a0d25ca63b70d54a4283fa13d8f7c9d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:15:32 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:54:51 2009 -0500"
      },
      "message": "mac80211: introduce flush operation\n\nWe\u0027ve long lacked a good confirmation that frames\nhave really gone out, e.g. before going off-channel\nfor a scan. Add a flush() operation that drivers\ncan implement to provide that confirmation, and use\nit in a few places:\n * before scanning sends the nullfunc frames\n * after scanning sends the nullfunc frames, if any\n * when going idle, to send any pending frames\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "671adc93b6472eaa0142a88d096c945f7b07893a",
      "tree": "fb30cd3cc5e9fa25815e4eccf13bff4a9e6c6b74",
      "parents": [
        "5e31258945f60dff65952575625cac214a75893e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 23 13:12:04 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 16:19:45 2009 -0500"
      },
      "message": "wireless: remove remaining qual code\n\nThis removes the remaining users of the rx status\n\u0027qual\u0027 field and the field itself.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ea1e4b842049fcc4741096538114871a74859314",
      "tree": "c2336ab480ac0fd62e0dc41b391d99c97158dc9c",
      "parents": [
        "b6ce5c33001b1dc83e6a1a6f30c5dccccea651b6",
        "92c6f8d849178582fc527aaf1e51dd37a74767d3"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 15:09:11 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 28 15:09:11 2009 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "9da3e068142ec7856b2f13261dcf0660fad32b61",
      "tree": "1afb5803591d4ec5ecc7aea3c36b103056824541",
      "parents": [
        "7db94e210351e8578d4a98fed3edd4df5f10ae9d"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Mon Dec 07 15:57:50 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 22 13:56:02 2009 -0500"
      },
      "message": "mac80211: only bother printing highest data rate on debugfs if its set\n\nIEEE-802.11n spec says the RX highest data rate field does\nnot specify the highest supported RX data rate if its not set.\nIgnore it if not set then. Refer to section 7.3.56.4\n\nCc: johannes@sipsolutions.net\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0f78231bffb868a30e8533aace142213266bb811",
      "tree": "317f65dc6d89e9a89ad83f94fadd780dd1e0ca83",
      "parents": [
        "18974b5b0b5e758d416c550553b143e5c8038281"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Dec 01 13:37:02 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 22 13:31:16 2009 -0500"
      },
      "message": "mac80211: enable spatial multiplexing powersave\n\nEnable spatial multiplexing in mac80211 by telling the\ndriver what to do and, where necessary, sending action\nframes to the AP to update the requested SMPS mode.\n\nAlso includes a trivial implementation for hwsim that\njust logs the requested mode.\n\nFor now, the userspace interface is in debugfs only,\nand let you toggle the requested mode at any time.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "eaf85ca7fecb218fc41ff57c1642ca73b097aabb",
      "tree": "ad7965715f0cd67fe8946980ae2d1e9f3ea231a1",
      "parents": [
        "ca99861d5421c91f5a8fd3a77acb4b7be14f119d"
      ],
      "author": {
        "name": "Zhu Yi",
        "email": "yi.zhu@intel.com",
        "time": "Tue Dec 01 10:18:37 2009 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Dec 22 13:31:15 2009 -0500"
      },
      "message": "wireless: add ieee80211_amsdu_to_8023s\n\nMove the A-MSDU handling code from mac80211 to cfg80211 so that more\ndrivers can use it. The new created function ieee80211_amsdu_to_8023s\nconverts an A-MSDU frame to a list of 802.3 frames.\n\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "47846c9b0c10808d9337d2e7d09361f3e0a0a71a",
      "tree": "8e5d0dbf3309b7868fa73a888f9561ffea1580e3",
      "parents": [
        "abe60632f311d515b082b450504ee24006023951"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 25 17:46:19 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 21 18:38:52 2009 -0500"
      },
      "message": "mac80211: reduce reliance on netdev\n\nFor bluetooth 3, we will most likely not have\na netdev for a virtual interface (sdata), so\nprepare for that by reducing the reliance on\nhaving a netdev. This patch moves the name\nand address fields into the sdata struct and\nuses them from there all over. Some work is\nneeded to keep them sync\u0027ed, but that\u0027s not\na lot of work and in slow paths anyway.\n\nIn doing so, this also reduces the number of\npointer dereferences in many places, because\nof things like sdata-\u003edev-\u003edev_addr becoming\nsdata-\u003evif.addr.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9a418af5df03ad133cd8c8f6742b75e542db6392",
      "tree": "c439a797e8fa475e348763c544f0f3be57862b56",
      "parents": [
        "8585c2b896861aacd15337c3c7e58ad114e6cf60"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Dec 17 13:55:48 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 21 11:32:27 2009 -0500"
      },
      "message": "mac80211: fix peer HT capabilities\n\nI noticed yesterday, because Jeff had noticed\na speed regression, cf. bug\nhttp://bugzilla.intellinuxwireless.org/show_bug.cgi?id\u003d2138\nthat the SM PS settings for peers were wrong.\nInstead of overwriting the SM PS settings with\nthe local bits, we need to keep the remote bits.\n\nThe bug was part of the original HT code from\nover two years ago, but unfortunately nobody\nnoticed that it makes no sense -- we shouldn\u0027t\nbe overwriting the peer\u0027s setting with our own\nbut rather keep it intact when masking the peer\ncapabilities with our own.\n\nWhile fixing that, I noticed that the masking of\ncapabilities is completely useless for most of\nthe bits, so also fix those other bits.\n\nFinally, I also noticed that PSMP_SUPPORT no\nlonger exists in the final 802.11n version, so\nalso remove that.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d24deb2580823ab0b8425790c6f5d18e2ff749d8",
      "tree": "e19fa93ccf306ea54508492a141721a1e4cc3a30",
      "parents": [
        "b2ec153a637409bd87952d44409905b7d98418b8"
      ],
      "author": {
        "name": "Gertjan van Wingerde",
        "email": "gwingerde@gmail.com",
        "time": "Fri Dec 04 23:46:54 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 14 14:22:31 2009 -0500"
      },
      "message": "mac80211: Add define for TX headroom reserved by mac80211 itself.\n\nAdd a definition of the amount of TX headroom reserved by mac80211 itself\nfor its own purposes. Also add BUILD_BUG_ON to validate the value.\nThis define can then be used by drivers to request additional TX headroom\nin the most efficient manner.\n\nSigned-off-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2f7de5710a4d394920405febc2a9937c69e16dda",
      "tree": "8f038451b643f68ab399009e769a74678feb5546",
      "parents": [
        "07f29bc5bbae4e53e982ab956fed7207990a7786"
      ],
      "author": {
        "name": "Damian Lukowski",
        "email": "damian@tvk.rwth-aachen.de",
        "time": "Mon Dec 07 06:06:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:56:11 2009 -0800"
      },
      "message": "tcp: Stalling connections: Move timeout calculation routine\n\nThis patch moves retransmits_timed_out() from include/net/tcp.h\nto tcp_timer.c, where it is used.\n\nReported-by: Frederic Leroy \u003cfredo@starox.org\u003e\nSigned-off-by: Damian Lukowski \u003cdamian@tvk.rwth-aachen.de\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07f29bc5bbae4e53e982ab956fed7207990a7786",
      "tree": "b44506c37ce4886220439b38ef647c3cd7fbc6ce",
      "parents": [
        "cb19054697e92a793f336380fd72c588521178ff"
      ],
      "author": {
        "name": "Damian Lukowski",
        "email": "damian@tvk.rwth-aachen.de",
        "time": "Mon Dec 07 06:06:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:56:11 2009 -0800"
      },
      "message": "tcp: Stalling connections: Fix timeout calculation routine\n\nThis patch fixes a problem in the TCP connection timeout calculation.\nCurrently, timeout decisions are made on the basis of the current\ntcp_time_stamp and retrans_stamp, which is usually set at the first\nretransmission.\nHowever, if the retransmission fails in tcp_retransmit_skb(),\nretrans_stamp is not updated and remains zero. This leads to wrong\ndecisions in retransmits_timed_out() if tcp_time_stamp is larger than\nthe specified timeout, which is very likely.\nIn this case, the TCP connection dies after the first attempted\n(and unsuccessful) retransmission.\n\nWith this patch, tcp_skb_cb-\u003ewhen is used instead, when retrans_stamp\nis not available.\n\nThis bug has been introduced together with retransmits_timed_out() in\n2.6.32, as the number of retransmissions has been used for timeout\ndecisions before. The corresponding commit was\n6fa12c85031485dff38ce550c24f10da23b0adaa (Revert Backoff [v3]:\nCalculate TCP\u0027s connection close threshold as a time value.).\n\nThanks to Ilpo Järvinen for code suggestions and Frederic Leroy for\ntesting.\n\nReported-by: Frederic Leroy \u003cfredo@starox.org\u003e\nSigned-off-by: Damian Lukowski \u003cdamian@tvk.rwth-aachen.de\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b38310e99ed09163062902285edd6d7b3fc136d6",
      "tree": "13eccd81933022f96cb2bcd2146aefe737eba8f6",
      "parents": [
        "634d7df89a93a52561f598bf9512f4cf72946954"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Dec 06 10:35:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:42:28 2009 -0800"
      },
      "message": "include/linux/if_ether.h: Remove unused defines MAC_BUF_SIZE and DECLARE_MAC_BUF\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64f16603eae17e869d5fc8a60ae987394190e639",
      "tree": "c21cb3d817399573b5b069981d988fedd2b9b03d",
      "parents": [
        "073886ff23bfbe7b88c9133d7a556d6ec51f0b50"
      ],
      "author": {
        "name": "Tilman Schmidt",
        "email": "tilman@imap.cc",
        "time": "Sat Dec 05 08:54:20 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:30:41 2009 -0800"
      },
      "message": "gigaset: documentation amendments\n\nVarious additions and improvements to the Gigaset driver\u0027s README\nfile, and added comments to its userspace visible include file.\n\nSigned-off-by: Tilman Schmidt \u003ctilman@imap.cc\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cdaedae635b17ce23c738ce7d364b442310cdec",
      "tree": "af07cdf6c31cca8d1a094bd104efa65e1e95e270",
      "parents": [
        "9327f7053e3993c125944fdb137a0618319ef2a0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Dec 04 03:47:42 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:17:51 2009 -0800"
      },
      "message": "tcp: Fix a connect() race with timewait sockets\n\nWhen we find a timewait connection in __inet_hash_connect() and reuse\nit for a new connection request, we have a race window, releasing bind\nlist lock and reacquiring it in __inet_twsk_kill() to remove timewait\nsocket from list.\n\nAnother thread might find the timewait socket we already chose, leading to\nlist corruption and crashes.\n\nFix is to remove timewait socket from bind list before releasing the bind lock.\n\nNote: This problem happens if sysctl_tcp_tw_reuse is set.\n\nReported-by: kapil dakhane \u003ckdakhane@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9327f7053e3993c125944fdb137a0618319ef2a0",
      "tree": "3cee7de049a2468bef930b1832c42bd1b2e69e9a",
      "parents": [
        "74757d49016a8b06ca028196886641d7aeb78de5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Dec 04 03:46:54 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:17:51 2009 -0800"
      },
      "message": "tcp: Fix a connect() race with timewait sockets\n\nFirst patch changes __inet_hash_nolisten() and __inet6_hash()\nto get a timewait parameter to be able to unhash it from ehash\nat same time the new socket is inserted in hash.\n\nThis makes sure timewait socket wont be found by a concurrent\nwriter in __inet_check_established()\n\nReported-by: kapil dakhane \u003ckdakhane@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6035ccd8e9e40bb654fbfdef325902ab531679a5",
      "tree": "c1810d8a4d4ef150cdf14af72e6087dfc3f4b6e0",
      "parents": [
        "23eb3b64b5e44680c867e165fe1cd18e57fba255",
        "878eaddd05d251cefa9632c2b8046833c5eead66"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:19:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:19:16 2009 -0800"
      },
      "message": "Merge branch \u0027for-2.6.33\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.33\u0027 of git://git.kernel.dk/linux-2.6-block: (113 commits)\n  cfq-iosched: Do not access cfqq after freeing it\n  block: include linux/err.h to use ERR_PTR\n  cfq-iosched: use call_rcu() instead of doing grace period stall on queue exit\n  blkio: Allow CFQ group IO scheduling even when CFQ is a module\n  blkio: Implement dynamic io controlling policy registration\n  blkio: Export some symbols from blkio as its user CFQ can be a module\n  block: Fix io_context leak after failure of clone with CLONE_IO\n  block: Fix io_context leak after clone with CLONE_IO\n  cfq-iosched: make nonrot check logic consistent\n  io controller: quick fix for blk-cgroup and modular CFQ\n  cfq-iosched: move IO controller declerations to a header file\n  cfq-iosched: fix compile problem with !CONFIG_CGROUP\n  blkio: Documentation\n  blkio: Wait on sync-noidle queue even if rq_noidle \u003d 1\n  blkio: Implement group_isolation tunable\n  blkio: Determine async workload length based on total number of queues\n  blkio: Wait for cfq queue to get backlogged if group is empty\n  blkio: Propagate cgroup weight updation to cfq groups\n  blkio: Drop the reference to queue once the task changes cgroup\n  blkio: Provide some isolation between groups\n  ...\n"
    },
    {
      "commit": "23eb3b64b5e44680c867e165fe1cd18e57fba255",
      "tree": "d6aed2971ef647f7be2986353f830577abd1fab9",
      "parents": [
        "1c496784a0d317535f846ddb2c93a08ba936266b",
        "1b52f2a41c41052d2a7c78af0bd9b8b11d70f49a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:18:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:18:01 2009 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (54 commits)\n  Revert \"pata_sis: Implement MWDMA for the UDMA 133 capable chips\"\n  libata: Clarify ata_set_lba_range_entries function\n  libata: Report zeroed read after TRIM and max discard size\n  pata_hpt3x2n: fix overclocked MWDMA0 timing\n  pata_it8213: MWDMA0 is unsupported\n  [libata] MWDMA0 is unsupported on PIIX-like PATA controllers\n  pata_via: clear UDMA transfer mode bit for PIO and MWDMA\n  pata_sis: Power Management fix\n  pata_rz1000: Power Management fix\n  pata_radisys: fix UDMA handling\n  pata_ns87415: Power Management fix\n  pata_marvell: fix marvell_pre_reset() documentation\n  pata_legacy: add pointers to QDI65x0 documentation\n  pata_legacy: fix access to control register for QDI6580\n  pata_legacy: fix QDI6580DP support\n  pata_it8213: fix it8213_pre_reset() documentation\n  pata_it8213: fix wrong MWDMA timings being programmed\n  pata_it8213: fix PIO2 underclocking\n  pata_it8213: fix wrong PIO timings being programmed\n  pata_it8213: fix UDMA handling\n  ...\n"
    },
    {
      "commit": "1c496784a0d317535f846ddb2c93a08ba936266b",
      "tree": "6d0225860032f263b6d95a3e55c364a1a5f55ec1",
      "parents": [
        "adf9904dc774f23f04a5425f0198483ea61f878b",
        "9a01609e1885b827b979d6d9dd86f43208a9e5fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:15:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:15:29 2009 -0800"
      },
      "message": "Merge branch \u0027omap-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6\n\n* \u0027omap-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (149 commits)\n  arm: omap: Add omap3_defconfig\n  AM35xx: Defconfig for AM3517 EVM board\n  AM35xx: Add support for AM3517 EVM board\n  omap: 3630sdp: defconfig creation\n  omap: 3630sdp: introduce 3630 sdp board support\n  omap3: Add defconfig for IGEP v2 board\n  omap3: Add minimal IGEP v2 support\n  omap3: Add CompuLab CM-T35 defconfig\n  omap3: Add CompuLab CM-T35 board support\n  omap3: rx51: Add wl1251 wlan driver support\n  omap3: rx51: Add SDRAM init\n  omap1: Add default kernel configuration for Herald\n  omap1: Add board support and LCD for HTC Herald\n  omap: zoom2: update defconfig for LL_DEBUG_NONE\n  omap: zoom3: defconfig creation\n  omap3: zoom: Introduce zoom3 board support\n  omap3: zoom: Drop i2c-1 speed to 2400\n  omap3: zoom: rename zoom2 name to generic zoom\n  omap3: zoom: split board file for software reuse\n  omap3evm: MIgrate to smsc911x ethernet driver\n  ...\n\nFix trivial conflict (two unrelated config options added next to each\nother) in arch/arm/mach-omap2/Makefile\n"
    },
    {
      "commit": "bb592cf474404e51cbf3c419fb72fda83c4b7d72",
      "tree": "05823f536d5f095857a7aff732e205d249e4b7a1",
      "parents": [
        "79c9601c2e0dbbe69895d302de4d19f3a31fbd30",
        "af0940dac37545b1e7900b19c464fb6367d3f82f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:13:10 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:13:10 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  ieee1394: Use hweight32\n  firewire: cdev: reduce stack usage by ioctl_dispatch\n  firewire: ohci: 0 may be a valid DMA address\n  firewire: core: WARN on wrong usage of core transaction functions\n  firewire: core: optimize Topology Map creation\n  firewire: core: clarify generate_config_rom usage\n  firewire: optimize config ROM creation\n  firewire: cdev: normalize variable names\n  firewire: normalize style of queue_work wrappers\n  firewire: cdev: fix memory leak in an error path\n"
    },
    {
      "commit": "79c9601c2e0dbbe69895d302de4d19f3a31fbd30",
      "tree": "78d4be2df851b2b4106adcfd736622a90cecf9e9",
      "parents": [
        "41440ffe21f29bdb985cab76b2d0b06d83e63b19",
        "3d14b5beba35250c548d3851a2b84fce742d8311"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:12:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:12:43 2009 -0800"
      },
      "message": "Merge branch \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (272 commits)\n  Fix soc_common PCMCIA configuration\n  ARM: 5827/1: SA1100: h3100/h3600: emit messages on failed gpio_request\n  ARM: 5826/1: SA1100: h3100/h3600: always build htc-egpio driver\n  ARM: 5825/1: SA1100: h3600: update defconfig\n  ARM: 5824/1: SA1100: reuse h3600 PCMCIA driver on h3100\n  ARM: 5823/1: SA1100: h3100/h3600: add support for gpio-keys\n  ARM: 5822/1: SA1100: h3100/h3600: clean up #includes\n  ARM: 5821/1: SA1100: h3100/h3600: revise copyright boilerplates\n  ARM: 5820/1: SA1100: h3100/h3600: split h3600.c\n  ARM: 5819/1: SA1100: h3100/h3600: merge h3600.h and h3600_gpio.h into h3xxx.h\n  ARM: 5818/1: SA1100: h3100/h3600: drop old GPIO definitions\n  ARM: 5817/1: SA1100: h3100/h3600: configure all unused gpios as inputs\n  ARM: 5816/1: SA1100: h3600: remove IRQ_GPIO_* definitions\n  ARM: 5815/1: SA1100: h3100/h3600: remove now unused assign_h3600_egpio handlers\n  ARM: 5814/1: SA1100: h3100/h3600: convert all users of assign_h3600_egpio to gpiolib\n  ARM: 5813/1: SA1100: h3100/h3600: add htc-egpio driver\n  ARM: 5812/1: SA1100: h3100/h3600: separate machine-specific LCD helpers\n  ARM: 5811/2: pcmcia: convert sa1100_h3600 driver to gpiolib\n  ARM: 5799/1: SA1100: h3600: stop setting direction for LCD pins\n  ARM: 5798/1: SA1100: h3600: remove unused cruft from h3600.h\n  ...\n"
    },
    {
      "commit": "41440ffe21f29bdb985cab76b2d0b06d83e63b19",
      "tree": "1d7d1ff6f699ccbabb71c7bc4172f7d15bc4bc45",
      "parents": [
        "dad3de7d0090280f44ff27131ed2878f1ab6ddad",
        "6471b68982d3bb1a593c3e183c804ecf830125d3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:12:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:12:16 2009 -0800"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\n* \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  i2c-stub: Documentation update\n  i2c-stub: Allow user to disable some commands\n  i2c-stub: Implement I2C block support\n  i2c: Refactor for_each callbacks\n  i2c-i801: Retry on lost arbitration\n  i2c: Remove big kernel lock from i2cdev_open\n  ics932s401: Clean up detect function\n  i2c: Simplify i2c_detect_address\n  i2c: Drop probe, ignore and force module parameters\n  i2c: Add missing __devinit markers to old i2c adapter drivers\n  i2c: Bus drivers don\u0027t have to support I2C_M_REV_DIR_ADDR\n  i2c: Prevent priority inversion on top of bus lock\n  i2c-voodoo3: Delete\n  i2c-powermac: Drop temporary name buffer\n  i2c-powermac: Include the i2c_adapter in struct pmac_i2c_bus\n  i2c-powermac: Log errors\n  i2c-powermac: Refactor i2c_powermac_smbus_xfer\n  i2c-powermac: Reject unsupported I2C transactions\n  i2c/chips: Move ds1682 to drivers/misc\n"
    },
    {
      "commit": "dad3de7d0090280f44ff27131ed2878f1ab6ddad",
      "tree": "f887c721761ce845037d96b59542198294a5d3a5",
      "parents": [
        "ed9216c1717a3f3738a77908aff78995ea69e7ff",
        "7a1a8eb58a2c6cd819d17332c5a2c369203635d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:07:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:07:16 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM: Add flag for devices capable of generating run-time wake-up events\n  PM / Runtime: Remove unnecessary braces in __pm_runtime_set_status()\n  PM / Runtime: Make documentation of runtime_idle() agree with the code\n  PM / Runtime: Ensure timer_expires is nonzero in pm_schedule_suspend()\n  PM / Runtime: Use deferred_resume flag in pm_request_resume\n  PM / Runtime: Export the PM runtime workqueue\n  PM / Runtime: Fix lockdep warning in __pm_runtime_set_status()\n  PM / Hibernate: Swap, use KERN_CONT\n  PM / Hibernate: Shift remaining code from swsusp.c to hibernate.c\n  PM / Hibernate: Move swap functions to kernel/power/swap.c.\n  PM / freezer: Don\u0027t get over-anxious while waiting\n"
    },
    {
      "commit": "ed9216c1717a3f3738a77908aff78995ea69e7ff",
      "tree": "c6b5ace7c333dabbf1d94074a13a98244bcdfb26",
      "parents": [
        "d7fc02c7bae7b1cf69269992cf880a43a350cdaa",
        "d5696725b2a4c59503f5e0bc33adeee7f30cd45b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:02:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:02:38 2009 -0800"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.33\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.33\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (84 commits)\n  KVM: VMX: Fix comparison of guest efer with stale host value\n  KVM: s390: Fix prefix register checking in arch/s390/kvm/sigp.c\n  KVM: Drop user return notifier when disabling virtualization on a cpu\n  KVM: VMX: Disable unrestricted guest when EPT disabled\n  KVM: x86 emulator: limit instructions to 15 bytes\n  KVM: s390: Make psw available on all exits, not just a subset\n  KVM: x86: Add KVM_GET/SET_VCPU_EVENTS\n  KVM: VMX: Report unexpected simultaneous exceptions as internal errors\n  KVM: Allow internal errors reported to userspace to carry extra data\n  KVM: Reorder IOCTLs in main kvm.h\n  KVM: x86: Polish exception injection via KVM_SET_GUEST_DEBUG\n  KVM: only clear irq_source_id if irqchip is present\n  KVM: x86: disallow KVM_{SET,GET}_LAPIC without allocated in-kernel lapic\n  KVM: x86: disallow multiple KVM_CREATE_IRQCHIP\n  KVM: VMX: Remove vmx-\u003emsr_offset_efer\n  KVM: MMU: update invlpg handler comment\n  KVM: VMX: move CR3/PDPTR update to vmx_set_cr3\n  KVM: remove duplicated task_switch check\n  KVM: powerpc: Fix BUILD_BUG_ON condition\n  KVM: VMX: Use shared msr infrastructure\n  ...\n\nTrivial conflicts due to new Kconfig options in arch/Kconfig and kernel/Makefile\n"
    },
    {
      "commit": "d7fc02c7bae7b1cf69269992cf880a43a350cdaa",
      "tree": "a43d56fa72913a1cc98a0bbebe054d08581b3a7c",
      "parents": [
        "ee1262dbc65ce0b6234a915d8432171e8d77f518",
        "28b4d5cc17c20786848cdc07b7ea237a309776bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1815 commits)\n  mac80211: fix reorder buffer release\n  iwmc3200wifi: Enable wimax core through module parameter\n  iwmc3200wifi: Add wifi-wimax coexistence mode as a module parameter\n  iwmc3200wifi: Coex table command does not expect a response\n  iwmc3200wifi: Update wiwi priority table\n  iwlwifi: driver version track kernel version\n  iwlwifi: indicate uCode type when fail dump error/event log\n  iwl3945: remove duplicated event logging code\n  b43: fix two warnings\n  ipw2100: fix rebooting hang with driver loaded\n  cfg80211: indent regulatory messages with spaces\n  iwmc3200wifi: fix NULL pointer dereference in pmkid update\n  mac80211: Fix TX status reporting for injected data frames\n  ath9k: enable 2GHz band only if the device supports it\n  airo: Fix integer overflow warning\n  rt2x00: Fix padding bug on L2PAD devices.\n  WE: Fix set events not propagated\n  b43legacy: avoid PPC fault during resume\n  b43: avoid PPC fault during resume\n  tcp: fix a timewait refcnt race\n  ...\n\nFix up conflicts due to sysctl cleanups (dead sysctl_check code and\nCTL_UNNUMBERED removed) in\n\tkernel/sysctl_check.c\n\tnet/ipv4/sysctl_net_ipv4.c\n\tnet/ipv6/addrconf.c\n\tnet/sctp/sysctl.c\n"
    },
    {
      "commit": "ee1262dbc65ce0b6234a915d8432171e8d77f518",
      "tree": "3a4003800d170de691b2e6a9c93c0ca6795678bf",
      "parents": [
        "a421018e8c10e5593a1fee076af72a66c3fe8ca3",
        "7f5620a5fcd658f219e85831d3691908f1eccbde"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:48:23 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:48:23 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6:\n  sparc: Set UTS_MACHINE correctly.\n  sparc,leon: init_leon srmmu cleanup\n  sparc32: Remove early interrupt enable.\n  sparc, leon: Added Aeroflex Gaisler entry in manufacturer_info structure\n  sparc64: Faster early-boot framebuffer console.\n  Revert \"sparc: Make atomic locks raw\"\n  sparc: remove unused nfsd #includes\n  sparc: Fixup last users of irq_chip-\u003etypename\n  Added sparc_leon3_snooping_enabled() and converted extern inline to static inline\n  No auxio on LEON\n  apbuart: Use of_find_node_by_path to find root node.\n  sparc: Replace old style lock initializer\n  sparc: Make atomic locks raw\n  apbuart: Fix build and missing driver unregister.\n  apbuart: Kill dependency on deprecated Sparc-only PROM interfaces.\n  apbuart: Fix build warning.\n  sparc: Support for GRLIB APBUART serial port\n  watchdog: Remove BKL from rio watchdog driver\n  sparc: Remove BKL from apc\n  sparc,leon: Sparc-Leon SMP support\n"
    },
    {
      "commit": "a421018e8c10e5593a1fee076af72a66c3fe8ca3",
      "tree": "2854511845d0e07d33726a13eda6de1059a5c9df",
      "parents": [
        "3ad1f3b35e8309ec93454dbf89beaafcdb5312da",
        "86e1d57e4f24ca27ce813bdc2afaac4adafcbaf4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:47:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:47:46 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (294 commits)\n  S3C64XX: Staticise platform data for PCM devices\n  ASoC: Rename controls with a / in wm_hubs\n  snd-fm801: autodetect SF64-PCR (tuner-only) card\n  ALSA: tea575x-tuner: fix mute\n  ASoC: au1x: dbdma2: plug memleak in pcm device creation error path\n  ASoC: au1x: dbdma2: fix oops on soc device removal.\n  ALSA: hda - Fix memory leaks in the previous patch\n  ALSA: hda - Add ALC661/259, ALC892/888VD support\n  ALSA: opti9xx: remove snd_opti9xx fields\n  ALSA: aaci - Clean up duplicate code\n  ALSA: usb - Fix mixer map for Hercules Gamesurround Muse Pocket LT\n  ALSA: hda - Add position_fix quirk for HP dv3\n  ALSA: hda - Add a pin-fix for FSC Amilo Pi1505\n  ALSA: hda - Fix Cxt5047 test mode\n  ASoC: pxa/raumfeld: adopt new snd_soc_dai_set_pll() API\n  ASoC: sh: fsi: Add runtime PM support\n  sh: ms7724se: Add runtime PM support for FSI\n  ALSA: hda - Add a position_fix quirk for MSI Wind U115\n  ALSA: opti-miro: add PnP detection\n  ALSA: opti-miro: separate comon probing code\n  ...\n"
    },
    {
      "commit": "3ad1f3b35e8309ec93454dbf89beaafcdb5312da",
      "tree": "d26e60c334b70adc310b807a33d3491dc205d52d",
      "parents": [
        "1557d33007f63dd96e5d15f33af389378e5f2e54",
        "e91edcf5a2940bb7f1f316c871dfe9e2aaf9d6d9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:46:56 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:46:56 2009 -0800"
      },
      "message": "Merge branch \u0027next-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027next-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  of: merge of_find_all_nodes() implementations\n  of: merge other miscellaneous prototypes\n  of: merge of_*_flat_dt*() functions\n  of: merge of_node_get(), of_node_put() and of_find_all_nodes()\n  of: merge of_read_number() an of_read_ulong()\n  of: merge of_node_*_flag() and set_node_proc_entry()\n  of: merge struct boot_param_header from Microblaze and PowerPC\n  of: add common header for flattened device tree representation\n  of: Move OF_IS_DYNAMIC and OF_MARK_DYNAMIC macros to of.h\n  of: merge struct device_node\n  of: merge phandle, ihandle and struct property\n  of: Rework linux/of.h and asm/prom.h include ordering\n"
    },
    {
      "commit": "1557d33007f63dd96e5d15f33af389378e5f2e54",
      "tree": "06d05722b2ba5d2a67532f779fa8a88efe3c88f1",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d",
        "c656ae95d1c5c8ed5763356263ace2d03087efec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:38:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:38:50 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6: (43 commits)\n  security/tomoyo: Remove now unnecessary handling of security_sysctl.\n  security/tomoyo: Add a special case to handle accesses through the internal proc mount.\n  sysctl: Drop \u0026 in front of every proc_handler.\n  sysctl: Remove CTL_NONE and CTL_UNNUMBERED\n  sysctl: kill dead ctl_handler definitions.\n  sysctl: Remove the last of the generic binary sysctl support\n  sysctl net: Remove unused binary sysctl code\n  sysctl security/tomoyo: Don\u0027t look at ctl_name\n  sysctl arm: Remove binary sysctl support\n  sysctl x86: Remove dead binary sysctl support\n  sysctl sh: Remove dead binary sysctl support\n  sysctl powerpc: Remove dead binary sysctl support\n  sysctl ia64: Remove dead binary sysctl support\n  sysctl s390: Remove dead sysctl binary support\n  sysctl frv: Remove dead binary sysctl support\n  sysctl mips/lasat: Remove dead binary sysctl support\n  sysctl drivers: Remove dead binary sysctl support\n  sysctl crypto: Remove dead binary sysctl support\n  sysctl security/keys: Remove dead binary sysctl support\n  sysctl kernel: Remove binary sysctl logic\n  ...\n"
    },
    {
      "commit": "3d14b5beba35250c548d3851a2b84fce742d8311",
      "tree": "065e3d93c3fcbc5ee4c44fa78662393cddbdf6de",
      "parents": [
        "0719dc341389882cc834ed18fc9b7fc6006b2b85",
        "1bf8e6219552d5dd27012d567ec8c4bb9c2d86b4"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Dec 06 17:00:33 2009 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Dec 06 17:00:33 2009 +0000"
      },
      "message": "Merge branch \u0027sa1100\u0027 into devel\n"
    },
    {
      "commit": "ba71e17269633ea36e776d744d5cc0fcb5a41f93",
      "tree": "0a51c86e5c218ac2ae74ff8193880a64053a77bc",
      "parents": [
        "729fae44dd8332cbf5b9d05a9af17a7455e165b2",
        "9823b2d0f9547742fc40857f9ef153d6956266f2"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Dec 06 16:53:09 2009 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Dec 06 16:53:12 2009 +0000"
      },
      "message": "Merge branch \u0027for-lak\u0027 of git://git.linuxtogo.org/home/thesing/collie into sa1100\n"
    },
    {
      "commit": "c7b25a9e96dc89954ae8d8f473f56fae62030f84",
      "tree": "cc1f924445517a16e3923112e77edbfe33cd3b25",
      "parents": [
        "abe38388e50f4d89726fd0c0cceea61563c7026b"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Dec 06 17:06:24 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Dec 06 17:06:24 2009 +0100"
      },
      "message": "i2c: Drop probe, ignore and force module parameters\n\nThe legacy probe and force module parameters are obsolete now, the\nsame can be achieved using the new_device sysfs interface, which is\nboth more flexible and cheaper (it is implemented by i2c-core rather\nthan replicated in every driver module.)\n\nThe legacy ignore module parameters can be dropped as well. Ignoring\ncan be done by instantiating a \"dummy\" device at the problematic\naddress.\n\nThis is the first step of a huge cleanup to i2c-core\u0027s i2c_detect\nfunction, i2c.h\u0027s I2C_CLIENT_INSMOD* macros, and all drivers that made\nuse of them.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "194684e596af4bdaebb424166d94a8aa528edfda",
      "tree": "1a6b0ede432e8c9fb4f7a1652deb71044ff9aa50",
      "parents": [
        "a0c11cdd6a1975fd8d6d186f2e2865a82f3e9bbf"
      ],
      "author": {
        "name": "Mika Kuoppala",
        "email": "mika.kuoppala@nokia.com",
        "time": "Sun Dec 06 17:06:22 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Dec 06 17:06:22 2009 +0100"
      },
      "message": "i2c: Prevent priority inversion on top of bus lock\n\nLow priority thread holding the i2c bus mutex could block higher\npriority threads to access the bus resulting in unacceptable\nlatencies. Change the mutex type to rt_mutex preventing priority\ninversion.\n\nTested-by: Peter Ujfalusi \u003cpeter.ujfalusi@nokia.com\u003e\nSigned-off-by: Mika Kuoppala \u003cmika.kuoppala@nokia.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "7a1a8eb58a2c6cd819d17332c5a2c369203635d5",
      "tree": "2424ca8b41f97a0d4110218ef75caa50270c194a",
      "parents": [
        "965c4ac0613b071d6f035334c5d9d942013df4f9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Dec 03 21:19:18 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 06 16:17:57 2009 +0100"
      },
      "message": "PM: Add flag for devices capable of generating run-time wake-up events\n\nApparently, there are devices that can wake up the system from sleep\nstates and yet are incapable of generating wake-up events at run\ntime.  Thus, introduce a flag indicating if given device is capable\nof generating run-time wake-up events.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "ef26b1691d11e17af205a4ff9c91458d931d11db",
      "tree": "5db199f404ca18f6c9e8617b684e9165ca365e30",
      "parents": [
        "a77d2e081bbbccb38f42da45500dd089756efdfb",
        "7cff7ce94a7df2ccf5ac76b48ee0995fee2060df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:32:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:32:03 2009 -0800"
      },
      "message": "Merge branch \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  include/linux/compiler-gcc4.h: Fix build bug - gcc-4.0.2 doesn\u0027t understand __builtin_object_size\n  x86/alternatives: No need for alternatives-asm.h to re-invent stuff already in asm.h\n  x86/alternatives: Check replacementlen \u003c\u003d instrlen at build time\n  x86, 64-bit: Set data segments to null after switching to 64-bit mode\n  x86: Clean up the loadsegment() macro\n  x86: Optimize loadsegment()\n  x86: Add missing might_fault() checks to copy_{to,from}_user()\n  x86-64: __copy_from_user_inatomic() adjustments\n  x86: Remove unused thread_return label from switch_to()\n  x86, 64-bit: Fix bstep_iret jump\n  x86: Don\u0027t use the strict copy checks when branch profiling is in use\n  x86, 64-bit: Move K8 B step iret fixup to fault entry asm\n  x86: Generate cmpxchg build failures\n  x86: Add a Kconfig option to turn the copy_from_user warnings into errors\n  x86: Turn the copy_from_user check into an (optional) compile time warning\n  x86: Use __builtin_memset and __builtin_memcpy for memset/memcpy\n  x86: Use __builtin_object_size() to validate the buffer size for copy_from_user()\n"
    },
    {
      "commit": "897e81bea1fcfcd2c5cdb720c9efdb25da9ff374",
      "tree": "92cf33ed2c35c1ece633f09365702f1c8e24d415",
      "parents": [
        "c3fa27d1367fac63ac8533d6f20ea851d0d70a10",
        "0cf55e1ec08bb5a22e068309e2d8ba1180ab4239"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:30:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:30:49 2009 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (35 commits)\n  sched, cputime: Introduce thread_group_times()\n  sched, cputime: Cleanups related to task_times()\n  Revert \"sched, x86: Optimize branch hint in __switch_to()\"\n  sched: Fix isolcpus boot option\n  sched: Revert 498657a478c60be092208422fefa9c7b248729c2\n  sched, time: Define nsecs_to_jiffies()\n  sched: Remove task_{u,s,g}time()\n  sched: Introduce task_times() to replace task_{u,s}time() pair\n  sched: Limit the number of scheduler debug messages\n  sched.c: Call debug_show_all_locks() when dumping all tasks\n  sched, x86: Optimize branch hint in __switch_to()\n  sched: Optimize branch hint in context_switch()\n  sched: Optimize branch hint in pick_next_task_fair()\n  sched_feat_write(): Update ppos instead of file-\u003ef_pos\n  sched: Sched_rt_periodic_timer vs cpu hotplug\n  sched, kvm: Fix race condition involving sched_in_preempt_notifers\n  sched: More generic WAKE_AFFINE vs select_idle_sibling()\n  sched: Cleanup select_task_rq_fair()\n  sched: Fix granularity of task_u/stime()\n  sched: Fix/add missing update_rq_clock() calls\n  ...\n"
    },
    {
      "commit": "c3fa27d1367fac63ac8533d6f20ea851d0d70a10",
      "tree": "e7731554085e22b6b63411b1ebb401079f3e0bbb",
      "parents": [
        "96fa2b508d2d3fe040cf4ef2fffb955f0a537ea1",
        "d103d01e4b19f185d3c85f77402b605534c32e89"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:30:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:30:21 2009 -0800"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (470 commits)\n  x86: Fix comments of register/stack access functions\n  perf tools: Replace %m with %a in sscanf\n  hw-breakpoints: Keep track of user disabled breakpoints\n  tracing/syscalls: Make syscall events print callbacks static\n  tracing: Add DEFINE_EVENT(), DEFINE_SINGLE_EVENT() support to docbook\n  perf: Don\u0027t free perf_mmap_data until work has been done\n  perf_event: Fix compile error\n  perf tools: Fix _GNU_SOURCE macro related strndup() build error\n  trace_syscalls: Remove unused syscall_name_to_nr()\n  trace_syscalls: Simplify syscall profile\n  trace_syscalls: Remove duplicate init_enter_##sname()\n  trace_syscalls: Add syscall_nr field to struct syscall_metadata\n  trace_syscalls: Remove enter_id exit_id\n  trace_syscalls: Set event_enter_##sname-\u003edata to its metadata\n  trace_syscalls: Remove unused event_syscall_enter and event_syscall_exit\n  perf_event: Initialize data.period in perf_swevent_hrtimer()\n  perf probe: Simplify event naming\n  perf probe: Add --list option for listing current probe events\n  perf probe: Add argv_split() from lib/argv_split.c\n  perf probe: Move probe event utility functions to probe-event.c\n  ...\n"
    },
    {
      "commit": "28b4d5cc17c20786848cdc07b7ea237a309776bb",
      "tree": "bae406a4b17229dcce7c11be5073f7a67665e477",
      "parents": [
        "d29cecda036f251aee4947f47eea0fe9ed8cc931",
        "96fa2b508d2d3fe040cf4ef2fffb955f0a537ea1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 05 15:22:26 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 05 15:22:26 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/net/pcmcia/fmvj18x_cs.c\n\tdrivers/net/pcmcia/nmclan_cs.c\n\tdrivers/net/pcmcia/xirc2ps_cs.c\n\tdrivers/net/wireless/ray_cs.c\n"
    },
    {
      "commit": "96fa2b508d2d3fe040cf4ef2fffb955f0a537ea1",
      "tree": "3cec6d72a450735fe6b8ed996c7399f57c05a5cb",
      "parents": [
        "7a797cdcca2b3c0031e580203f18d6c9483aaec5",
        "b8007ef7422270864eae523cb38d7522a53a94d3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:36 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (40 commits)\n  tracing: Separate raw syscall from syscall tracer\n  ring-buffer-benchmark: Add parameters to set produce/consumer priorities\n  tracing, function tracer: Clean up strstrip() usage\n  ring-buffer benchmark: Run producer/consumer threads at nice +19\n  tracing: Remove the stale include/trace/power.h\n  tracing: Only print objcopy version warning once from recordmcount\n  tracing: Prevent build warning: \u0027ftrace_graph_buf\u0027 defined but not used\n  ring-buffer: Move access to commit_page up into function used\n  tracing: do not disable interrupts for trace_clock_local\n  ring-buffer: Add multiple iterations between benchmark timestamps\n  kprobes: Sanitize struct kretprobe_instance allocations\n  tracing: Fix to use __always_unused attribute\n  compiler: Introduce __always_unused\n  tracing: Exit with error if a weak function is used in recordmcount.pl\n  tracing: Move conditional into update_funcs() in recordmcount.pl\n  tracing: Add regex for weak functions in recordmcount.pl\n  tracing: Move mcount section search to front of loop in recordmcount.pl\n  tracing: Fix objcopy revision check in recordmcount.pl\n  tracing: Check absolute path of input file in recordmcount.pl\n  tracing: Correct the check for number of arguments in recordmcount.pl\n  ...\n"
    },
    {
      "commit": "7a797cdcca2b3c0031e580203f18d6c9483aaec5",
      "tree": "e35526b99793c08fd76c9a41e969c1c070adcc51",
      "parents": [
        "bb2166c898adb5fe29bc450004926802d2a16035",
        "c13d2f7c3231e873f30db92b96c8caa48f100f33"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:21 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Fix trace_marker output\n  tracing: Fix event format export\n  tracing: Fix return value of tracing_stats_read()\n"
    },
    {
      "commit": "bb2166c898adb5fe29bc450004926802d2a16035",
      "tree": "dc0a1d1219ab7e7324fbca533676d9d3a6a02c56",
      "parents": [
        "0bf7969feae831ede7276f7cc73b586ce0902374",
        "34769945f7cd9ab470413ffe64426e3ad069f49e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:08 2009 -0800"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: Fix spurious irq seqfile conversion\n  genirq: switch /proc/irq/*/spurious to seq_file\n  irq: Do not attempt to create subdirectories if /proc/irq/\u003cirq\u003e failed\n  irq: Remove unused debug_poll_all_shared_irqs()\n  irq: Fix docbook comments\n  irq: trivial: Fix typo in comment for #endif\n"
    },
    {
      "commit": "69f061e0c2ed47304b3eeac7fb7bd5268652dc50",
      "tree": "69bca9d5c7e7eb5e79dae030cbce713686e4d209",
      "parents": [
        "607781762e7aae9c976f0a9a8829d4ba3e2da4ab",
        "f84d49b218b7d4c6cba2e0b41f24bd4045403962"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:52:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:52:33 2009 -0800"
      },
      "message": "Merge branch \u0027core-signal-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-signal-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  signal: Print warning message when dropping signals\n  signal: Fix alternate signal stack check\n"
    },
    {
      "commit": "607781762e7aae9c976f0a9a8829d4ba3e2da4ab",
      "tree": "933dad6ecb0be49e9b1ef41b69d5aa256510720e",
      "parents": [
        "d0b093a8b5ae34ee8be1f7e0dd197fe4788fa1d5",
        "8bfb2f8e655b9d0c45fde679fcd5fd97e34513db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:52:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:52:14 2009 -0800"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)\n  rcu: Make RCU\u0027s CPU-stall detector be default\n  rcu: Add expedited grace-period support for preemptible RCU\n  rcu: Enable fourth level of TREE_RCU hierarchy\n  rcu: Rename \"quiet\" functions\n  rcu: Re-arrange code to reduce #ifdef pain\n  rcu: Eliminate unneeded function wrapping\n  rcu: Fix grace-period-stall bug on large systems with CPU hotplug\n  rcu: Eliminate __rcu_pending() false positives\n  rcu: Further cleanups of use of lastcomp\n  rcu: Simplify association of forced quiescent states with grace periods\n  rcu: Accelerate callback processing on CPUs not detecting GP end\n  rcu: Mark init-time-only rcu_bootup_announce() as __init\n  rcu: Simplify association of quiescent states with grace periods\n  rcu: Rename dynticks_completed to completed_fqs\n  rcu: Enable synchronize_sched_expedited() fastpath\n  rcu: Remove inline from forward-referenced functions\n  rcu: Fix note_new_gpnum() uses of -\u003egpnum\n  rcu: Fix synchronization for rcu_process_gp_end() uses of -\u003ecompleted counter\n  rcu: Prepare for synchronization fixes: clean up for non-NO_HZ handling of -\u003ecompleted counter\n  rcu: Cleanup: balance rcu_irq_enter()/rcu_irq_exit() calls\n  ...\n"
    },
    {
      "commit": "d0b093a8b5ae34ee8be1f7e0dd197fe4788fa1d5",
      "tree": "deaed4192d440b6afb7470b0c36e69d9d65dd119",
      "parents": [
        "3e72b810e30cdf4655279dd767eb798ac7a8fe5e",
        "5c828713358cb9df8aa174371edcbbb62203a490"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:50:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:50:22 2009 -0800"
      },
      "message": "Merge branch \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  ratelimit: Make suppressed output messages more useful\n  printk: Remove ratelimit.h from kernel.h\n  ratelimit: Fix/allow use in atomic contexts\n  ratelimit: Use per ratelimit context locking\n"
    },
    {
      "commit": "3e72b810e30cdf4655279dd767eb798ac7a8fe5e",
      "tree": "a6c8daae5390b44750dfc4ca9bc984430dd16e74",
      "parents": [
        "9b269d4034c7855ac34f0985cc55ee29bd80e80a",
        "c08f782985eed9959438368e84ce1d7f2ed03d95"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:59 2009 -0800"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  mutex: Fix missing conditions to build mutex_spin_on_owner()\n  mutex: Better control mutex adaptive spinning config\n  locking, task_struct: Reduce size on TRACE_IRQFLAGS and 64bit\n  locking: Use __[SPIN|RW]_LOCK_UNLOCKED in [spin|rw]_lock_init()\n  locking: Remove unused prototype\n  locking: Reduce ifdefs in kernel/spinlock.c\n  locking: Make inlining decision Kconfig based\n"
    },
    {
      "commit": "9b269d4034c7855ac34f0985cc55ee29bd80e80a",
      "tree": "ec6c7f54fea5ecfb23eb5ec287732b92924012aa",
      "parents": [
        "7b626acb8f983eb83b396ab96cc24b18d635d487",
        "2ea6dec4a22a6f66f6633876212fd4d195cf8277"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:46 2009 -0800"
      },
      "message": "Merge branch \u0027core-ipi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-ipi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  generic-ipi: Add smp_call_function_any()\n  generic-ipi: Fix misleading smp_call_function*() description\n"
    },
    {
      "commit": "7b626acb8f983eb83b396ab96cc24b18d635d487",
      "tree": "8c3320191311e6186d3aa722f1acd12acd47ece8",
      "parents": [
        "1ebb275afcf5a47092e995541d6c604eef96062a",
        "4528752f49c1f4025473d12bc5fa9181085c3f22"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:07 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:07 2009 -0800"
      },
      "message": "Merge branch \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (63 commits)\n  x86, Calgary IOMMU quirk: Find nearest matching Calgary while walking up the PCI tree\n  x86/amd-iommu: Remove amd_iommu_pd_table\n  x86/amd-iommu: Move reset_iommu_command_buffer out of locked code\n  x86/amd-iommu: Cleanup DTE flushing code\n  x86/amd-iommu: Introduce iommu_flush_device() function\n  x86/amd-iommu: Cleanup attach/detach_device code\n  x86/amd-iommu: Keep devices per domain in a list\n  x86/amd-iommu: Add device bind reference counting\n  x86/amd-iommu: Use dev-\u003earch-\u003eiommu to store iommu related information\n  x86/amd-iommu: Remove support for domain sharing\n  x86/amd-iommu: Rearrange dma_ops related functions\n  x86/amd-iommu: Move some pte allocation functions in the right section\n  x86/amd-iommu: Remove iommu parameter from dma_ops_domain_alloc\n  x86/amd-iommu: Use get_device_id and check_device where appropriate\n  x86/amd-iommu: Move find_protection_domain to helper functions\n  x86/amd-iommu: Simplify get_device_resources()\n  x86/amd-iommu: Let domain_for_device handle aliases\n  x86/amd-iommu: Remove iommu specific handling from dma_ops path\n  x86/amd-iommu: Remove iommu parameter from __(un)map_single\n  x86/amd-iommu: Make alloc_new_range aware of multiple IOMMUs\n  ...\n"
    },
    {
      "commit": "1ebb275afcf5a47092e995541d6c604eef96062a",
      "tree": "56722c2a688f4034e5157a0fceec98d6ac3b36f0",
      "parents": [
        "83fdbfbfe6e7e8906e3a3f8f6bc074d887e92109",
        "26bb7505cf7db3560286be9f6384b6d3911f78b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:47:17 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:47:17 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (31 commits)\n  GFS2: Fix glock refcount issues\n  writeback: remove unused nonblocking and congestion checks (gfs2)\n  GFS2: drop rindex glock to refresh rindex list\n  GFS2: Tag all metadata with jid\n  GFS2: Locking order fix in gfs2_check_blk_state\n  GFS2: Remove dirent_first() function\n  GFS2: Display nobarrier option in /proc/mounts\n  GFS2: add barrier/nobarrier mount options\n  GFS2: remove division from new statfs code\n  GFS2: Improve statfs and quota usability\n  GFS2: Use dquot_send_warning()\n  VFS: Export dquot_send_warning\n  GFS2: Add set_xquota support\n  GFS2: Add get_xquota support\n  GFS2: Clean up gfs2_adjust_quota() and do_glock()\n  GFS2: Remove constant argument from qd_get()\n  GFS2: Remove constant argument from qdsb_get()\n  GFS2: Add proper error reporting to quota sync via sysfs\n  GFS2: Add get_xstate quota function\n  GFS2: Remove obsolete code in quota.c\n  ...\n"
    },
    {
      "commit": "83fdbfbfe6e7e8906e3a3f8f6bc074d887e92109",
      "tree": "977e10a076d76fdb2622f089211f3d0954ba6873",
      "parents": [
        "d9b2c4d0b03c721808c0d259e43a27f1e80205bc",
        "c84d6efd363a3948eb32ec40d46bab6338580454"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:44:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:44:57 2009 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (30 commits)\n  TOMOYO: Add recursive directory matching operator support.\n  remove CONFIG_SECURITY_FILE_CAPABILITIES compile option\n  SELinux: print denials for buggy kernel with unknown perms\n  Silence the existing API for capability version compatibility check.\n  LSM: Move security_path_chmod()/security_path_chown() to after mutex_lock().\n  SELinux: header generation may hit infinite loop\n  selinux: Fix warnings\n  security: report the module name to security_module_request\n  Config option to set a default LSM\n  sysctl: require CAP_SYS_RAWIO to set mmap_min_addr\n  tpm: autoload tpm_tis based on system PnP IDs\n  tpm_tis: TPM_STS_DATA_EXPECT workaround\n  define convenient securebits masks for prctl users (v2)\n  tpm: fix header for modular build\n  tomoyo: improve hash bucket dispersion\n  tpm add default function definitions\n  LSM: imbed ima calls in the security hooks\n  SELinux: add .gitignore files for dynamic classes\n  security: remove root_plug\n  SELinux: fix locking issue introduced with c6d3aaa4e35c71a3\n  ...\n"
    },
    {
      "commit": "d9b2c4d0b03c721808c0d259e43a27f1e80205bc",
      "tree": "f17a4166f62ee14faa1401a6cbd353a4ab8c77cb",
      "parents": [
        "27d16d08717faeaa8afd1b736a096dbaab90f08e",
        "5fa9167a1bf5f5a4b7282f5e7ac56a4a5a1fa044"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:42:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:42:59 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: (50 commits)\n  pcmcia: rework the irq_req_t typedef\n  pcmcia: remove deprecated handle_to_dev() macro\n  pcmcia: pcmcia_request_window() doesn\u0027t need a pointer to a pointer\n  pcmcia: remove unused \"window_t\" typedef\n  pcmcia: move some window-related code to pcmcia_ioctl.c\n  pcmcia: Change window_handle_t logic to unsigned long\n  pcmcia: Pass struct pcmcia_socket to pcmcia_get_mem_page()\n  pcmcia: Pass struct pcmcia_device to pcmcia_map_mem_page()\n  pcmcia: Pass struct pcmcia_device to pcmcia_release_window()\n  drivers/pcmcia: remove unnecessary kzalloc\n  pcmcia: correct handling for Zoomed Video registers in topic.h\n  pcmcia: fix printk formats\n  pcmcia: autoload module pcmcia\n  pcmcia/staging: update comedi drivers\n  PCMCIA: stop duplicating pci_irq in soc_pcmcia_socket\n  PCMCIA: ss: allow PCI IRQs \u003e 255\n  PCMCIA: soc_common: remove \u0027dev\u0027 member from soc_pcmcia_socket\n  PCMCIA: soc_common: constify soc_pcmcia_socket ops member\n  PCMCIA: sa1111: remove duplicated initializers\n  PCMCIA: sa1111: wrap soc_pcmcia_socket to contain sa1111 specific data\n  ...\n"
    },
    {
      "commit": "38938c879eb0c39edf85d5164aa0cffe2874304c",
      "tree": "fdcc22972a02219dcb385dae868f6e708523dfe7",
      "parents": [
        "22763c5cf3690a681551162c15d34d935308c8d7"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Dec 04 17:44:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:10:12 2009 -0800"
      },
      "message": "Add support for GCC-4.5\u0027s __builtin_unreachable() to compiler.h (v2)\n\nStarting with version 4.5, GCC has a new built-in function\n__builtin_unreachable() that can be used in places like the kernel\u0027s\nBUG() where inline assembly is used to transfer control flow.  This\neliminated the need for an endless loop in these places.\n\nThe patch adds a new macro \u0027unreachable()\u0027 that will expand to either\n__builtin_unreachable() or an endless loop depending on the compiler\nversion.\n\nChange from v1: Simplify unreachable() for non-GCC 4.5 case.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0719dc341389882cc834ed18fc9b7fc6006b2b85",
      "tree": "794480ac62c07ea8cc4e69c2cb3d2b83bb7f36b7",
      "parents": [
        "e28edb723e64200554194da17617ee6e82de6690",
        "677f4f64e4b2336682f0e15c69b206ade6f6b131"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Dec 05 10:35:33 2009 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Dec 05 10:35:33 2009 +0000"
      },
      "message": "Merge branch \u0027devel-stable\u0027 into devel\n"
    },
    {
      "commit": "8f56874bd7e8bee73ed6a1cf80dcec2753616262",
      "tree": "aebd15dea662ef5efd89402b8fd92fec540a98eb",
      "parents": [
        "47e1c323069bcef0acb8a2b48921688573f5ca63",
        "159bcfeb9123c91f0dc885a42b6387a98192f896"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 04 13:25:15 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 04 13:25:15 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "4567c4a89693416ccca02d32109bce967e9c1ade",
      "tree": "9d77cf02ce269ed5fc4b6e2ebddb9ad7fd504ad1",
      "parents": [
        "602fd7c36728a04e61a442c9755e7d454501266c",
        "19d6c13b56a78b3757e747f469285c2a546d634a"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Dec 04 17:34:16 2009 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Dec 04 17:34:16 2009 +0000"
      },
      "message": "Merge branch \u0027devel\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel-stable\n"
    },
    {
      "commit": "b69f2292063d2caf37ca9aec7d63ded203701bf3",
      "tree": "be4acb81ea4ab7014047808ec2b2c908e8334f55",
      "parents": [
        "61cc74fbb87af6aa551a06a370590c9bc07e29d9"
      ],
      "author": {
        "name": "Louis Rilling",
        "email": "louis.rilling@kerlabs.com",
        "time": "Fri Dec 04 14:52:42 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Dec 04 16:36:18 2009 +0100"
      },
      "message": "block: Fix io_context leak after failure of clone with CLONE_IO\n\nWith CLONE_IO, parent\u0027s io_context-\u003enr_tasks is incremented, but never\ndecremented whenever copy_process() fails afterwards, which prevents\nexit_io_context() from calling IO schedulers exit functions.\n\nGive a task_struct to exit_io_context(), and call exit_io_context() instead of\nput_io_context() in copy_process() cleanup path.\n\nSigned-off-by: Louis Rilling \u003clouis.rilling@kerlabs.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "86e1d57e4f24ca27ce813bdc2afaac4adafcbaf4",
      "tree": "22b4797bfec25faa93a1166ea4ad39932536ee0d",
      "parents": [
        "baf9226667734579e344f612ed39f727079cad51",
        "ac2c92e0cd06387ecee8115f5fa385fba6413c42"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Dec 04 16:22:45 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Dec 04 16:22:45 2009 +0100"
      },
      "message": "Merge branch \u0027topic/hda\u0027 into for-linus\n"
    },
    {
      "commit": "baf9226667734579e344f612ed39f727079cad51",
      "tree": "9744efb5f1838ea73b695a0ab862547fdcf92ecf",
      "parents": [
        "57648cd52b1848c6885bdbd948d113d52f3ddd43",
        "43f0de8d0298e624e6c3bf2185b6003a59b331bd"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Dec 04 16:22:41 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Dec 04 16:22:41 2009 +0100"
      },
      "message": "Merge branch \u0027topic/asoc\u0027 into for-linus\n"
    },
    {
      "commit": "57648cd52b1848c6885bdbd948d113d52f3ddd43",
      "tree": "218c74fde12577ea22f51eabcf4e8b65273edb54",
      "parents": [
        "79598324838a25cc378ecbb8c29dd1e3d3951d35",
        "fb716c0b7bed36064cd41d800c8f339f41adf084"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Dec 04 16:22:37 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Dec 04 16:22:37 2009 +0100"
      },
      "message": "Merge branch \u0027topic/misc\u0027 into for-linus\n"
    },
    {
      "commit": "13475a30b66cdb9250a34052c19ac98847373030",
      "tree": "5f28f671092c2948726fdde92e20c3371cfceb77",
      "parents": [
        "ff33a6e2ab97f4cde484cdf1a41778af6d6b7cff"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Dec 02 22:31:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 16:17:43 2009 -0800"
      },
      "message": "tcp: connect() race with timewait reuse\n\nIts currently possible that several threads issuing a connect() find\nthe same timewait socket and try to reuse it, leading to list\ncorruptions.\n\nCondition for bug is that these threads bound their socket on same\naddress/port of to-be-find timewait socket, and connected to same\ntarget. (SO_REUSEADDR needed)\n\nTo fix this problem, we could unhash timewait socket while holding\nehash lock, to make sure lookups/changes will be serialized. Only\nfirst thread finds the timewait socket, other ones find the\nestablished socket and return an EADDRNOTAVAIL error.\n\nThis second version takes into account Evgeniy\u0027s review and makes sure\ninet_twsk_put() is called outside of locked sections.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc4a7489663250360cd40d5adf06a08d1c5d54df",
      "tree": "ce8fed0a2dfc175b03834bb94717f5f2970c9146",
      "parents": [
        "012093f6d5d89e6ed6e89c55c383f84b1cff7a78"
      ],
      "author": {
        "name": "Patrick Mullaney",
        "email": "pmullaney@novell.com",
        "time": "Thu Dec 03 15:59:22 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 15:59:22 2009 -0800"
      },
      "message": "netdevice: provide common routine for macvlan and vlan operstate management\n\nProvide common routine for the transition of operational state for a leaf\ndevice during a root device transition.\n\nSigned-off-by: Patrick Mullaney \u003cpmullaney@novell.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69ee472f2706371ca639de49b06df91615c07d8d",
      "tree": "3f6de524e96679a2e54b55bb0ba9d1fd71c8222c",
      "parents": [
        "7f515790274d26d710303b7a1f23571ca93a6288"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Thu Dec 03 15:31:18 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 15:31:18 2009 -0800"
      },
      "message": "usbnet \u0026 cdc-ether: Autosuspend for online devices\n\nUsing remote wakeup and delayed transmission to allow\nonline device to go into usb autosuspend.\nMinimal alternate support for devices that don\u0027t support\nremote wakeup.\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d0634c4aea0b80447cbdc4c0db285004b860c455",
      "tree": "5d723e58b0feb11d049b7398e4c3f4600be01d9c",
      "parents": [
        "e78db4dfb1355a895f7ea50133b702b55b8ed184"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Nov 26 12:00:43 2009 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Dec 03 18:01:23 2009 -0500"
      },
      "message": "libata: Clarify ata_set_lba_range_entries function\n\nata_set_lba_range_entries used the variable max for two different things\nwhich was confusing.  Make the function take a buffer size in bytes as\nargument and return the used buffer size upon completion.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "e78db4dfb1355a895f7ea50133b702b55b8ed184",
      "tree": "13052100a353857ff07dbb0a3c78fdc713e58bcb",
      "parents": [
        "d413ff3e2aa09a4ebef718dbc4be4356f879467f"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Nov 26 22:46:03 2009 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Dec 03 18:01:04 2009 -0500"
      },
      "message": "libata: Report zeroed read after TRIM and max discard size\n\nOur current TRIM payload is a single sector that can accommodate 64 *\n65535 blocks being unmapped.  Report this value in the Block Limits\nMaximum Unmap LBA count field.\n\nIf a storage device supports TRIM and the DRAT and RZAT bits are set,\nreport TPRZ\u003d1 in Read Capacity(16).\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "a7fca0ccecd3f5a111e08df8439f0b884099ad59",
      "tree": "44b360a8f367e2414daf3ad92622ab2544ac0fbd",
      "parents": [
        "424eff975192553a9ea8bfd51bf65039ffb356ef",
        "2861453b1b5e022fd5e1294b8fbf39254440b661"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 13:51:02 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 13:51:02 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6\n"
    },
    {
      "commit": "424eff975192553a9ea8bfd51bf65039ffb356ef",
      "tree": "5fa7b15715b3ce904f7250c50d09bc921d9f28bf",
      "parents": [
        "55dbabee63462a455d8fb57caf08b69db256b012",
        "3666ed1c4837fd6906da0224c5373d7a2186a193"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 13:23:12 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 13:23:12 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "141518c95870228da4e050fbe31a8f0c9df82c72",
      "tree": "377e3cb707cf848213f5aeb653dd50cae572135c",
      "parents": [
        "b703df6f628ab63eaa875232551b1f2f0503b9af"
      ],
      "author": {
        "name": "Matt Carlson",
        "email": "mcarlson@broadcom.com",
        "time": "Thu Dec 03 08:36:22 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 13:18:04 2009 -0800"
      },
      "message": "tg3: Add some VPD preprocessor constants\n\nThis patch cleans up the VPD code by creating preprocessor definitions\nand using them in the place of hardcoded constants.\n\nSigned-off-by: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nReviewed-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b099ce2602d806deb41caaa578731848995cdb2a",
      "tree": "7541d0d59c73e6b6274d420b8a3ec35d85ca5f2d",
      "parents": [
        "575f4cd5a5b639457747434dbe18d175fa767db4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 02:29:09 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:23:47 2009 -0800"
      },
      "message": "net: Batch inet_twsk_purge\n\nThis function walks the whole hashtable so there is no point in\npassing it a network namespace.  Instead I purge all timewait\nsockets from dead network namespaces that I find.  If the namespace\nis one of the once I am trying to purge I am guaranteed no new timewait\nsockets can be formed so this will get them all.  If the namespace\nis one I am not acting for it might form a few more but I will\ncall inet_twsk_purge again and  shortly to get rid of them.  In\nany even if the network namespace is dead timewait sockets are\nuseless.\n\nMove the calls of inet_twsk_purge into batch_exit routines so\nthat if I am killing a bunch of namespaces at once I will just\ncall inet_twsk_purge once and save a lot of redundant unnecessary\nwork.\n\nMy simple 4k network namespace exit test the cleanup time dropped from\nroughly 8.2s to 1.6s.  While the time spent running inet_twsk_purge fell\nto about 2ms.  1ms for ipv4 and 1ms for ipv6.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9c5158ac26affd5d8ce006521bdfb7148090e18",
      "tree": "a8d43fb446a1908175923f4109c977dcb84e4f91",
      "parents": [
        "3a765edadb28cc736d185f67d1ba6bedcc85f4b9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 12:22:55 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:22:55 2009 -0800"
      },
      "message": "net: Allow fib_rule_unregister to batch\n\nRefactor the code so fib_rules_register always takes a template instead\nof the actual fib_rules_ops structure that will be used.  This is\nrequired for network namespace support so 2 out of the 3 callers already\ndo this, it allows the error handling to be made common, and it allows\nfib_rules_unregister to free the template for hte caller.\n\nModify fib_rules_unregister to use call_rcu instead of syncrhonize_rcu\nto allw multiple namespaces to be cleaned up in the same rcu grace\nperiod.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d79d792ef9f99cca463b6619a93e860d1c833a6e",
      "tree": "06d8a085701546be48ac104fd4f2413a6371180c",
      "parents": [
        "04dc7f6be3a7b308f8545bb45772c9fb75f71aca"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 02:29:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:22:03 2009 -0800"
      },
      "message": "net: Allow xfrm_user_net_exit to batch efficiently.\n\nxfrm.nlsk is provided by the xfrm_user module and is access via rcu from\nother parts of the xfrm code.  Add xfrm.nlsk_stash a copy of xfrm.nlsk that\nwill never be set to NULL.  This allows the synchronize_net and\nnetlink_kernel_release to be deferred until a whole batch of xfrm.nlsk sockets\nhave been set to NULL.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72ad937abd0a43b7cf2c557ba1f2ec75e608c516",
      "tree": "ac81af750df170a46ed001fb5647b83dc20f8422",
      "parents": [
        "8153a10c08f1312af563bb92532002e46d3f504a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 02:29:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:22:01 2009 -0800"
      },
      "message": "net: Add support for batching network namespace cleanups\n\n- Add exit_list to struct net to support building lists of network\n  namespaces to cleanup.\n\n- Add exit_batch to pernet_operations to allow running operations only\n  once during a network namespace exit.  Instead of once per network\n  namespace.\n\n- Factor opt ops_exit_list and ops_exit_free so the logic with cleanup\n  up a network namespace does not need to be duplicated.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8153a10c08f1312af563bb92532002e46d3f504a",
      "tree": "95b6d05500f6b5e4f2031d8c83ce4fe5f24df61d",
      "parents": [
        "5adef1809147a9c39119ffd5a13a1ca4fe23a411"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Dec 03 01:25:58 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:14:38 2009 -0800"
      },
      "message": "ipv4 05/05: add sysctl to accept packets with local source addresses\n\ncommit 8ec1e0ebe26087bfc5c0394ada5feb5758014fc8\nAuthor: Patrick McHardy \u003ckaber@trash.net\u003e\nDate:   Thu Dec 3 12:16:35 2009 +0100\n\n    ipv4: add sysctl to accept packets with local source addresses\n\n    Change fib_validate_source() to accept packets with a local source address when\n    the \"accept_local\" sysctl is set for the incoming inet device. Combined with the\n    previous patches, this allows to communicate between multiple local interfaces\n    over the wire.\n\n    Signed-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b038a5e60c7812f19818e8a5df96d029e49c38f",
      "tree": "eea09368802178a64429beb656a03a2cc71e2f42",
      "parents": [
        "491deb24bf5bf7124141287aaf02c3219783ceab"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Dec 03 01:25:56 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:14:36 2009 -0800"
      },
      "message": "net 03/05: fib_rules: add oif classification\n\ncommit 68144d350f4f6c348659c825cde6a82b34c27a91\nAuthor: Patrick McHardy \u003ckaber@trash.net\u003e\nDate:   Thu Dec 3 12:05:25 2009 +0100\n\n    net: fib_rules: add oif classification\n\n    Support routing table lookup based on the flow\u0027s oif. This is useful to\n    classify packets originating from sockets bound to interfaces differently.\n\n    The route cache already includes the oif and needs no changes.\n\n    Signed-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "491deb24bf5bf7124141287aaf02c3219783ceab",
      "tree": "f0465107e0994c89a1f8afa0091d9e7dd19f52d8",
      "parents": [
        "d285834001df372f81045bb41092e54943e93c84"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Dec 03 01:25:54 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:14:36 2009 -0800"
      },
      "message": "net 02/05: fib_rules: rename ifindex/ifname/FRA_IFNAME to iifindex/iifname/FRA_IIFNAME\n\ncommit 229e77eec406ad68662f18e49fda8b5d366768c5\nAuthor: Patrick McHardy \u003ckaber@trash.net\u003e\nDate:   Thu Dec 3 12:05:23 2009 +0100\n\n    net: fib_rules: rename ifindex/ifname/FRA_IFNAME to iifindex/iifname/FRA_IIFNAME\n\n    The next patch will add oif classification, rename interface related members\n    and attributes to reflect that they\u0027re used for iif classification.\n\n    Signed-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d285834001df372f81045bb41092e54943e93c84",
      "tree": "171c1e6c6a90874cab7cd3ed592e3688ae1cfb79",
      "parents": [
        "ff236f7af82fae0818d7cbb5a0717d3218d00bdd"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Dec 03 01:25:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:14:34 2009 -0800"
      },
      "message": "net 01/05: fib_rules: rearrange struct fib_rule\n\ncommit b8952893d5d86f69c4e499d191b98c6658f64b0f\nAuthor: Patrick McHardy \u003ckaber@trash.net\u003e\nDate:   Thu Dec 3 12:05:22 2009 +0100\n\n    net: fib_rules: rearrange struct fib_rule\n\n    The ifname member is only used to resolve interface names and is not needed\n    during rule lookups. The target and ctarget members however are used during\n    rule lookups and are currently located in a second cacheline.\n\n    Move ifname further to the end to make sure both target and ctarget are\n    located in the same cacheline as other members used during rule lookups.\n\n    The layout on 64 bit changes from:\n\n    struct fib_rule {\n    \t...\n            u32                        table;                /*    56     4 */\n            u8                         action;               /*    60     1 */\n\n            /* XXX 3 bytes hole, try to pack */\n\n            /* --- cacheline 1 boundary (64 bytes) --- */\n            u32                        target;               /*    64     4 */\n\n            /* XXX 4 bytes hole, try to pack */\n\n            struct fib_rule *          ctarget;              /*    72     8 */\n            struct rcu_head            rcu;                  /*    80    16 */\n            struct net *               fr_net;               /*    96     8 */\n    };\n\n    to:\n\n    struct fib_rule {\n    \t...\n            u32                        table;                /*    40     4 */\n            u8                         action;               /*    44     1 */\n\n            /* XXX 3 bytes hole, try to pack */\n\n            u32                        target;               /*    48     4 */\n\n            /* XXX 4 bytes hole, try to pack */\n\n            struct fib_rule *          ctarget;              /*    56     8 */\n            /* --- cacheline 1 boundary (64 bytes) --- */\n            char                       ifname[16];           /*    64    16 */\n            struct rcu_head            rcu;                  /*    80    16 */\n            struct net *               fr_net;               /*    96     8 */\n\n    };\n\n    Signed-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95514fd8ff0f30de7815950edfd84ef1e19fb1c8",
      "tree": "dc9ab63bb174ce7b1727efc5ad5836f89d046b99",
      "parents": [
        "7a02267e0f3938a6e91c0a0a82211e4d7007210e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Nov 25 18:12:48 2009 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Dec 03 14:36:18 2009 -0500"
      },
      "message": "libata: add private driver field to struct ata_device\n\nThis brings struct ata_device in-line with struct ata_{port,host}.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "8e182a90f91456335756d2ce304ad470795d98e1",
      "tree": "680787fcf19cf0962a43edf71e35185046e79ade",
      "parents": [
        "d6250a03fa736c1bff4df4601f5af2dc21f2bf9e"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Nov 30 13:23:11 2009 +0000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Dec 03 14:35:31 2009 -0500"
      },
      "message": "pata_piccolo: Driver for old Toshiba chipsets\n\nWe were never able to get docs for this out of Toshiba for years. Dave\nBarnes produced a NetBSD driver however and from that we can fill in the\nneeded tables.\n\nAs we correct the PCI identifiers a bit also update the old ide generic driver\nat the same time so it stays compiling.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "26fb20d008d841268545c25bb183f21ed16db891",
      "tree": "4e14dc653d0e6b5d43c2bb8f55b795b232200698",
      "parents": [
        "23ba90e328fd2326378447cafafa47defdfc83c2",
        "767df1bdd8cbff2c8c40c9ac8295bbdaa5fb24c4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 03 20:10:59 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 03 20:11:06 2009 +0100"
      },
      "message": "Merge branch \u0027perf/mce\u0027 into perf/core\n\nMerge reason: It\u0027s ready for v2.6.33.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ec10d9720ef78cd81d8bcc30a3238665744569f",
      "tree": "a4be8b2201f9e7acac689443d10cb30a3287972f",
      "parents": [
        "9f121a5a80b4417c6db5a35e26d2e79c29c3fc0d"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Sat Oct 03 02:34:39 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:24 2009 +0100"
      },
      "message": "Bluetooth: Implement RejActioned flag\n\nRejActioned is used to prevent retransmission when a entity is on the\nWAIT_F state, i.e., waiting for a frame with F-bit set due local busy\ncondition or a expired retransmission timer. (When these two events raise\nthey send a frame with the Poll bit set and enters in the WAIT_F state to\nwait for a frame with the Final bit set.)\nThe local entity doesn\u0027t send I-frames(the data frames) until the receipt\nof a frame with F-bit set. When that happens it also set RejActioned to false.\nRejActioned is a mandatory feature of ERTM spec.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9f121a5a80b4417c6db5a35e26d2e79c29c3fc0d",
      "tree": "8e01df10e3e640c0f76b4c3f380db351543900bb",
      "parents": [
        "889a3ca466018ab68363c3168993793bc2d984f1"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Sat Oct 03 02:34:38 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu Dec 03 19:34:23 2009 +0100"
      },
      "message": "Bluetooth: Fix sending ReqSeq on I-frames\n\nAs specified by ERTM spec an ERTM channel can acknowledge received\nI-frames(the data frames) by sending an I-frame with the proper ReqSeq\nvalue (i.e. ReqSeq is set to BufferSeq).  Until now we aren\u0027t setting the\nReqSeq value on I-frame control bits. That way we can save sending\nS-frames(Supervise frames) only to acknowledge receipt of I-frames. It\nis very helpful to the full-duplex channel.\nReqSeq is the packet sequence number sent in an acknowledgement frame to\nacknowledge receipt of frames up to (ReqSeq - 1).\nBufferSeq controls the receiver buffer, it is used to delay\nacknowledgement of new frames to not cause buffer overflow. BufferSeq\nvalue is not increased until frames are pulled by reassembly function.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    }
  ],
  "next": "c78ae283145d3a8799b2fb01650166a66af3bff8"
}
