)]}'
{
  "log": [
    {
      "commit": "11380a4b2d86fae9a6bce75c9373668cc323fe57",
      "tree": "ded9a419d836af9eb0cd0e40858aec1f0cc3b61a",
      "parents": [
        "6373464288cab09bc641be301d8d30fc9f64ba71"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 19 13:46:10 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 19 13:46:10 2010 -0800"
      },
      "message": "net: Unexport napi_gro_flush().\n\nNothing outside of net/core/dev.c uses it.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6373464288cab09bc641be301d8d30fc9f64ba71",
      "tree": "c1bc92dc630aa15da2e12bc0d09c92169817a702",
      "parents": [
        "6d955180b2f9ccff444df06265160868cabb289a",
        "730dd70549e0ec755dd55615ba5cfc38a482a947"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 19 11:43:42 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 19 11:43:42 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-core.h\n"
    },
    {
      "commit": "72659ecce68588b74f6c46862c2b4cec137d7a5a",
      "tree": "791c5900e2a2b219774904cef7fab90fa462b81c",
      "parents": [
        "0ec00f0392b807d57a2281576a96552d7694b6bb"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Sun Jan 17 19:09:39 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 17 19:09:39 2010 -0800"
      },
      "message": "tcp: account SYN-ACK timeouts \u0026 retransmissions\n\nCurrently we don\u0027t increment SYN-ACK timeouts \u0026 retransmissions\nalthough we do increment the same stats for SYN. We seem to have lost\nthe SYN-ACK accounting with the introduction of tcp_syn_recv_timer\n(commit 2248761e in the netdev-vger-cvs tree).\n\nThis patch fixes this issue. In the process we also rename the v4/v6\nsyn/ack retransmit functions for clarity. We also add a new\nrequest_socket operations (syn_ack_timeout) so we can keep code in\ninet_connection_sock.c protocol agnostic.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a4d5c94e959359ece6d6b55045c3f046677f55c",
      "tree": "113cfe31540e3d77925837f6990c3284d425bfd1",
      "parents": [
        "5da779c34ccff5e1e617892b6c8bd8260fb1f04c"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jan 14 06:17:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 15 01:43:29 2010 -0800"
      },
      "message": "vhost_net: a kernel-level virtio server\n\nWhat it is: vhost net is a character device that can be used to reduce\nthe number of system calls involved in virtio networking.\nExisting virtio net code is used in the guest without modification.\n\nThere\u0027s similarity with vringfd, with some differences and reduced scope\n- uses eventfd for signalling\n- structures can be moved around in memory at any time (good for\n  migration, bug work-arounds in userspace)\n- write logging is supported (good for migration)\n- support memory table and not just an offset (needed for kvm)\n\ncommon virtio related code has been put in a separate file vhost.c and\ncan be made into a separate module if/when more backends appear.  I used\nRusty\u0027s lguest.c as the source for developing this part : this supplied\nme with witty comments I wouldn\u0027t be able to write myself.\n\nWhat it is not: vhost net is not a bus, and not a generic new system\ncall. No assumptions are made on how guest performs hypercalls.\nUserspace hypervisors are supported as well as kvm.\n\nHow it works: Basically, we connect virtio frontend (configured by\nuserspace) to a backend. The backend could be a network device, or a tap\ndevice.  Backend is also configured by userspace, including vlan/mac\netc.\n\nStatus: This works for me, and I haven\u0027t see any crashes.\nCompared to userspace, people reported improved latency (as I save up to\n4 system calls per packet), as well as better bandwidth and CPU\nutilization.\n\nFeatures that I plan to look at in the future:\n- mergeable buffers\n- zero copy\n- scalability tuning: figure out the best threading model to use\n\nNote on RCU usage (this is also documented in vhost.h, near\nprivate_pointer which is the value protected by this variant of RCU):\nwhat is happening is that the rcu_dereference() is being used in a\nworkqueue item.  The role of rcu_read_lock() is taken on by the start of\nexecution of the workqueue item, of rcu_read_unlock() by the end of\nexecution of the workqueue item, and of synchronize_rcu() by\nflush_workqueue()/flush_work(). In the future we might need to apply\nsome gcc attribute or sparse annotation to the function passed to\nINIT_WORK(). Paul\u0027s ack below is for this RCU usage.\n\n(Includes fixes by Alan Cox \u003calan@linux.intel.com\u003e,\nDavid L Stevens \u003cdlstevens@us.ibm.com\u003e,\nChris Wright \u003cchrisw@redhat.com\u003e)\n\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05c2828c72c4eabf62376adfe27bd24797621f62",
      "tree": "4db94de98ef8e75d5038f6a889dd434f3747c9d3",
      "parents": [
        "ad72c347e56bf3a0231b9d686e17764157d2961c"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jan 14 06:17:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 15 01:43:28 2010 -0800"
      },
      "message": "tun: export underlying socket\n\nTun device looks similar to a packet socket\nin that both pass complete frames from/to userspace.\n\nThis patch fills in enough fields in the socket underlying tun driver\nto support sendmsg/recvmsg operations, and message flags\nMSG_TRUNC and MSG_DONTWAIT, and exports access to this socket\nto modules.  Regular read/write behaviour is unchanged.\n\nThis way, code using raw sockets to inject packets\ninto a physical device, can support injecting\npackets into host network stack almost without modification.\n\nFirst user of this interface will be vhost virtualization\naccelerator.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad72c347e56bf3a0231b9d686e17764157d2961c",
      "tree": "4db03a0abae50edfaf996f43e3f717a57b776fbd",
      "parents": [
        "1954dc11776ef8c06263ba4cd21bf4d25c79a19c"
      ],
      "author": {
        "name": "Christian Pellegrin",
        "email": "chripell@fsfe.org",
        "time": "Thu Jan 14 07:08:34 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 15 01:39:17 2010 -0800"
      },
      "message": "can: Proper ctrlmode handling for CAN devices\n\nThis patch adds error checking of ctrlmode values for CAN devices. As\nan example all availabe bits are implemented in the mcp251x driver.\n\nSigned-off-by: Christian Pellegrin \u003cchripell@fsfe.org\u003e\nAcked-by: Wolfgang Grandegger \u003cwg@grandegger.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "9a58a80a701bdb2d220cdab4914218df5b48d781",
      "tree": "01eeb65ec70f22ec326d0938d002cc6a2aec73e8",
      "parents": [
        "508e14b4a4fb1a824a14f2c5b8d7df67b313f8e4"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 14 03:10:54 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 14 03:10:54 2010 -0800"
      },
      "message": "proc_fops: convert drivers/isdn/ to seq_file\n\nConvert code away from -\u003eread_proc/-\u003ewrite_proc interfaces.  Switch to\nproc_create()/proc_create_data() which make addition of proc entries\nreliable wrt NULL -\u003eproc_fops, NULL -\u003edata and so on.\n\nProblem with -\u003eread_proc et al is described here commit\n786d7e1612f0b0adb6046f19b906609e4fe8b1ba \"Fix rmmod/read/write races in\n/proc entries\"\n\n[akpm@linux-foundation.org: CONFIG_PROC_FS\u003dn build fix]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Tilman Schmidt \u003ctilman@imap.cc\u003e\nSigned-off-by: Karsten Keil \u003ckeil@b1-systems.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "508e14b4a4fb1a824a14f2c5b8d7df67b313f8e4",
      "tree": "4ae5de122ebb70f2395739c85cba86bb9df8f712",
      "parents": [
        "e1d5a010729a7a495a8a8de85727f3f0d62f06a0"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "danborkmann@googlemail.com",
        "time": "Tue Jan 12 14:27:30 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 13 20:38:26 2010 -0800"
      },
      "message": "netpoll: allow execution of multiple rx_hooks per interface\n\nSigned-off-by: Daniel Borkmann \u003cdanborkmann@googlemail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "3ccd4c6167d3b39d52631767ebbf8b5677c5855d",
      "tree": "bfcb801edebd00e8b30e897038bad7fee39625cc",
      "parents": [
        "d218d11133d888f9745802146a50255a4781d37a"
      ],
      "author": {
        "name": "Oliver Hartkopp",
        "email": "oliver@hartkopp.net",
        "time": "Tue Jan 12 02:00:46 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 12 02:00:46 2010 -0800"
      },
      "message": "can: Unify droping of invalid tx skbs and netdev stats\n\nTo prevent the CAN drivers to operate on invalid socketbuffers the skbs are\nnow checked and silently dropped at the xmit-function consistently.\n\nAlso the netdev stats are consistently using the CAN data length code (dlc)\nfor [rx|tx]_bytes now.\n\nSigned-off-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nAcked-by: Wolfgang Grandegger \u003cwg@grandegger.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d218d11133d888f9745802146a50255a4781d37a",
      "tree": "3b4b163238e19c48f37f3d8a77eb27f3a18691a0",
      "parents": [
        "c8e000604bce02a87742240a9b716a0f1b680c0b"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Jan 11 16:28:01 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 11 16:28:01 2010 -0800"
      },
      "message": "tcp: Generalized TTL Security Mechanism\n\nThis patch adds the kernel portions needed to implement\nRFC 5082 Generalized TTL Security Mechanism (GTSM).\nIt is a lightweight security measure against forged\npackets causing DoS attacks (for BGP). \n\nThis is already implemented the same way in BSD kernels.\nFor the necessary Quagga patch \n  http://www.gossamer-threads.com/lists/quagga/dev/17389\n\nDescription from Cisco\n  http://www.cisco.com/en/US/docs/ios/12_3t/12_3t7/feature/guide/gt_btsh.html\n\nIt does add one byte to each socket structure, but I did\na little rearrangement to reuse a hole (on 64 bit), but it\ndoes grow the structure on 32 bit\n\nThis should be documented on ip(4) man page and the Glibc in.h\nfile also needs update.  IPV6_MINHOPLIMIT should also be added\n(although BSD doesn\u0027t support that).  \n\nOnly TCP is supported, but could also be added to UDP, DCCP, SCTP\nif desired.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d4a66e752d0b19934dd208884f8605fe385aaaa9",
      "tree": "72fb727be1d7636aae9cddfe9aa93ac9dec75daf",
      "parents": [
        "bdbec4b86ee99b020e159f9bd604003a3ae3b0ab",
        "fa15e99b6bb44aa86b241a43ca8c509e91f80153"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 10 22:55:03 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 10 22:55:03 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/benet/be_cmds.h\n\tinclude/linux/sysctl.h\n"
    },
    {
      "commit": "3c9732c06879d85f2fdf7ec69198c1d78da42a98",
      "tree": "bbffa4197a0206a95b137f55ce5577d52bd7c9f6",
      "parents": [
        "609634799eba48bb9e80ce56dfd87930f17bf6fa"
      ],
      "author": {
        "name": "Giuseppe CAVALLARO",
        "email": "peppe.cavallaro@st.com",
        "time": "Wed Jan 06 23:07:13 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 07 17:06:06 2010 -0800"
      },
      "message": "stmmac: add the new Header file for stmmac platform data\n\nSigned-off-by: Giuseppe Cavallaro \u003cpeppe.cavallaro@st.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65324144b50bc7022cc9b6ca8f4a536a957019e3",
      "tree": "1e910817f6d4f1ecd821bfd8ce493f81fe4aae60",
      "parents": [
        "ca8d9ea30bc79b2965a1d169dcb2f48f02af4d2d"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Tue Jan 05 05:50:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 07 00:59:09 2010 -0800"
      },
      "message": "net: RFC3069, private VLAN proxy arp support\n\nThis is to be used together with switch technologies, like RFC3069,\nthat where the individual ports are not allowed to communicate with\neach other, but they are allowed to talk to the upstream router.  As\ndescribed in RFC 3069, it is possible to allow these hosts to\ncommunicate through the upstream router by proxy_arp\u0027ing.\n\nThis patch basically allow proxy arp replies back to the same\ninterface (from which the ARP request/solicitation was received).\n\nTunable per device via proc \"proxy_arp_pvlan\":\n  /proc/sys/net/ipv4/conf/*/proxy_arp_pvlan\n\nThis switch technology is known by different vendor names:\n - In RFC 3069 it is called VLAN Aggregation.\n - Cisco and Allied Telesyn call it Private VLAN.\n - Hewlett-Packard call it Source-Port filtering or port-isolation.\n - Ericsson call it MAC-Forced Forwarding (RFC Draft).\n\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fea93ecef619b5779ca6984568517b1685079b05",
      "tree": "9894ba0ea3f8f4a1191697fecb0f63a45767a90f",
      "parents": [
        "fc6a110754476362f9f4fa3199a637f2331c5993"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Jan 04 02:02:48 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 07 00:24:55 2010 -0800"
      },
      "message": "Phonet: zero-copy GPRS TX\n\nSend aligned pipe payload if requested to do so. Then, the socket buffer\nneeds not be fragmented anymore.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc6a110754476362f9f4fa3199a637f2331c5993",
      "tree": "2b1457da4758751121ec396767e200dc2a28c2ed",
      "parents": [
        "f6de7acc42de909ccc7f00916ddb4d2064f42b67"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Jan 04 02:02:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 07 00:24:54 2010 -0800"
      },
      "message": "Phonet: zero-copy aligned GPRS RX\n\nNewer Nokia cellular modems can use aligned payload for their GPRS pipe.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ad6848c7e81a603605fad3f3575841aab004eea",
      "tree": "c95cc3473a2c47d6dedbbe5bc1a298546fc4127f",
      "parents": [
        "58933c643f86651decc4818cf680f9ec3b0460d2"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Wed Jan 06 20:37:01 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 06 20:37:01 2010 -0800"
      },
      "message": "ip: fix mc_loop checks for tunnels with multicast outer addresses\n\nWhen we have L3 tunnels with different inner/outer families\n(i.e. IPV4/IPV6) which use a multicast address as the outer tunnel\ndestination address, multicast packets will be loopbacked back to the\nsending socket even if IP*_MULTICAST_LOOP is set to disabled.\n\nThe mc_loop flag is present in the family specific part of the socket\n(e.g. the IPv4 or IPv4 specific part).  setsockopt sets the inner\nfamily mc_loop flag. When the packet is pushed through the L3 tunnel\nit will eventually be processed by the outer family which if different\nwill check the flag in a different part of the socket then it was set.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1c5523dd1517250cac8b15a4acbc237c24a67d4",
      "tree": "ce2e7962c10df3b2a8bda93db3393d898b47c98c",
      "parents": [
        "20dd3850bcf860561496827b711fa10fecf6e787"
      ],
      "author": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Wed Dec 23 01:27:48 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 03 21:31:03 2010 -0800"
      },
      "message": "can/netlink: add CAN_CTRLMODE_ONE_SHOT\n\nThis patch adds the flag CAN_CTRLMODE_ONE_SHOT. It is used as mask\nor flag in the \"struct can_ctrlmode\".\n\nIt allows userspace via netlink to set a CAN controller into the special\n\"one-shot\" mode. In this mode, if supported by the CAN controller, it\ntries only once to deliver a CAN frame and aborts it if an error\n(e.g.: arbitration lost) happens.\n\nSigned-off-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\nAcked-by: Wolfgang Grandegger \u003cwg@grandegger.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f5cb43406d0b29b96248f5328a14a6f6abf8ae6",
      "tree": "f43e017599e590a9fbff22e2973dd77e2bc4fb41",
      "parents": [
        "541cd3ee00a4fe975b22fac6a3bc846bacef37f7"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Wed Dec 30 08:23:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 30 22:03:42 2009 -0800"
      },
      "message": "phylib: Properly reinitialize PHYs after hibernation\n\nSince hibernation assumes power loss, we should fully reinitialize\nPHYs (including platform fixups), as if PHYs were just attached.\n\nThis patch factors phy_init_hw() out of phy_attach_direct(), then\nconverts mdio_bus to dev_pm_ops and adds an appropriate restore()\ncallback.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a999e6eb5d277cd6a321dcda3fc43c3d9e4e4b8",
      "tree": "b0ad8d03710ee556e97515ba1c949233859391ce",
      "parents": [
        "6cd9b49d7328c4656bfc17fcb47fb814955d40d2",
        "891dc5e73783eeabd2a704a9425e2a199b39c9f9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 30 13:51:29 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 30 13:51:29 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\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": "7f9d3577e2603ca279c3176b696eba392f21cbe2",
      "tree": "e2135eddba600910cdebb54c8b01de53473ecefb",
      "parents": [
        "96c5340147584481ef0c0afbb5423f7563c1d24a",
        "55afc80b2ab100618c17af77915f75307b6bd5d1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 29 19:44:25 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 29 19:44:25 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\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": "8beb9ab6c2df203e8d68cb1f48cf42604a6bed86",
      "tree": "f342d582af0dd5f62016edcd2a50d2873ebcdbf2",
      "parents": [
        "52d58aef5ee460fedd7f250f05e79081019f2c79"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Sat Dec 26 11:51:06 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 26 20:46:28 2009 -0800"
      },
      "message": "llc: convert llc_sap_list to RCU\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52d58aef5ee460fedd7f250f05e79081019f2c79",
      "tree": "9c8d2bf8374570038820a47325a2305bcb83111d",
      "parents": [
        "6d2e3ea284463d5ab34e9cf2a41d0b8627b95d02"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Sat Dec 26 11:51:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 26 20:45:32 2009 -0800"
      },
      "message": "llc: replace the socket list with a local address based hash\n\nFor the cases where a lot of interfaces are used in conjunction with a\nlot of LLC sockets bound to the same SAP, the iteration of the socket\nlist becomes prohibitively expensive.\n\nReplacing the list with a a local address based hash significantly\nimproves the bind and listener lookup operations as well as the\ndatagram delivery.\n\nConnected sockets delivery is also improved, but this patch does not\naddress the case where we have lots of sockets with the same local\naddress connected to different remote addresses.\n\nIn order to keep the socket sanity checks alive and fast a socket\ncounter was added to the SAP structure.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d2e3ea284463d5ab34e9cf2a41d0b8627b95d02",
      "tree": "86ee780b06adfe388ac64dd66ece598be69b29ec",
      "parents": [
        "0f7b67dd9e1192976f5e5a78934c7a339ff7c45f"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Sat Dec 26 11:51:04 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 26 20:43:57 2009 -0800"
      },
      "message": "llc: use a device based hash table to speed up multicast delivery\n\nThis patch adds a per SAP device based hash table to solve the\nmulticast delivery scalability issue when we have large number of\ninterfaces and a large number of sockets bound to the same SAP.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b76f5a8427ac2928c07fa4ff2144bb8db072c240",
      "tree": "542d64a8bd28baf69f87b199a0156f865a06551d",
      "parents": [
        "abf9d537fea225af60762640361af7fb233b3103"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Sat Dec 26 11:51:02 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 26 20:41:43 2009 -0800"
      },
      "message": "llc: convert the socket list to RCU locking\n\nFor the reclamation phase we use the SLAB_DESTROY_BY_RCU mechanism,\nwhich require some extra checks in the lookup code:\n\na) If the current socket was released, reallocated \u0026 inserted in\nanother list it will short circuit the iteration for the current list,\nthus we need to restart the lookup.\n\nb) If the current socket was released, reallocated \u0026 inserted in the\nsame list we just need to recheck it matches the look-up criteria and\nif not we can skip to the next element.\n\nIn this case there is no need to restart the lookup, since sockets are\ninserted at the start of the list and the worst that will happen is\nthat we will iterate throught some of the list elements more then\nonce.\n\nNote that the /proc and multicast delivery was not yet converted to\nRCU, it still uses spinlocks for protection.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5cd6fe391aa8c93560bb7ffdfe334cf4d0a02e4",
      "tree": "018cf6c943ba0292c33118920a356a0b0a31e00d",
      "parents": [
        "bf9ae5386bca8836c16e69ab8fdbe46767d7452a"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Sat Dec 26 11:51:00 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 26 20:40:34 2009 -0800"
      },
      "message": "llc: add support for LLC_OPT_PKTINFO\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "28f6aeea3f12d37bd258b2c0d5ba891bff4ec479",
      "tree": "fadf8801f14420d7aac5d0a22812da8773c7f836",
      "parents": [
        "4a6e47a460ce55e283063fc3f7391c8ea46bea27"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Fri Dec 25 17:30:22 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 25 17:30:22 2009 -0800"
      },
      "message": "net: restore ip source validation\n\nwhen using policy routing and the skb mark:\nthere are cases where a back path validation requires us\nto use a different routing table for src ip validation than\nthe one used for mapping ingress dst ip.\nOne such a case is transparent proxying where we pretend to be\nthe destination system and therefore the local table\nis used for incoming packets but possibly a main table would\nbe used on outbound.\nMake the default behavior to allow the above and if users\nneed to turn on the symmetry via sysctl src_valid_mark\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d346f49d0badd80aa9fc699fa9c6d5b23e778eb6",
      "tree": "9e9698ffe7966fbe7ce924a30843f87cdfa2646e",
      "parents": [
        "d87fd25d5ac4cd044e21b749a8f6cac90f093c71",
        "b6ce5c33001b1dc83e6a1a6f30c5dccccea651b6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 25 16:34:56 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 25 16:34:56 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "31d12926e37291970dd4f6e9940df3897766a81d",
      "tree": "7f20713b70fc2c9e03aa1f7fcf71ffa651c464fc",
      "parents": [
        "068a2de57ddf4f472e32e7af868613c574ad1d88"
      ],
      "author": {
        "name": "laurent chavey",
        "email": "chavey@google.com",
        "time": "Tue Dec 15 11:15:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 23 14:13:30 2009 -0800"
      },
      "message": "net: Add rtnetlink init_rcvwnd to set the TCP initial receive window\n\nAdd rtnetlink init_rcvwnd to set the TCP initial receive window size\nadvertised by passive and active TCP connections.\nThe current Linux TCP implementation limits the advertised TCP initial\nreceive window to the one prescribed by slow start. For short lived\nTCP connections used for transaction type of traffic (i.e. http\nrequests), bounding the advertised TCP initial receive window results\nin increased latency to complete the transaction.\nSupport for setting initial congestion window is already supported\nusing rtnetlink init_cwnd, but the feature is useless without the\nability to set a larger TCP initial receive window.\nThe rtnetlink init_rcvwnd allows increasing the TCP initial receive\nwindow, allowing TCP connection to advertise larger TCP receive window\nthan the ones bounded by slow start.\n\nSigned-off-by: Laurent Chavey \u003cchavey@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "12d50c46dc0f7fd2e625c4befaa5fa5740a7a594",
      "tree": "03e0179cd2d0e7d02f67623ee2760a5fe6c3fcac",
      "parents": [
        "7ef8a2127a64d131c4dbe5b843e5708f6e75552b"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Tue Dec 08 22:26:13 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 23 14:13:28 2009 -0800"
      },
      "message": "tcp: Remove check in __tcp_push_pending_frames\n\ntcp_push checks tcp_send_head and calls __tcp_push_pending_frames,\nwhich again checks tcp_send_head, and this unnecessary check is\ndone for every other caller of __tcp_push_pending_frames.\n\nRemove tcp_send_head check in __tcp_push_pending_frames and add\nthe check to tcp_push_pending_frames. Other functions call\n__tcp_push_pending_frames only when tcp_send_head would evaluate\nto true.\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4de921ae6f7bb211868be4f7d56e80ac6da676c",
      "tree": "d0d740c43519d0e2b290f1499f82e2c03d6520a6",
      "parents": [
        "17a3be341e55b49e4579634281b86f1eb0bad8e8",
        "ed4b2019a62e2208a8370461dd91ed4de2c9fc8f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 23 14:09:17 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 23 14:09:17 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "f793067eb91afa37904d33075bd44fd8b2774b8a",
      "tree": "909cb1b829eae74d51dcaff918bcd252c54ed0e8",
      "parents": [
        "f988dac7fe4eb1ab0c7b1c5dc6d847f6aad5a1cd",
        "8042273801059884da2d53bbca34575d090b6f4e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 23 13:35:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 23 13:35:03 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  devtmpfs: unlock mutex in case of string allocation error\n  Driver core: export platform_device_register_data as a GPL symbol\n  driver core: Prevent reference to freed memory on error path\n  Driver-core: Fix bogus 0 error return in device_add()\n  Driver core: driver_attribute parameters can often be const*\n  Driver core: bin_attribute parameters can often be const*\n  Driver core: device_attribute parameters can often be const*\n  Doc/stable rules: add new cherry-pick logic\n  vfs: get_sb_single() - do not pass options twice\n  devtmpfs: Convert dirlock to a mutex\n"
    },
    {
      "commit": "f988dac7fe4eb1ab0c7b1c5dc6d847f6aad5a1cd",
      "tree": "f84e52e13374550e13f3c1f835c6bdadb200b3d7",
      "parents": [
        "849254e9bba985e281526b57c02562c7a49a2fcf",
        "b2cd41496c70a1653f28c6d07b61cbdd25167679"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 23 13:34:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 23 13:34:26 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:\n  Staging/vt66*: kconfig, depends on WLAN\n  Staging: batman-adv: introduce missing kfree\n  Staging: batman-adv: Add Kconfig dependancies on PROC_FS and PACKET.\n  Staging: panel: Adjust range for PANEL_KEYPAD in Kconfig\n  Staging: panel: Fix compilation error with custom lcd charset\n  Staging: ramzswap: remove ARM specific d-cache hack\n  Staging: rtl8192x: fix printk formats\n  Staging: wlan-ng: fix Correct size given to memset\n  staging: rtl8192su: add USB VID/PID for HWNUm-300\n  staging: fix rtl8192su compilation errors with mac80211\n  staging: fix rtl8192e compilation errors with mac80211\n  Staging: fix rtl8187se compilation errors with mac80211\n  Staging: rtl8192su: fix test for negative error in rtl8192_rx_isr()\n  Staging: comedi: jr3_pci: Don\u0027t ioremap too much space. Check result.\n  Staging: comedi: removed \"depricated\" from COMEDI_CB_BLOCK\n  Staging: comedi: usbdux.c: fix locking up of the driver when the comedi ringbuffer runs empty\n  Staging: dst: remove from the tree\n  Staging: sm7xx: add a new framebuffer driver\n  Staging: batman: fix debug Kconfig option\n"
    },
    {
      "commit": "29d249ed80c80b479df78e456e6809223c648505",
      "tree": "582ea0baf61cbeab2fb8bd6199814d30fb73c8f8",
      "parents": [
        "d7edf47947f9d921be6ca5fc8e83049124466f98"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 18 09:59:48 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:27:45 2009 -0800"
      },
      "message": "Staging: dst: remove from the tree\n\nDST is dead, no one is using it and upstream\nhas abandoned it, so remove it from the tree because\nit is not going anywhere.\n\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "099c2f21d8cf0724b85abb2c589d6276953781b7",
      "tree": "7f84a98f4b3658871408794a59d04995d5ced254",
      "parents": [
        "66ecb92be9eb579df93add22d19843e7869f168e"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Fri Dec 18 15:34:21 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:23:43 2009 -0800"
      },
      "message": "Driver core: driver_attribute parameters can often be const*\n\nMany struct driver_attribute descriptors are purely read-only\nstructures, and there\u0027s no need to change them. Therefore make\nthe promise not to, which will let those descriptors be put in\na ro section.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "66ecb92be9eb579df93add22d19843e7869f168e",
      "tree": "60a8c4ecfd1ccb0743a137ecfbd972888dbd34ce",
      "parents": [
        "26579ab70aa0e0ea434e6e100279d2f67c094431"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Fri Dec 18 15:34:20 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:23:43 2009 -0800"
      },
      "message": "Driver core: bin_attribute parameters can often be const*\n\nMany struct bin_attribute descriptors are purely read-only\nstructures, and there\u0027s no need to change them. Therefore\nmake the promise not to, which will let those descriptors\nbe put in a ro section.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "26579ab70aa0e0ea434e6e100279d2f67c094431",
      "tree": "1c9dfd6ed6209ecee088e3e6b600ebd7fba24acc",
      "parents": [
        "8e9b9362266dd16255473c080d846b13e27247bf"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Fri Dec 18 15:34:19 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:23:43 2009 -0800"
      },
      "message": "Driver core: device_attribute parameters can often be const*\n\nMost device_attributes are const, and are begging to be\nput in a ro section. However, the create and remove\nfile interfaces were failing to propagate the const promise\nwhich the only functions they call offer.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9c717de946ed7f5782e6dffacf2d05859073058c",
      "tree": "05d16587d5ad3beef8b0f29645bc17dccf821734",
      "parents": [
        "6432ed648a204d01d160990630178a1569b36852"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Dec 23 09:23:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 23 09:30:37 2009 -0800"
      },
      "message": "kfifo: fix Error/broken kernel-doc notation\n\nFix kernel-doc errors and warnings in new header file kfifo.h.\nDon\u0027t use kernel-doc \"/**\" for internal functions whose comments\nare not in kernel-doc format.\n\nkernel-doc section header names (like \"Note:\") must be unique\nper function.  Looks like I need to document that.\n\n  Error(include/linux/kfifo.h:76): duplicate section name \u0027Note\u0027\n  Warning(include/linux/kfifo.h:88): Excess function parameter \u0027size\u0027 description in \u0027INIT_KFIFO\u0027\n  Error(include/linux/kfifo.h:101): duplicate section name \u0027Note\u0027\n  Warning(include/linux/kfifo.h:257): No description found for parameter \u0027fifo\u0027\n    (many of this last type, from internal functions)\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Stefani Seibold \u003cstefani@seibold.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94e5165aa72826b05ffd492f334a1465187e255a",
      "tree": "55397aeada3e91d99e13d4c9c34933521e9b40a1",
      "parents": [
        "f42ecb2808db5386f983d593a7c08d3ea3b94a27",
        "869835dfad3eb6f7d90c3255a24b084fea82f30d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 23 09:12:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 23 09:12:20 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  quota: Improve checking of quota file header\n  jbd: jbd-debug and jbd2-debug should be writable\n  ext4: fix sleep inside spinlock issue with quota and dealloc (#14739)\n  ext4: Fix potential quota deadlock\n  quota: Fix 64-bit limits setting on 32-bit archs\n  ext3: Replace lock/unlock_super() with an explicit lock for resizing\n  ext3: Replace lock/unlock_super() with an explicit lock for the orphan list\n  ext3: ext3_mark_recovery_complete() doesn\u0027t need to use lock_super\n  ext3: Remove outdated comment about lock_super()\n  quota: Move duplicated code to separate functions\n  ext4: Convert to generic reserved quota\u0027s space management.\n  quota: decouple fs reserved space from quota reservation\n  Add unlocked version of inode_add_bytes() function\n  ext3: quota macros cleanup [V2]\n"
    },
    {
      "commit": "f42ecb2808db5386f983d593a7c08d3ea3b94a27",
      "tree": "3b5584f4e5e73f5f01807e5176cbe29e1db69868",
      "parents": [
        "119eecc831a42bd090543568932e440c6831f1bb",
        "d94a5108f716bbd524358eb5a440d63991744a62"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 23 08:59:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 23 08:59:32 2009 -0800"
      },
      "message": "Merge branch \u0027drm-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (35 commits)\n  drm/radeon/kms: add definitions for v4 power tables\n  drm/radeon/kms: never combine LVDS with another encoder\n  drm/radeon/kms: Check module arguments to be valid V2\n  drm/radeon/kms: Avoid crash when trying to cleanup uninitialized structure\n  drm/radeon/kms: add cvt mode if we only have lvds w/h and no edid (v4)\n  drm/radeon/kms: add 3DC compression support\n  drm/radeon/kms: allow rendering while no colorbuffer is set on r300\n  drm/radeon/kms: enable memory clock reading on legacy (V2)\n  drm/radeon/kms: prevent parallel AtomBIOS calls\n  drm/radeon/kms: set proper default tv standard\n  drm/radeon/kms: fix legacy rmx\n  drm/radeon/kms/atom: fill in proper defines for digital setup\n  drm/kms: silencing a false positive warning.\n  drm/mm: fix logic for selection of best fit block\n  drm/vmwgfx: Use TTM handles instead of SIDs as user-space surface handles.\n  drm/vmwgfx: Return -ERESTARTSYS when interrupted by a signal.\n  drm/vmwgfx: Fix unlocked ioctl and add proper access control\n  drm/radeon: fix build on 64-bit with some compilers.\n  drivers/gpu: Use kzalloc for allocating only one thing\n  DRM: Rename clamp variable\n  ...\n"
    },
    {
      "commit": "119eecc831a42bd090543568932e440c6831f1bb",
      "tree": "fc57e3afc6e419522c1294787b03e3798f69ea43",
      "parents": [
        "c9f937e4a3f4ebf9924ec21d80632e5eb61d949c"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Wed Dec 23 09:10:48 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 23 08:53:31 2009 -0800"
      },
      "message": "Fix usb_serial_probe() problem introduced by the recent kfifo changes\n\nThe USB serial code was a new user of the kfifo API, and it was missed\nwhen porting things to the new kfifo API.\n\nPlease make the write_fifo in place.  Here is my patch to fix the\nregression and full ported version.\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nReported-and-tested-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96d2a495c25d525873529b736cdb63ad502b101c",
      "tree": "7ceb418c1e26e682cc0c43d47efe4eb2cc639de9",
      "parents": [
        "b8a052d01669977f224255b0f9f2737018171ddb"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Dec 14 13:01:05 2009 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:44:12 2009 +0100"
      },
      "message": "ext3: Replace lock/unlock_super() with an explicit lock for resizing\n\nUse a separate lock to protect s_groups_count and the other block\ngroup descriptors which get changed via an on-line resize operation,\nso we can stop overloading the use of lock_super().\n\nPort of ext4 commit 32ed5058ce90024efcd811254b4b1de0468099df by\nTheodore Ts\u0027o \u003ctytso@mit.edu\u003e.\n\nCC: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b8a052d01669977f224255b0f9f2737018171ddb",
      "tree": "2ef6c2e038d269f2bc4eb73e82439f0301d5c6b1",
      "parents": [
        "4854a5f0cbb1967fc7db3ea861d97afeea78b88b"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Dec 14 13:00:30 2009 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:44:11 2009 +0100"
      },
      "message": "ext3: Replace lock/unlock_super() with an explicit lock for the orphan list\n\nUse a separate lock to protect the orphan list, so we can stop\noverloading the use of lock_super().\n\nPort of ext4 commit 3b9d4ed26680771295d904a6b83e88e620780893\nby Theodore Ts\u0027o \u003ctytso@mit.edu\u003e.\n\nCC: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "fd8fbfc1709822bd94247c5b2ab15a5f5041e103",
      "tree": "225be57d6afafcd7c893c5b9026719f9b23def69",
      "parents": [
        "b462707e7ccad058ae151e5c5b06eb5cadcb737f"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon Dec 14 15:21:13 2009 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:33:54 2009 +0100"
      },
      "message": "quota: decouple fs reserved space from quota reservation\n\nCurrently inode_reservation is managed by fs itself and this\nreservation is transfered on dquot_transfer(). This means what\ninode_reservation must always be in sync with\ndquot-\u003edq_dqb.dqb_rsvspace. Otherwise dquot_transfer() will result\nin incorrect quota(WARN_ON in dquot_claim_reserved_space() will be\ntriggered)\nThis is not easy because of complex locking order issues\nfor example http://bugzilla.kernel.org/show_bug.cgi?id\u003d14739\n\nThe patch introduce quota reservation field for each fs-inode\n(fs specific inode is used in order to prevent bloating generic\nvfs inode). This reservation is managed by quota code internally\nsimilar to i_blocks/i_bytes and may not be always in sync with\ninternal fs reservation.\n\nAlso perform some code rearrangement:\n- Unify dquot_reserve_space() and dquot_reserve_space()\n- Unify dquot_release_reserved_space() and dquot_free_space()\n- Also this patch add missing warning update to release_rsv()\n  dquot_release_reserved_space() must call flush_warnings() as\n  dquot_free_space() does.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b462707e7ccad058ae151e5c5b06eb5cadcb737f",
      "tree": "ea518c8eed963989c94fa5e555e1aeb3bb08143b",
      "parents": [
        "c459001fa4f71deafb62e00fa70d35f695498965"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon Dec 14 15:21:12 2009 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:33:54 2009 +0100"
      },
      "message": "Add unlocked version of inode_add_bytes() function\n\nQuota code requires unlocked version of this function. Off course\nwe can just copy-paste the code, but copy-pasting is always an evil.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c459001fa4f71deafb62e00fa70d35f695498965",
      "tree": "ec3bf9ebcd0b06944174ff5ec0d8e7136e7d91ff",
      "parents": [
        "c9f937e4a3f4ebf9924ec21d80632e5eb61d949c"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Wed Dec 09 03:05:30 2009 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:33:54 2009 +0100"
      },
      "message": "ext3: quota macros cleanup [V2]\n\nCurrently all quota block reservation macros contains hardcoded \"2\"\naka MAXQUOTAS value. This is no good because in some places it is not\nobvious to understand what does this digit represent. Let\u0027s introduce\nnew macro with self descriptive name.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "fe35d4a0289a8d6efcacb57e9a377b845686df10",
      "tree": "05ff26e6658d3ddc6e4885059bbf018b1681bb3b",
      "parents": [
        "9917f7bbe96432012d3ad8075e9fd99390255d0c",
        "28ba0ec64ca0f6ad2b0338ccec0b00a4e64e7a69"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 22 14:20:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 22 14:20:48 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  jfs: Fix 32bit build warning\n  Remove obsolete comment in fs.h\n  Sanitize f_flags helpers\n  Fix f_flags/f_mode in case of lookup_instantiate_filp() from open(pathname, 3)\n  anonfd: Allow making anon files read-only\n  fs/compat_ioctl.c: fix build error when !BLOCK\n  pohmelfs needs I_LOCK\n  alloc_file(): simplify handling of mnt_clone_write() errors\n"
    },
    {
      "commit": "dd508ae2dbff0cfc7401eb6e278339fc56bc5033",
      "tree": "daa9f88a4e2e65e86b351ffa2d52dcc07e753c1e",
      "parents": [
        "7801edb0b8b66e83c13623b483bc2e846c007c9d",
        "95cd34b42b43c0ed5a89a764e023189bfe7b1530"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 22 14:18:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 22 14:18:13 2009 -0800"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (36 commits)\n  powerpc/gc/wii: Remove get_irq_desc()\n  powerpc/gc/wii: hlwd-pic: convert irq_desc.lock to raw_spinlock\n  powerpc/gamecube/wii: Fix off-by-one error in ugecon/usbgecko_udbg\n  powerpc/mpic: Fix problem that affinity is not updated\n  powerpc/mm: Fix stupid bug in subpge protection handling\n  powerpc/iseries: use DECLARE_COMPLETION_ONSTACK for non-constant completion\n  powerpc: Fix MSI support on U4 bridge PCIe slot\n  powerpc: Handle VSX alignment faults correctly in little-endian mode\n  powerpc/mm: Fix typo of cpumask_clear_cpu()\n  powerpc/mm: Fix hash_utils_64.c compile errors with DEBUG enabled.\n  powerpc: Convert BUG() to use unreachable()\n  powerpc/pseries: Make declarations of cpu_hotplug_driver_lock() ANSI compatible.\n  powerpc/pseries: Don\u0027t panic when H_PROD fails during cpu-online.\n  powerpc/mm: Fix a WARN_ON() with CONFIG_DEBUG_PAGEALLOC and CONFIG_DEBUG_VM\n  powerpc/defconfigs: Set HZ\u003d100 on pseries and ppc64 defconfigs\n  powerpc/defconfigs: Disable token ring in powerpc defconfigs\n  powerpc/defconfigs: Reduce 64bit vmlinux by making acenic and cramfs modules\n  powerpc/pseries: Select XICS and PCI_MSI PSERIES\n  powerpc/85xx: Wrong variable returned on error\n  powerpc/iseries: Convert to proc_fops\n  ...\n"
    },
    {
      "commit": "86d4880313603810901f639ccb5c88ff13d4ad3c",
      "tree": "c182d890b5c96a1143b70b00b93e3fc4a9263555",
      "parents": [
        "a121f24accac1600bf5b6fb1e12eeabdfed7cb1a"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Mon Dec 21 14:37:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 22 14:17:56 2009 -0800"
      },
      "message": "kfifo: add record handling functions\n\nAdd kfifo_in_rec() - puts some record data into the FIFO\n Add kfifo_out_rec() - gets some record data from the FIFO\n Add kfifo_from_user_rec() - puts some data from user space into the FIFO\n Add kfifo_to_user_rec() - gets data from the FIFO and write it to user space\n Add kfifo_peek_rec() - gets the size of the next FIFO record field\n Add kfifo_skip_rec() - skip the next fifo out record\n Add kfifo_avail_rec() - determinate the number of bytes available in a record FIFO\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a121f24accac1600bf5b6fb1e12eeabdfed7cb1a",
      "tree": "24a3bb527e50304677785dbb390dd5ff838c94e8",
      "parents": [
        "37bdfbbfaab47811fcec84dff23c4e8da1a09f9e"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Mon Dec 21 14:37:31 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 22 14:17:56 2009 -0800"
      },
      "message": "kfifo: add kfifo_skip, kfifo_from_user and kfifo_to_user\n\nAdd kfifo_reset_out() for save lockless discard the fifo output\n Add kfifo_skip() to skip a number of output bytes\n Add kfifo_from_user() to copy user space data into the fifo\n Add kfifo_to_user() to copy fifo data to user space\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37bdfbbfaab47811fcec84dff23c4e8da1a09f9e",
      "tree": "89e88b5859674b9d9255fa1a87aaf34090da574d",
      "parents": [
        "9842c38e917636fa7dc6b88aff17a8f1fd7f0cc0"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Mon Dec 21 14:37:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 22 14:17:56 2009 -0800"
      },
      "message": "kfifo: add DEFINE_KFIFO and friends, add very tiny functions\n\nAdd DECLARE_KFIFO - macro to declare a kfifo and the associated buffer inside a struct\n Add INIT_KFIFO - Initialize a kfifo declared by DECLARED_KFIFO\n Add DEFINE_KFIFO - macro to define and initialize a kfifo as a global or local object\n Add kfifo_size() - returns the size of the fifo in bytes\n Add kfifo_is_empty() - returns true if the fifo is empty\n Add kfifo_is_full() - returns true if the fifo is full\n Add kfifo_avail() - returns the number of bytes available in the FIFO\n Do some code cleanup\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9842c38e917636fa7dc6b88aff17a8f1fd7f0cc0",
      "tree": "71d0b52ddc243743046bba9f774beca9febc393a",
      "parents": [
        "7acd72eb85f1c7a15e8b5eb554994949241737f1"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Mon Dec 21 14:37:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 22 14:17:56 2009 -0800"
      },
      "message": "kfifo: fix warn_unused_result\n\nFix the \"ignoring return value of \u0027...\u0027, declared with attribute\nwarn_unused_result\" compiler warning in several users of the new kfifo\nAPI.\n\nIt removes the __must_check attribute from kfifo_in() and\nkfifo_in_locked() which must not necessary performed.\n\nFix the allocation bug in the nozomi driver file, by moving out the\nkfifo_alloc from the interrupt handler into the probe function.\n\nFix the kfifo_out() and kfifo_out_locked() users to handle a unexpected\nend of fifo.\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7acd72eb85f1c7a15e8b5eb554994949241737f1",
      "tree": "76712bb9f38690d8cf9c2f91bef811e4413d1aa3",
      "parents": [
        "e64c026dd09b73faf20707711402fc5ed55a8e70"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Mon Dec 21 14:37:28 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 22 14:17:56 2009 -0800"
      },
      "message": "kfifo: rename kfifo_put... into kfifo_in... and kfifo_get... into kfifo_out...\n\nrename kfifo_put...  into kfifo_in...  to prevent miss use of old non in\nkernel-tree drivers\n\nditto for kfifo_get...  -\u003e kfifo_out...\n\nImprove the prototypes of kfifo_in and kfifo_out to make the kerneldoc\nannotations more readable.\n\nAdd mini \"howto porting to the new API\" in kfifo.h\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e64c026dd09b73faf20707711402fc5ed55a8e70",
      "tree": "4780736e021824f15329a0826eff3cc27d3f9646",
      "parents": [
        "c1e13f25674ed564948ecb7dfe5f83e578892896"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Mon Dec 21 14:37:28 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 22 14:17:56 2009 -0800"
      },
      "message": "kfifo: cleanup namespace\n\nchange name of __kfifo_* functions to kfifo_*, because the prefix __kfifo\nshould be reserved for internal functions only.\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1e13f25674ed564948ecb7dfe5f83e578892896",
      "tree": "24fac07b3e2b66dff01c3127b34077de1de4c101",
      "parents": [
        "45465487897a1c6d508b14b904dc5777f7ec7e04"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Mon Dec 21 14:37:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 22 14:17:56 2009 -0800"
      },
      "message": "kfifo: move out spinlock\n\nMove the pointer to the spinlock out of struct kfifo.  Most users in\ntree do not actually use a spinlock, so the few exceptions now have to\ncall kfifo_{get,put}_locked, which takes an extra argument to a\nspinlock.\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45465487897a1c6d508b14b904dc5777f7ec7e04",
      "tree": "935c8dae68dc793ff2f795d57cf027531475cd53",
      "parents": [
        "2ec91eec47f713e3d158ba5b28a24a85a2cf3650"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Mon Dec 21 14:37:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 22 14:17:55 2009 -0800"
      },
      "message": "kfifo: move struct kfifo in place\n\nThis is a new generic kernel FIFO implementation.\n\nThe current kernel fifo API is not very widely used, because it has to\nmany constrains.  Only 17 files in the current 2.6.31-rc5 used it.\nFIFO\u0027s are like list\u0027s a very basic thing and a kfifo API which handles\nthe most use case would save a lot of development time and memory\nresources.\n\nI think this are the reasons why kfifo is not in use:\n\n - The API is to simple, important functions are missing\n - A fifo can be only allocated dynamically\n - There is a requirement of a spinlock whether you need it or not\n - There is no support for data records inside a fifo\n\nSo I decided to extend the kfifo in a more generic way without blowing up\nthe API to much.  The new API has the following benefits:\n\n - Generic usage: For kernel internal use and/or device driver.\n - Provide an API for the most use case.\n - Slim API: The whole API provides 25 functions.\n - Linux style habit.\n - DECLARE_KFIFO, DEFINE_KFIFO and INIT_KFIFO Macros\n - Direct copy_to_user from the fifo and copy_from_user into the fifo.\n - The kfifo itself is an in place member of the using data structure, this save an\n   indirection access and does not waste the kernel allocator.\n - Lockless access: if only one reader and one writer is active on the fifo,\n   which is the common use case, no additional locking is necessary.\n - Remove spinlock - give the user the freedom of choice what kind of locking to use if\n   one is required.\n - Ability to handle records. Three type of records are supported:\n   - Variable length records between 0-255 bytes, with a record size\n     field of 1 bytes.\n   - Variable length records between 0-65535 bytes, with a record size\n     field of 2 bytes.\n   - Fixed size records, which no record size field.\n - Preserve memory resource.\n - Performance!\n - Easy to use!\n\nThis patch:\n\nSince most users want to have the kfifo as part of another object,\nreorganize the code to allow including struct kfifo in another data\nstructure.  This requires changing the kfifo_alloc and kfifo_init\nprototypes so that we pass an existing kfifo pointer into them.  This\npatch changes the implementation and all existing users.\n\n[akpm@linux-foundation.org: fix warning]\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\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": "95ebc3a7930d5965b00bbedbf36bfd3eb9124d65",
      "tree": "a08b3fd060cf5c3da4af81f7f2cfe93bf23f104d",
      "parents": [
        "5300990c0370e804e49d9a59d928c5d53fb73487"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Oct 28 01:46:33 2009 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 22 12:27:35 2009 -0500"
      },
      "message": "Remove obsolete comment in fs.h\n\nThis question was determined to be a bug which was fixed in\ncommit 4a3b0a49.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nCc: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5300990c0370e804e49d9a59d928c5d53fb73487",
      "tree": "08ed922afd172662039c082ec9e9410070f4afe8",
      "parents": [
        "482928d59db668b8d82a48717f78986d8cea72e9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Dec 19 10:15:07 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 22 12:27:34 2009 -0500"
      },
      "message": "Sanitize f_flags helpers\n\n* pull ACC_MODE to fs.h; we have several copies all over the place\n* nightmarish expression calculating f_mode by f_flags deserves a helper\ntoo (OPEN_FMODE(flags))\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "482928d59db668b8d82a48717f78986d8cea72e9",
      "tree": "6985c64474172ddfb67c737bc4a49e588c49d055",
      "parents": [
        "628ff7c1d8d8466a5ad8078bd0206a130f8b8a51"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Dec 19 10:10:39 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 22 12:27:34 2009 -0500"
      },
      "message": "Fix f_flags/f_mode in case of lookup_instantiate_filp() from open(pathname, 3)\n\nJust set f_flags when shoving struct file into nameidata; don\u0027t\npostpone that until __dentry_open().  do_filp_open() has correct\nvalue; lookup_instantiate_filp() doesn\u0027t - we lose the difference\nbetween O_RDWR and 3 by that point.\n\nWe still set .intent.open.flags, so no fs code needs to be changed.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "ed4b2019a62e2208a8370461dd91ed4de2c9fc8f",
      "tree": "2910816b23718e9cebd20be9eae2b6876edd849b",
      "parents": [
        "b74665606962456af7f92b1e448cee30ce70967b",
        "92c6f8d849178582fc527aaf1e51dd37a74767d3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 21 11:54:49 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 21 11:54:49 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\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": "eca9dfcd0029c8a84b1094bb84a2fb53e4addf6c",
      "tree": "2e5982fef1e737ce5f8936981c7dc7fb50fc655c",
      "parents": [
        "3981e152864fcc1dbbb564e1f4c0ae11a09639d2",
        "b5b60fda1e462a849bc37dfbace2888191be82cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 19 09:48:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 19 09:48:42 2009 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf session: Make events_stats u64 to avoid overflow on 32-bit arches\n  hw-breakpoints: Fix hardware breakpoints -\u003e perf events dependency\n  perf events: Dont report side-band events on each cpu for per-task-per-cpu events\n  perf events, x86/stacktrace: Fix performance/softlockup by providing a special frame pointer-only stack walker\n  perf events, x86/stacktrace: Make stack walking optional\n  perf events: Remove unused perf_counter.h header file\n  perf probe: Check new event name\n  kprobe-tracer: Check new event/group name\n  perf probe: Check whether debugfs path is correct\n  perf probe: Fix libdwarf include path for Debian\n"
    },
    {
      "commit": "3981e152864fcc1dbbb564e1f4c0ae11a09639d2",
      "tree": "76c767a9b25e294c3cc8edd9870304b845cabdd9",
      "parents": [
        "aac3d39693529ca538e37ebdb6ed5d6432a697c7",
        "18374d89e5fe96772102f44f535efb1198d9be08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 19 09:48:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 19 09:48:14 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, irq: Allow 0xff for /proc/irq/[n]/smp_affinity on an 8-cpu system\n  Makefile: Unexport LC_ALL instead of clearing it\n  x86: Fix objdump version check in arch/x86/tools/chkobjdump.awk\n  x86: Reenable TSC sync check at boot, even with NONSTOP_TSC\n  x86: Don\u0027t use POSIX character classes in gen-insn-attr-x86.awk\n  Makefile: set LC_CTYPE, LC_COLLATE, LC_NUMERIC to C\n  x86: Increase MAX_EARLY_RES; insufficient on 32-bit NUMA\n  x86: Fix checking of SRAT when node 0 ram is not from 0\n  x86, cpuid: Add \"volatile\" to asm in native_cpuid()\n  x86, msr: msrs_alloc/free for CONFIG_SMP\u003dn\n  x86, amd: Get multi-node CPU info from NodeId MSR instead of PCI config space\n  x86: Add IA32_TSC_AUX MSR and use it\n  x86, msr/cpuid: Register enough minors for the MSR and CPUID drivers\n  initramfs: add missing decompressor error check\n  bzip2: Add missing checks for malloc returning NULL\n  bzip2/lzma/gzip: pre-boot malloc doesn\u0027t return NULL on failure\n"
    },
    {
      "commit": "aac3d39693529ca538e37ebdb6ed5d6432a697c7",
      "tree": "bb1b0c9fe0538008aa2c97c6f5d9dfc2a4c34190",
      "parents": [
        "10e5453ffa0d04a2eda3cda3f55b88cb9c04595f",
        "077614ee1e93245a3b9a4e1213659405dbeb0ba6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 19 09:47:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 19 09:47:49 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (25 commits)\n  sched: Fix broken assertion\n  sched: Assert task state bits at build time\n  sched: Update task_state_arraypwith new states\n  sched: Add missing state chars to TASK_STATE_TO_CHAR_STR\n  sched: Move TASK_STATE_TO_CHAR_STR near the TASK_state bits\n  sched: Teach might_sleep() about preemptible RCU\n  sched: Make warning less noisy\n  sched: Simplify set_task_cpu()\n  sched: Remove the cfs_rq dependency from set_task_cpu()\n  sched: Add pre and post wakeup hooks\n  sched: Move kthread_bind() back to kthread.c\n  sched: Fix select_task_rq() vs hotplug issues\n  sched: Fix sched_exec() balancing\n  sched: Ensure set_task_cpu() is never called on blocked tasks\n  sched: Use TASK_WAKING for fork wakups\n  sched: Select_task_rq_fair() must honour SD_LOAD_BALANCE\n  sched: Fix task_hot() test order\n  sched: Fix set_cpu_active() in cpu_down()\n  sched: Mark boot-cpu active before smp_init()\n  sched: Fix cpu_clock() in NMIs, on !CONFIG_HAVE_UNSTABLE_SCHED_CLOCK\n  ...\n"
    },
    {
      "commit": "622e99bf0d54c4517cb0524540cd77257db8621a",
      "tree": "fee40306c296f57ef507a096c5c4bb36edf3ea72",
      "parents": [
        "2b31001d306a2b5fd690eee878d2ee61a0a0674c"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Dec 18 17:43:20 2009 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Fri Dec 18 17:43:32 2009 +0100"
      },
      "message": "[S390] rename NT_PRXSTATUS to NT_S390_HIGHREGS\n\nThe elf notes number for the upper register halves is s390 specific.\nChange the name of the elf notes to include S390.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "925cc71e512a29e2594bcc17dc58d0a0e9c4d524",
      "tree": "7240ccf6ba713cc180d388a28f00c1a43293bc14",
      "parents": [
        "55639353a0035052d9ea6cfe4dde0ac7fcbb2c9f"
      ],
      "author": {
        "name": "Robert Jennings",
        "email": "rcj@linux.vnet.ibm.com",
        "time": "Thu Dec 17 14:44:38 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Dec 18 14:53:36 2009 +1100"
      },
      "message": "mm: Add notifier in pageblock isolation for balloon drivers\n\nMemory balloon drivers can allocate a large amount of memory which is not\nmovable but could be freed to accomodate memory hotplug remove.\n\nPrior to calling the memory hotplug notifier chain the memory in the\npageblock is isolated.  Currently, if the migrate type is not\nMIGRATE_MOVABLE the isolation will not proceed, causing the memory removal\nfor that page range to fail.\n\nRather than failing pageblock isolation if the migrateteype is not\nMIGRATE_MOVABLE, this patch checks if all of the pages in the pageblock,\nand not on the LRU, are owned by a registered balloon driver (or other\nentity) using a notifier chain.  If all of the non-movable pages are owned\nby a balloon, they can be freed later through the memory notifier chain\nand the range can still be isolated in set_migratetype_isolate().\n\nSigned-off-by: Robert Jennings \u003crcj@linux.vnet.ibm.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Gerald Schaefer \u003cgeralds@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "ed8b67040965e4fe695db333d5914e18ea5f146f",
      "tree": "6fd9f50130f7ccaccf8070f7821ea8eb6743854c",
      "parents": [
        "dcd6dfcfe959bade75fbf49499775985d2cac5d5"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Dec 16 22:17:09 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 18 11:22:31 2009 +1000"
      },
      "message": "drm: convert drm_ioctl to unlocked_ioctl\n\ndrm_ioctl is called with the Big Kernel Lock held,\nwhich shows up very high in statistics on vfs_ioctl.\n\nMoving the lock into the drm_ioctl function itself\nmakes sure we blame the right subsystem and it gets\nus one step closer to eliminating the locked version\nof fops-\u003eioctl.\n\nSince drm_ioctl does not require the lock itself,\nwe only need to hold it while calling the specific\nhandler. The 32 bit conversion handlers do not\ninteract with any other code, so they don\u0027t need\nthe BKL here either and can just call drm_ioctl.\n\nAs a bonus, this cleans up all the other users\nof drm_ioctl which now no longer have to find\nthe inode or call lock_kernel.\n\n[airlied: squashed the non-driver bits\nof the second patch in here, this provides\nthe flag for drivers to use to select unlocked\nioctls - but doesn\u0027t modify any drivers].\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: David Airlie \u003cairlied@linux.ie\u003e\nCc: dri-devel@lists.sourceforge.net\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "55db493b65c7b6bb5d7bd3dd3c8a2fe13f5dc09c",
      "tree": "7f9203f43e7c81687c9aaa0213266bc7b2e89e35",
      "parents": [
        "efc8e7f4c83dc85acbf5f54a8b1b24ae75b20aaa",
        "a4636818f8e0991f32d9528f39cf4f3d6a7d30a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 17:00:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 17:00:20 2009 -0800"
      },
      "message": "Merge branch \u0027cpumask-cleanups\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* \u0027cpumask-cleanups\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  cpumask: rename tsk_cpumask to tsk_cpus_allowed\n  cpumask: don\u0027t recommend set_cpus_allowed hack in Documentation/cpu-hotplug.txt\n  cpumask: avoid dereferencing struct cpumask\n  cpumask: convert drivers/idle/i7300_idle.c to cpumask_var_t\n  cpumask: use modern cpumask style in drivers/scsi/fcoe/fcoe.c\n  cpumask: avoid deprecated function in mm/slab.c\n  cpumask: use cpu_online in kernel/perf_event.c\n"
    },
    {
      "commit": "efc8e7f4c83dc85acbf5f54a8b1b24ae75b20aaa",
      "tree": "cf7df8a837b719623e13b3ab19e8cfce1e270883",
      "parents": [
        "b5c96f89177b460ef89ecd777d5f2fefd4534d3f",
        "a00ae4d21b2fa9379914f270ffffd8d3bec55430"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 16:58:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 16:58:26 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  Keys: KEYCTL_SESSION_TO_PARENT needs TIF_NOTIFY_RESUME architecture support\n  NOMMU: Optimise away the {dac_,}mmap_min_addr tests\n  security/min_addr.c: make init_mmap_min_addr() static\n  keys: PTR_ERR return of wrong pointer in keyctl_get_security()\n"
    },
    {
      "commit": "fc6f0700d5cd54b5f8b30c4f0d93b06a6ba04b81",
      "tree": "ed0f6fa02690d08a2b9b57f8735d13f11fd1140f",
      "parents": [
        "dbfc985195410dad803c845743c63cd73bd1fe32",
        "53ca353594a254e6bd45ccf2d405aa31bcbb7091"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 16:38:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 16:38:48 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (40 commits)\n  [SCSI] 3w-9xxx fix bug in sgl loading\n  [SCSI] fcoe, libfc: adds enable/disable for fcoe interface\n  [SCSI] libfc: reduce hold time on SCSI host lock\n  [SCSI] libfc: remote port gets stuck in restart state without really restarting\n  [SCSI] pm8001: misc code cleanup\n  [SCSI] pm8001: enable read HBA SAS address from VPD\n  [SCSI] pm8001: do not reset local sata as it will not be found if reset\n  [SCSI] pm8001: bit set pm8001_ha-\u003eflags\n  [SCSI] pm8001:fix potential NULL pointer dereference\n  [SCSI] pm8001: set SSC down-spreading only to get less errors on some 6G device.\n  [SCSI] pm8001: fix endian issues with SAS address\n  [SCSI] pm8001: enhance error handle for IO patch\n  [SCSI] pm8001: Fix for sata io circular lock dependency.\n  [SCSI] hpsa: add driver for HP Smart Array controllers.\n  [SCSI] cxgb3i: always use negative errno in case of error\n  [SCSI] bnx2i: minor code cleanup and update driver version\n  [SCSI] bnx2i: Task management ABORT TASK fixes\n  [SCSI] bnx2i: update CQ arming algorith for 5771x chipsets\n  [SCSI] bnx2i: Adjust sq_size module parametr to power of 2 only if a non-zero value is specified\n  [SCSI] bnx2i: Add 5771E device support to bnx2i driver\n  ...\n"
    },
    {
      "commit": "dcc7cd011220d7425a265c9bbf04c5731dacec1b",
      "tree": "4c2244f6e6ce94e2698572e9d2df3baea8449c2a",
      "parents": [
        "bf931a01a2c024a54204b4b02276af6e8d99a2c0",
        "b60e26a2f03d963f8c79ad7920d64abc4d38ecbc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 16:00:19 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 16:00:19 2009 -0800"
      },
      "message": "Merge branch \u0027kmemleak\u0027 of git://linux-arm.org/linux-2.6\n\n* \u0027kmemleak\u0027 of git://linux-arm.org/linux-2.6:\n  kmemleak: fix kconfig for crc32 build error\n  kmemleak: Reduce the false positives by checking for modified objects\n  kmemleak: Show the age of an unreferenced object\n  kmemleak: Release the object lock before calling put_object()\n  kmemleak: Scan the _ftrace_events section in modules\n  kmemleak: Simplify the kmemleak_scan_area() function prototype\n  kmemleak: Do not use off-slab management with SLAB_NOLEAKTRACE\n"
    },
    {
      "commit": "bf931a01a2c024a54204b4b02276af6e8d99a2c0",
      "tree": "bd76e2f25430b1394c4dc54cd674bdc08b1bfaf2",
      "parents": [
        "4e46aa083853a84c770e00b03746bdeaf5c5aeff",
        "d53342bf9616ecd7e4a03fece167d0f53b195e87"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 15:59:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 15:59:05 2009 -0800"
      },
      "message": "Merge branch \u0027next-spi\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027next-spi\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  spi: spi_txx9.c: use resource_size()\n  spi: spi_sh_sci.c: use resource_size()\n  spi: spi_mpc8xxx.c: use resource_size()\n  spi: spi_bfin5xx.c: use resource_size()\n  spi: atmel_spi.c: use resource_size()\n  spi: Add s3c64xx SPI Controller driver\n  atmel_spi: fix dma addr calculation for len \u003e BUFFER_SIZE\n  spi_s3c24xx: add FIQ pseudo-DMA support\n  spi: controller driver for Designware SPI core\n  spidev: add proper section markers\n  spidev: use DECLARE_BITMAP instead of declaring the array\n"
    },
    {
      "commit": "4e46aa083853a84c770e00b03746bdeaf5c5aeff",
      "tree": "f93d3f88e038d176a4661639edbdb9a99d9f7402",
      "parents": [
        "9209e4bd4b3b9ee3a104313b426380e8d1f59260",
        "f7a297af49e5d9d2c577466307e8ef392750c9d9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 15:58:07 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 15:58:07 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-backlight\n\n* \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-backlight:\n  backlight: mbp_nvidia_bl - add two more MacBookPro variants\n  backlight: Pass device through notify callback in the pwm driver\n  backlight: PTR_ERR return of wrong pointer in cr_backlight_probe()\n  backlight: Constify struct backlight_ops\n  backlight/thinkpad-acpi: issue backlight class events\n\nFix up trivial conflicts in thinkpad-acpi support (backlight support\nalready merged earlier).\n"
    },
    {
      "commit": "9209e4bd4b3b9ee3a104313b426380e8d1f59260",
      "tree": "8c2d3f01d7e325ce9b26e144ccc6ffcabdbb132b",
      "parents": [
        "a695bc683609a2b815915e4cfcd93e4ccc0e2cae",
        "e45906203d27296b47e56efc1219f9a200bfc2db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 15:55:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 15:55:08 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-leds\n\n* \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-leds:\n  leds: leds-pwm: Set led_classdev max_brightness\n  leds: leds-lp3944.h - remove unneeded includes\n  leds: use default-on trigger for Cobalt Qube\n  leds: drivers/leds/leds-ss4200.c: fix return statement\n  leds: leds-pca9532.h- indent with tabs, not spaces\n  leds: Add LED class driver for regulator driven LEDs.\n  leds: leds-cobalt-qube.c: use resource_size()\n  leds: leds-cobalt-raq.c - use resource_size()\n  leds: Add driver for ADP5520/ADP5501 MFD PMICs\n  leds: Add driver for LT3593 controlled LEDs\n  leds-ss4200: Check pci_enable_device return\n  leds: leds-alix2c - take port address from MSR\n  leds: LED driver for Intel NAS SS4200 series (v5)\n"
    },
    {
      "commit": "cbc8cc049aefd571ebc3c255dc3e265f736751c0",
      "tree": "46626ce409b71790af6220ee0518be694693af99",
      "parents": [
        "5012f5063f41ca01240e5983c3b2cceb9aafc7a4",
        "fb1d9738ca053ea8afa5e86af6463155f983b01c"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 18 09:53:50 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 18 09:53:50 2009 +1000"
      },
      "message": "Merge remote branch \u0027korg/drm-vmware-staging\u0027 into drm-core-next\n"
    },
    {
      "commit": "f6151dfea21496d43dbaba32cfcd9c9f404769bc",
      "tree": "092b73a1cd7edbd0e04fe2076ed678447446aa70",
      "parents": [
        "9cd80bbb07fcd6d4d037fad4297496d3b132ac6b"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Thu Dec 17 15:27:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 15:45:31 2009 -0800"
      },
      "message": "mm: introduce coredump parameter structure\n\nIntroduce coredump parameter data structure (struct coredump_params) to\nsimplify binfmt-\u003ecore_dump() arguments.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSuggested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "5d0bb2c4238e333ae18c5cd23f75e02a3dac3519"
}
