)]}'
{
  "log": [
    {
      "commit": "07bccc2dd4e8745859f0fa7d120ea39320fbcdbf",
      "tree": "0a06d0689b300842a85c7c8f8605ea86dcb7cf81",
      "parents": [
        "0b9e2d41f1f0360be08809d4e3bb56b67be6241a"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Sat Dec 05 13:19:01 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 05 13:19:01 2009 -0500"
      },
      "message": "nfs41: add support for callback with RPC version number 4\n\nThe NFSv4.1 spec-29 (18.36.3) says that the server MUST use an ONC RPC\n(program) version number equal to 4 in callbacks sent to the client.\nFor now we allow both versions 1 and 4.\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0b9e2d41f1f0360be08809d4e3bb56b67be6241a",
      "tree": "6628c9ef423cf09a76ec34b6f9db64c7ca704c38",
      "parents": [
        "691daf3b0c410c8bcab6735796be03ea446e1924"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 16:02:14 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 16:02:14 2009 -0500"
      },
      "message": "nfs41: only state manager sets NFS4CLNT_SESSION_SETUP\n\nReplace sync and async handlers setting of the NFS4CLNT_SESSION_SETUP bit with\nsetting NFS4CLNT_CHECK_LEASE, and let the state manager decide to reset the session.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "691daf3b0c410c8bcab6735796be03ea446e1924",
      "tree": "989669b839146bcc36dc2b059b5c188dd901987d",
      "parents": [
        "ea028ac92541ac30bf202ed94cb53eec2ea0c9d6"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:39 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:39 2009 -0500"
      },
      "message": "nfs41: drain session cleanup\n\nDo not wake up the next slot_tbl_waitq task in nfs4_free_slot because we\nmay be draining the slot. Either signal the state manager that the session\nis drained (the state manager wakes up tasks) OR wake up the next task.\n\nIn nfs41_sequence_done, the slot dereference is only needed in the sequence\noperation success case.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ea028ac92541ac30bf202ed94cb53eec2ea0c9d6",
      "tree": "f9b807cf0f870db922f96e72dab68ed37ba18cf0",
      "parents": [
        "05f0d2364726c92f6b870db654967088349379fe"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:38 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:38 2009 -0500"
      },
      "message": "nfs41: nfs41: fix state manager deadlock in session reset\n\nIf the session is reset during state recovery, the state manager thread can\nsleep on the slot_tbl_waitq causing a deadlock.\n\nAdd a completion framework to the session.  Have the state manager thread set\na new session state (NFS4CLNT_SESSION_DRAINING) and wait for the session slot\ntable to drain.\n\nSignal the state manager thread in nfs41_sequence_free_slot when the\nNFS4CLNT_SESSION_DRAINING bit is set and the session is drained.\n\nReported-by: Trond Myklebust \u003ctrond@netapp.com\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "05f0d2364726c92f6b870db654967088349379fe",
      "tree": "ea9fb3fe07c40e859c8db88949eee55a40bbdd9b",
      "parents": [
        "2628eddff15cb38b7246d5c18e2f7dc3e2c0d0c2"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:37 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:37 2009 -0500"
      },
      "message": "nfs41: remove nfs4_recover_session\n\nnfs4_recover_session can put rpciod to sleep. Just use nfs4_schedule_recovery.\n\nReported-by: Trond Myklebust \u003ctrond.myklebust@netapp.com\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2628eddff15cb38b7246d5c18e2f7dc3e2c0d0c2",
      "tree": "99dc69d8bc07eb09f239a3635de1657254badc9e",
      "parents": [
        "8ba9bf8e5160b0b4ebc56f64ad445c6c0ecdac1d"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:35 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:35 2009 -0500"
      },
      "message": "nfs41: don\u0027t clear tk_action on success\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8ba9bf8e5160b0b4ebc56f64ad445c6c0ecdac1d",
      "tree": "bee5b90cc35392ed9e2281a09e1aa97ec881a7e8",
      "parents": [
        "b9179237e2b2b4d34b5821cca3db280ebbc8694a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:34 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:34 2009 -0500"
      },
      "message": "nfs41: fix switch in nfs4_recovery_handle_error\n\nDo not fall through and set NFS4CLNT_SESSION_RESET bit on NFS4ERR_EXPIRED\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b9179237e2b2b4d34b5821cca3db280ebbc8694a",
      "tree": "e55d4e02088cd5b46f041a455fcd98b7e969f867",
      "parents": [
        "36bbe34239f63377b5179ad32fd13cd71d6e1ba7"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:32 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:32 2009 -0500"
      },
      "message": "nfs41: fix switch in nfs4_handle_exception\n\nDo not fall through and call nfs4_delay on session error handling.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "36bbe34239f63377b5179ad32fd13cd71d6e1ba7",
      "tree": "0e7edc3061f160784457b6ded18dbc47fa8cfed8",
      "parents": [
        "e608e79f1bf4b967afcf57777e63b5f0939b00e8"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:30 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:30 2009 -0500"
      },
      "message": "nfs41: free the slot on unhandled read errors\n\nnfs4_read_done returns zero on unhandled errors. nfs_readpage_result will\nreturn on a negative tk_status without freeing the slot.\nCall nfs4_sequence_free_slot on unhandled errors in nfs4_read_done.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e608e79f1bf4b967afcf57777e63b5f0939b00e8",
      "tree": "d649b5714435b7d2d4edd5779fa22122d61ee0c5",
      "parents": [
        "1d9ddde94aed01c4618cf6f70883cc511c3b2b62"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:29 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:29 2009 -0500"
      },
      "message": "nfs41: call free slot from nfs4_restart_rpc\n\nnfs41_sequence_free_slot can be called multiple times on SEQUENCE operation\nerrors.\nNo reason to inline nfs4_restart_rpc\n\nReported-by: Trond Myklebust \u003ctrond.myklebust@netapp.com\u003e\n\nnfs_writeback_done and nfs_readpage_retry call nfs4_restart_rpc outside the\nerror handler, and the slot is not freed prior to restarting in the rpc_prepare\nstate during session reset.\n\nFix this by moving the call to nfs41_sequence_free_slot from the error\npath of nfs41_sequence_done into nfs4_restart_rpc, and by removing the test\nfor NFS4CLNT_SESSION_SETUP.\nAlways free slot and goto the rpc prepare state on async errors.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1d9ddde94aed01c4618cf6f70883cc511c3b2b62",
      "tree": "649a4f8f59f6408746dadb6588ec2d558556b15f",
      "parents": [
        "6df08189ffd33d8357759561dba49d25c0335858"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:27 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:27 2009 -0500"
      },
      "message": "nfs41: nfs4_get_lease_time will never session reset\n\nMake this clear by calling rpc_restart-call.\nPrepare for nfs4_restart_rpc() to free slots.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6df08189ffd33d8357759561dba49d25c0335858",
      "tree": "8f1d38370002cb05534628ee7b6bbfd04242b715",
      "parents": [
        "4d643d1dfa9349164fe928e255f68020d91dbfe0"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:55:05 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:55:05 2009 -0500"
      },
      "message": "nfs41: rename cl_state session SETUP bit to RESET\n\nThe bit is no longer used for session setup, only for session reset.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4d643d1dfa9349164fe928e255f68020d91dbfe0",
      "tree": "1dde84268d81698e3f84cc3f20d90ddc234ba33f",
      "parents": [
        "7285f2d2ffd4b7ab4ffb70a47759ee209c30017b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Dec 04 15:52:24 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 04 15:52:24 2009 -0500"
      },
      "message": "nfs41: add create session into establish_clid\n\nReported-by: Trond Myklebust \u003ctrond.myklebust@netapp.com\u003e\n\nResetting the clientid from the state manager could result in not confirming\nthe clientid due to create session not being called.\n\nMove the create session call from the NFS4CLNT_SESSION_SETUP state manager\ninitialize session case into the NFS4CLNT_LEASE_EXPIRED case establish_clid\ncall.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7285f2d2ffd4b7ab4ffb70a47759ee209c30017b",
      "tree": "255cdddc72429f013b3bcf5c51d1818cb3e3bd51",
      "parents": [
        "0b08b07507d5ae733408fd4ebda1cd89d3a840ef",
        "44ed3556bad809797f7b06a4a88918fd8a23d6fe"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 21:27:36 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 21:27:36 2009 -0500"
      },
      "message": "Merge branch \u0027devel\u0027 into linux-next\n"
    },
    {
      "commit": "44ed3556bad809797f7b06a4a88918fd8a23d6fe",
      "tree": "c4e9fb126d25d2f08e972365a480e40612502850",
      "parents": [
        "24e93025ee434a58d35e5abb283c5bcc9a13e477"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 21:26:36 2009 -0500"
      },
      "message": "NFS4ERR_FILE_OPEN handling in Linux/NFS\n\nNFS4ERR_FILE_OPEN is return by the server when an operation cannot be\nperformed because the file is currently open and local (to the server)\nsemantics prohibit the operation while the file is open.\nA typical case is a RENAME operation on an MS-Windows platform, which\nprevents rename while the file is open.\n\nWhile it is possible that such a condition is transitory, it is also\nvery possible that the file will be held open for an extended period\nof time thus preventing the operation.\n\nThe current behaviour of Linux/NFS is to retry the operation\nindefinitely.  This is not appropriate - we do not expect a rename to\ntake an arbitrary amount of time to complete.\n\nRather, and error should be returned.  The most obvious error code\nwould be EBUSY, which is a legal at least for \u0027rename\u0027 and \u0027unlink\u0027,\nand accurately captures the reason for the error.\n\nThis patch allows a few retries until about 2 seconds have elapsed,\nthen returns EBUSY.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0b08b07507d5ae733408fd4ebda1cd89d3a840ef",
      "tree": "c91d8b77610f640cd930f62407b9fc5fec283773",
      "parents": [
        "22763c5cf3690a681551162c15d34d935308c8d7",
        "1185a552e3d78807031f4021c5edb60d3e8838f1"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 16:01:51 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 16:01:51 2009 -0500"
      },
      "message": "Merge branch \u0027bugfixes\u0027 into nfs-for-next\n"
    },
    {
      "commit": "24e93025ee434a58d35e5abb283c5bcc9a13e477",
      "tree": "f187100fdb63afb537e209c62e9c6bb5a95fc46b",
      "parents": [
        "27226104e60964f21717e0f452cecd45c85a64c6"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "nfs: clean up sillyrenaming in nfs_rename()\n\nThe d_instantiate(new_dentry, NULL) is superfluous, the dentry is\nalready negative.  Rehashing this dummy dentry isn\u0027t needed either,\nd_move() works fine on an unhashed target.\n\nThe re-checking for busy after a failed nfs_sillyrename() is bogus\ntoo: new_dentry-\u003ed_count \u003c 2 would be a bug here.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "27226104e60964f21717e0f452cecd45c85a64c6",
      "tree": "fc0bf5aea3d316034a9d51ce00a135e9ddbce5f2",
      "parents": [
        "28f79a1a695e7a5b00af3b6713b449e08581ffbb"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "nfs: dont unhash target if renaming a directory\n\nMove unhashing the target to after the check for existence and being a\nnon-directory.\n\nIf renaming a directory then the VFS already unhashes the target if it\nis not busy.  If it\u0027s busy then acquiring more references during the\nrename makes no difference.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "28f79a1a695e7a5b00af3b6713b449e08581ffbb",
      "tree": "e843f269eebb716a69a71dd51fec769c30d6efc9",
      "parents": [
        "e48de5ec25b37d42292c876c1d3337766aae89bd"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "nfs: fix comments in nfs_rename()\n\nComments are wrong or out of date.  In particular d_drop() doesn\u0027t\nfree the inode it just unhashes the dentry.  And if target is a\ndirectory then it is not checked for being busy.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e48de5ec25b37d42292c876c1d3337766aae89bd",
      "tree": "de35cc77f7d99de0c3962a213a2b4c5385065987",
      "parents": [
        "9c4c761a629caa5572c1a29a8288416070d5d6b7"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "nfs: remove unnecessary check from nfs_rename()\n\nVFS already checks if both source and target are directories.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9c4c761a629caa5572c1a29a8288416070d5d6b7",
      "tree": "ff73a4a5d09de69e18610ad2e2f7dc2c9ce4f6d8",
      "parents": [
        "3a28becc35e5c8f1fabb707bcd8a473712653de6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "NFSv4.1: Handle NFSv4.1 session errors in the lock recovery code\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3a28becc35e5c8f1fabb707bcd8a473712653de6",
      "tree": "2cdbbbea50d8a6ed8c9a3f9a84b29b424154b6e4",
      "parents": [
        "caabea8a565fb4e16f8e58e16bb9d535e591b709"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: soft connect semantics for UDP\n\nIntroduce soft connect behavior for UDP transports.  In this case, a\nmajor timeout returns ETIMEDOUT instead of EIO.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "caabea8a565fb4e16f8e58e16bb9d535e591b709",
      "tree": "15e0cf4514999c4fb9596adece9e22adfaee2a31",
      "parents": [
        "012da158f636347c4eb28fd1e1cca020fef5e54d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Use soft connect semantics when performing RPC ping\n\nCurrently, if a remote RPC service is unreachable, an RPC ping will\nhang until the underlying transport connect attempt times out.  A more\ndesirable behavior might be to have the ping fail immediately so upper\nlayers can recover appropriately.\n\nIn the case of an NFS mount, for instance, this would mean the\nmount(2) system call could fail immediately if the server isn\u0027t\nlistening, rather than hanging uninterruptibly for more than 3\nminutes.\n\nChange rpc_ping() so that it fails immediately for connection-oriented\ntransports.  rpc_create() will then fail immediately for such\ntransports if an RPC ping was requested.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "012da158f636347c4eb28fd1e1cca020fef5e54d",
      "tree": "2b51c0d57ab2353bce700c599185e7fd346e251e",
      "parents": [
        "2a76b3bfa22993fc09166bd6a8db0dbe902b6813"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Use soft connects for autobinding over TCP\n\nAutobinding is handled by the rpciod process, not in user processes\nthat are generating regular RPC requests.  Thus autobinding is usually\nnot affected by signals targetting user processes, such as KILL or\ntimer expiration events.\n\nIn addition, an RPC request generated by a user process that has\nRPC_TASK_SOFTCONN set and needs to perform an autobind will hang if\nthe remote rpcbind service is not available.\n\nFor rpcbind queries on connection-oriented transports, let\u0027s use the\nnew soft connect semantic to return control to the user\u0027s process\nquickly, if the kernel\u0027s rpcbind client can\u0027t connect to the remote\nrpcbind service.\n\nLogic is introduced in call_bind_status() to handle connection errors\nthat occurred during an asynchronous rpcbind query.  The logic\nabandons the rpcbind query if the RPC request has SOFTCONN set, and\nretries after a few seconds in the normal case.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2a76b3bfa22993fc09166bd6a8db0dbe902b6813",
      "tree": "3cb222408155a5d878d6e2dfae2aadd24226ee62",
      "parents": [
        "c526611dd631b2802b6b0221ffb306c5fa25c86c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Use TCP for local rpcbind upcalls\n\nUse TCP with the soft connect semantic for local rpcbind upcalls so\nthe kernel can detect immediately if the local rpcbind daemon is not\nrunning.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n"
    },
    {
      "commit": "c526611dd631b2802b6b0221ffb306c5fa25c86c",
      "tree": "909f241683fbe848b484cef24a77d716c486d25c",
      "parents": [
        "5a46211540a83871196489247f57da2bdde58d87"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Use a cached RPC client and transport for rpcbind upcalls\n\nThe kernel\u0027s rpcbind client creates and deletes an rpc_clnt and its\nunderlying transport socket for every upcall to the local rpcbind\ndaemon.\n\nWhen starting a typical NFS server on IPv4 and IPv6, the NFS service\nitself does three upcalls (one per version) times two upcalls (one\nper transport) times two upcalls (one per address family), making 12,\nplus another one for the initial call to unregister previous NFS\nservices.  Starting the NLM service adds an additional 13 upcalls,\nfor similar reasons.\n\n(Currently the NFS service doesn\u0027t start IPv6 listeners, but it will\nsoon enough).\n\nInstead, let\u0027s create an rpc_clnt for rpcbind upcalls during the\nfirst local rpcbind query, and cache it.  This saves the overhead of\ncreating and destroying an rpc_clnt and a socket for every upcall.\n\nThe new logic also prevents the kernel from attempting an RPCB_SET or\nRPCB_UNSET if it knows from the start that the local portmapper does\nnot support rpcbind protocol version 4.  This will cut down on the\nnumber of rpcbind upcalls in legacy environments.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n"
    },
    {
      "commit": "5a46211540a83871196489247f57da2bdde58d87",
      "tree": "4d414b9e5cc7af8f4913923b51dc195ddeab58a5",
      "parents": [
        "09a21c4102c8f7893368553273d39c0cadedf9af"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Simplify synopsis of rpcb_local_clnt()\n\nClean up: At one point, rpcb_local_clnt() handled IPv6 loopback\naddresses too, but it doesn\u0027t any more; only IPv4 loopback is used\nnow.  Get rid of the @addr and @addrlen arguments to\nrpcb_local_clnt().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "09a21c4102c8f7893368553273d39c0cadedf9af",
      "tree": "b0a051dbb02d48aa95383e39cc7ce6f503d6f33b",
      "parents": [
        "206a134b4d8abf57cd34dffacf993869355b9aac"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Allow RPCs to fail quickly if the server is unreachable\n\nThe kernel sometimes makes RPC calls to services that aren\u0027t running.\nBecause the kernel\u0027s RPC client always assumes the hard retry semantic\nwhen reconnecting a connection-oriented RPC transport, the underlying\nreconnect logic takes a long while to time out, even though the remote\nmay have responded immediately with ECONNREFUSED.\n\nIn certain cases, like upcalls to our local rpcbind daemon, or for NFS\nmount requests, we\u0027d like the kernel to fail immediately if the remote\nservice isn\u0027t reachable.  This allows another transport to be tried\nimmediately, or the pending request can be abandoned quickly.\n\nIntroduce a per-request flag which controls how call_transmit_status()\nbehaves when request transmission fails because the server cannot be\nreached.\n\nWe don\u0027t want soft connection semantics to apply to other errors.  The\ndefault case of the switch statement in call_transmit_status() no\nlonger falls through; the fall through code is copied to the default\ncase, and a \"break;\" is added.\n\nThe transport\u0027s connection re-establishment timeout is also ignored for\nsuch requests.  We want the request to fail immediately, so the\nreconnect delay is skipped.  Additionally, we don\u0027t want a connect\nfailure here to further increase the reconnect timeout value, since\nthis request will not be retried.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "206a134b4d8abf57cd34dffacf993869355b9aac",
      "tree": "ffe4724ce1957243de3eaa2e123b25c883c53412",
      "parents": [
        "dd47f96c077b4516727e497e4b6fd47a06778c0a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Check explicitly for tk_status \u003d\u003d 0 in call_transmit_status()\n\nThe success case, where task-\u003etk_status \u003d\u003d 0, is by far the most\nfrequent case in call_transmit_status().\n\nThe default: arm of the switch statement in call_transmit_status()\nhandles the 0 case.  default: was moved close to the top of the switch\nstatement in call_transmit_status() under the theory that the compiler\nplaces object code for the earliest arms of a switch statement first,\nmaking the CPU do less work.\n\nThe default: arm of a switch statement, however, is executed only\nafter all the other cases have been checked.  Even if the compiler\nrearranges the object code, the default: arm is the \"last resort\",\nmeaning all of the other cases have been explicitly exhausted.  That\nmakes the current arrangement about as inefficient as it gets for the\ncommon case.\n\nTo fix this, add an explicit check for zero before the switch\nstatement.  That forces the compiler to do the zero check first, no\nmatter what optimizations it might try to do to the switch statement.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dd47f96c077b4516727e497e4b6fd47a06778c0a",
      "tree": "916e3a3119606b2cde325c561594d2c3203c1d3b",
      "parents": [
        "d250e190fb9b06f4c595eade88b3d0b705fb330a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "NFS: Revert default r/wsize behavior\n\nWhen the \"rsize\u003d\" or \"wsize\u003d\" mount options are not specified,\ntext-based mounts have slightly different behavior than legacy binary\nmounts.  Text-based mounts use the smaller of the server\u0027s maximum\nand the client\u0027s maximum, but binary mounts use the smaller of the\nserver\u0027s _preferred_ size and the client\u0027s maximum.\n\nThis difference is actually pretty subtle.  Most servers advertise\nthe same value as their maximum and their preferred transfer size, so\nthe end result is the same in most cases.\n\nThe reason for this difference is that for text-based mounts, if\nr/wsize are not specified, they are set to the largest value supported\nby the client.  For legacy mounts, the values are set to zero if these\noptions are not specified.\n\nnfs_server_set_fsinfo() can negotiate the transfer size defaults\ncorrectly in any case.  There\u0027s no need to specify any particular\nvalue as default in the text-based option parsing logic.\n\nNote that nfs4 doesn\u0027t use nfs_server_set_fsinfo(), but the mount.nfs4\ncommand does set rsize and wsize to 0 if the user didn\u0027t specify these\noptions.  So, make the same change for text-based NFSv4 mounts.\n\nThanks to James Pearson \u003cjames-p@moving-picture.com\u003e for reporting and\ndiagnosing the problem.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d250e190fb9b06f4c595eade88b3d0b705fb330a",
      "tree": "963505275d87d596b674b061403cf6fa18b01f25",
      "parents": [
        "dd1fd90fe65e2e642f0e58e2ff4849f317a6c43d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "NFS: Display compressed (shorthand) IPv6 in /proc/mounts\n\nRecent changes to snprintf() introduced the %pI6c formatter, which can\ndisplay an IPv6 address with standard shorthanding.  Use this new\nformatter when displaying IPv6 server addresses in /proc/mounts.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dd1fd90fe65e2e642f0e58e2ff4849f317a6c43d",
      "tree": "2519545d939d3ec6aab754f49866579c1e65b185",
      "parents": [
        "a01878aac57eac6eb4bf194788ab2cc440490d0f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Display compressed (shorthand) IPv6 presentation addresses\n\nRecent changes to snprintf() introduced the %pI6c formatter, which can\ndisplay an IPv6 address with standard shorthanding.  Using a\nshorthanded address can save us a few bytes of memory for each stored\npresentation address, or a few bytes on the wire when sending these in\na universal address.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a01878aac57eac6eb4bf194788ab2cc440490d0f",
      "tree": "93061f565a016690eff7ad097a2cbc8a0ef1838f",
      "parents": [
        "ee671b016fbfc26d69c3fe02e28706222beb1149"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "NFS: reorder nfs4_sequence_regs to remove 8 bytes of padding on 64 bits\n\nreorder nfs4_sequence_args to remove 8 bytes of padding on 64 bit\nbuilds.\n\nThe size of this structure drops to 24 bytes from 32 and reduces the\ntext size of nfs.ko.\nOn my x86_64 size reports\n\n\t\ttext       data     bss\n2.6.32-rc5 \t200996\t   8512\t    432\t 209940\t  33414\tnfs.ko\n+patch \t\t200884\t   8512\t    432\t 209828\t  333a4\tnfs.ko\n\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ee671b016fbfc26d69c3fe02e28706222beb1149",
      "tree": "1e3b2d050fd301b24f8aca01e58f76d68ca42a68",
      "parents": [
        "d4e935bd67ca05db4119b67801d9ece6ae139f05"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "NFS: convert proto\u003d option to use netids rather than a protoname\n\nSolaris uses netids as values for the proto\u003d option, so that when\nsomeone specifies \"tcp6\" they get traffic over TCP + IPv6. Until\nrecently, this has never really been an issue for Linux since it didn\u0027t\nsupport NFS over IPv6. The netid and the protocol name were generally\nalways the same (modulo any strange configuration in /etc/netconfig).\n\nThe solaris manpage documents their proto\u003d option as:\n\n    proto\u003d _netid_ | rdma\n\nThis patch is intended to bring Linux closer to how the Solaris proto\u003d\noption works, by declaring a static netid mapping in the kernel and\nconverting the proto\u003d and mountproto\u003d options to follow it and display\nthe proper values in /proc/mounts.\n\nMuch of this functionality will need to be provided by a userspace\nmount.nfs patch. Chuck Lever has a patch to change mount.nfs in\nthe same way. In principle, we could do *all* of this in userspace but\nthat would mean that the options in /proc/mounts may not match the\noptions used by userspace.\n\nThe alternative to the static mapping here is to add a mechanism to\nupcall to userspace for netid\u0027s. I\u0027m not opposed to that option, but\nit\u0027ll probably mean more overhead (and quite a bit more code). Rather\nthan shoot for that at first, I figured it was probably better to\nstart simply.\n\nComments welcome.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d4e935bd67ca05db4119b67801d9ece6ae139f05",
      "tree": "56d6c6e3e6cf9ecd0538cacb5cafb4477d015b4b",
      "parents": [
        "96f287b0cf512ee537826943c15b0b8647472f70"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Dec 03 15:58:33 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:33 2009 -0500"
      },
      "message": "The rpc server does not require that service threads take the BKL.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1185a552e3d78807031f4021c5edb60d3e8838f1",
      "tree": "c91d8b77610f640cd930f62407b9fc5fec283773",
      "parents": [
        "0a6566ecd3afc74aad11c2e07794ff5529c13862"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:54:02 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:54:02 2009 -0500"
      },
      "message": "NFSv4: Ensure nfs4_close_context() is declared as static\n\nFix another \u0027sparse\u0027 warning in fs/nfs/nfs4proc.c\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0a6566ecd3afc74aad11c2e07794ff5529c13862",
      "tree": "0e9b75b3b24d2d6ca6ee5aff6ad61d4b5b006d82",
      "parents": [
        "b6d408ba8c8be3646dea6f80a2fe55ac403119c8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:54:01 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:54:01 2009 -0500"
      },
      "message": "NFSv4: Ensure nfs_dns_lookup() and nfs_dns_update() are declared static\n\nFix two \u0027sparse\u0027 warnings in fs/nfs/dns_resolve.c\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b6d408ba8c8be3646dea6f80a2fe55ac403119c8",
      "tree": "f3305d34863a99c7df4c1453f860237845a21923",
      "parents": [
        "a9ed2e2583747fb3139a764c317fac58893b968f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:53:22 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:53:22 2009 -0500"
      },
      "message": "NFSv4: Fix up error handling in the state manager main loop.\n\nThe nfs4_state_manager should not be looking at the error values when\ndeciding whether or not to loop round in order to handle a higher priority\nstate recovery task. It should rather be looking at the clp-\u003ecl_state.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a9ed2e2583747fb3139a764c317fac58893b968f",
      "tree": "55d6504df716da57884cee0593b86f3a04558401",
      "parents": [
        "c8b7ae3d3221536228260757444ee10c6d71793f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:53:21 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:53:21 2009 -0500"
      },
      "message": "NFSv4: Handle NFS4ERR_GRACE when recovering an expired lease.\n\nIf our lease expires, and the server reboots while we\u0027re recovering, we\nneed to be able to wait until the grace period is over.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c8b7ae3d3221536228260757444ee10c6d71793f",
      "tree": "0fe8d45072d1f2b49e1211402843d5df15510f74",
      "parents": [
        "4f7cdf18e14f81860b856ef7694ef58eb1a751c0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:53:21 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:53:21 2009 -0500"
      },
      "message": "NFSv4: Ensure the state manager handles NFS4ERR_NO_GRACE correctly\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4f7cdf18e14f81860b856ef7694ef58eb1a751c0",
      "tree": "ac10a661705b816cbee8702df34149db14b51cdc",
      "parents": [
        "e345e88a774875cec26e097ea3ff2dc40c4f9da2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:53:20 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:53:20 2009 -0500"
      },
      "message": "NFSv4: The state manager shouldn\u0027t exit on errors that were handled\n\nnfs4_recovery_handle_error() will correctly handle errors such as\nNFS4ERR_CB_PATH_DOWN, however because they are still passed back to the\nmain loop in nfs4_state_manager(), they can cause the latter to exit\nprematurely.\n\nFix this by letting nfs4_recovery_handle_error() change the error value in\ncases where there is no action required by the caller.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e345e88a774875cec26e097ea3ff2dc40c4f9da2",
      "tree": "b04a63d691c0250fdb50078f15e78e80ebe811e4",
      "parents": [
        "d18cc1fda25295416a2855d44c2936db01df9eec"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:52:41 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:52:41 2009 -0500"
      },
      "message": "NFSv4: Fix up the callers of nfs4_state_end_reclaim_reboot\n\nIn practice, we need to ensure that we call nfs4_state_end_reclaim_reboot\nin 2 cases:\n\n - If we lose the lease while we were reclaiming state\nOR\n - After we\u0027re done with reboot recovery\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d18cc1fda25295416a2855d44c2936db01df9eec",
      "tree": "962ec82ffff2fb49691779039c76976be7d964f0",
      "parents": [
        "d327cf7449e6fd5cbac784c641770e9366faa386"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 08:10:17 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 08:10:17 2009 -0500"
      },
      "message": "NFSv4: Fix a potential state manager deadlock when returning delegations\n\nThe nfsv4 state manager could potentially deadlock inside\n__nfs_inode_return_delegation() if the server reboots, so that the calls to\nnfs_msync_inode() end up waiting on state recovery to complete.\n\nAlso ensure that if a server reboot or network partition causes us to have\nto stop returning delegations, that NFS4CLNT_DELEGRETURN is set so that\nthe state manager can resume any outstanding delegation returns after it\nhas dealt with the state recovery situation.\n\nFinally, ensure that the state manager doesn\u0027t wait for the DELEGRETURN\ncall to complete. It doesn\u0027t need to, and that too can cause a deadlock.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d327cf7449e6fd5cbac784c641770e9366faa386",
      "tree": "3270b042c6346a86973fc9a7d89cbfff9493d75b",
      "parents": [
        "f0380f3d16df8f9e2fcd1d8c16fb0d94370bea99"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Dec 03 08:10:17 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 08:10:17 2009 -0500"
      },
      "message": "Re: acl trouble after upgrading ubuntu\n\nSubject: [PATCH] nfs: fix acl decoding\n\nCommit 28f566942c6b1d929f5e240e69e7081b77b238d3 \"NFS: use dynamically\ncomputed compound_hdr.replen for xdr_inline_pages offset\" accidentally\nchanged the amount of space to allow for the acl reply, resulting in an\nIO error on attempts to get an acl.\n\nReported-by: Paul Rudin \u003cpaul@rudin.co.uk\u003e\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f0380f3d16df8f9e2fcd1d8c16fb0d94370bea99",
      "tree": "447798d04462a3c45390a8840502c65330ffb5f9",
      "parents": [
        "feb8ca37cc3d83c07fd042509ef1e176cfeb2cfa"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 08:10:17 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 08:10:17 2009 -0500"
      },
      "message": "RPC: Fix two potential races in put_rpccred\n\nIt is possible for rpcauth_destroy_credcache() to cause the rpc credentials\nto be unhashed while put_rpccred is waiting for the rpc_credcache_lock on\nanother cpu. Should this happen, then we can end up calling\nhlist_del_rcu(\u0026cred-\u003ecr_hash) a second time in put_rpccred, thus causing\nlist corruption.\n\nShould the credential actually be hashed, it is also possible for\nrpcauth_lookup_credcache to find and reference it before we get round to\nunhashing it. In this case, the call to rpcauth_unhash_cred will fail, and\nso we should just exit without destroying the cred.\n\nReported-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "feb8ca37cc3d83c07fd042509ef1e176cfeb2cfa",
      "tree": "c4bb6f88ae5e303e1c316efe392b407196bf33ac",
      "parents": [
        "22763c5cf3690a681551162c15d34d935308c8d7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 08:10:17 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 08:10:17 2009 -0500"
      },
      "message": "SUNRPC: Ensure that we honour autoclose before attempting to reconnect\n\nIf the XPRT_CLOSE_WAIT flag is set, we need to ensure that we call\nxprt-\u003eops-\u003eclose() while holding xprt_lock_write() before we can\nstart reconnecting.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "96f287b0cf512ee537826943c15b0b8647472f70",
      "tree": "41ee4d27b988d3f2ba708c31451859e3c8ffca42",
      "parents": [
        "22763c5cf3690a681551162c15d34d935308c8d7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 08:09:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 08:09:56 2009 -0500"
      },
      "message": "NFS: BKL removal from the mount code...\n\nNone of the code in nfs_umount_begin() or nfs_remount() has any BKL\ndependency.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "22763c5cf3690a681551162c15d34d935308c8d7",
      "tree": "f571fbe8f635983c9ea21b73dcec53d7a68f2450",
      "parents": [
        "0fdd07f77fd9cc6a7d49076793daef06ea5d8f13"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 19:51:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 19:51:21 2009 -0800"
      },
      "message": "Linux 2.6.32\n"
    },
    {
      "commit": "0fdd07f77fd9cc6a7d49076793daef06ea5d8f13",
      "tree": "368db433db7c1927a3eddb8b746b4038172053c0",
      "parents": [
        "dbf763a2f1c117cfe45bbbd2c874a150f0e0900b"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sun Aug 09 11:42:32 2009 +0200"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Dec 02 23:58:32 2009 +0000"
      },
      "message": "VIDEO: Correct use of request_region/request_mem_region\n\nrequest_region should be used with release_region, not request_mem_region.\n\nGeert Uytterhoeven pointed out that in the case of drivers/video/gbefb.c,\nthe problem is actually the other way around; request_mem_region should be\nused instead of request_region.\n\nThe semantic patch that finds/fixes this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@r1@\nexpression start;\n@@\n\nrequest_region(start,...)\n\n@b1@\nexpression r1.start;\n@@\n\nrequest_mem_region(start,...)\n\n@depends on !b1@\nexpression r1.start;\nexpression E;\n@@\n\n- release_mem_region\n+ release_region\n  (start,E)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "dbf763a2f1c117cfe45bbbd2c874a150f0e0900b",
      "tree": "175d8b9c1848a0923150ef1bc4ef003a9a032d2c",
      "parents": [
        "56f3f55cf9b604b924353ab6fcdac5fee5637ae3"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Thu Sep 03 22:59:01 2009 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Dec 02 23:58:32 2009 +0000"
      },
      "message": "SPI: spi_txx9: Fix bit rate calculation\n\nTXx9 SPI bit rate is calculated by:\n        fBR \u003d (spi-baseclk) / (n + 1)\nFix calculation of min_speed_hz, max_speed_hz and n.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "56f3f55cf9b604b924353ab6fcdac5fee5637ae3",
      "tree": "b031bd5d9833a27cec1c551e487810cc2bcb33c8",
      "parents": [
        "049e2d13b8e8a6d8be43e675a5ed9d4613819f65",
        "7716977b6ae5a0cdd0afab5c6035c4d0ce53f599"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 15:41:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 15:41:49 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:\n  mfd: Correct WM831X_MAX_ISEL_VALUE\n"
    },
    {
      "commit": "049e2d13b8e8a6d8be43e675a5ed9d4613819f65",
      "tree": "f9af9e23e2ce616fa0da01f595c215a8ea7b6235",
      "parents": [
        "0a45281f8eb49df1bfe0138ffcc76708bdcac875"
      ],
      "author": {
        "name": "Anisse Astier",
        "email": "anisse@astier.eu",
        "time": "Tue Dec 01 01:14:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 15:41:33 2009 -0800"
      },
      "message": "Input: i8042 - add Dell Vostro 1320, 1520 and 1720 to the reset list\n\nThese laptops often leave i8042 in a wierd state resulting in non-\noperational touchpad and keyboard.\n\nSigned-off-by: Anisse Astier \u003canisse@astier.eu\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a45281f8eb49df1bfe0138ffcc76708bdcac875",
      "tree": "6d862e658721de55a4ad1f205c66ad3cf3832673",
      "parents": [
        "f066a4f6df68f03b565dfe867dde54dfeb26576e",
        "d0e260782c3702a009645c3caa02e381dab8798b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 15:40:37 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 15:40:37 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://neil.brown.name/md\n\n* \u0027for-linus\u0027 of git://neil.brown.name/md:\n  md: revert incorrect fix for read error handling in raid1.\n"
    },
    {
      "commit": "f066a4f6df68f03b565dfe867dde54dfeb26576e",
      "tree": "16ed85810334bef0f428dbfa52d595e60dacc381",
      "parents": [
        "86a7b7ef54650b99f7f638d6a6990fe7c0dfaaab"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 01 14:56:44 2009 +1030"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 15:40:07 2009 -0800"
      },
      "message": "param: don\u0027t complain about unused module parameters.\n\nJon confirms that recent modprobe will look in /proc/cmdline, so these\ncmdline options can still be used.\n\nSee http://bugzilla.kernel.org/show_bug.cgi?id\u003d14164\n\nReported-by: Adam Williamson \u003cawilliam@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "86a7b7ef54650b99f7f638d6a6990fe7c0dfaaab",
      "tree": "65e4bd2c4995f7a3e4f97f57c937220fbb4404c4",
      "parents": [
        "bbbb45a02ba1c4dcec2fe2b5531750d6616765b9",
        "4e7c81af3fa076e2d1534cc665ea2f623e631f5d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 15:39:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 15:39:20 2009 -0800"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus:\n  MIPS: RB532: Fix devices.c compilation.\n  MIPS: Fix MIPS I build.\n"
    },
    {
      "commit": "bbbb45a02ba1c4dcec2fe2b5531750d6616765b9",
      "tree": "cdc0f8fc2f27608f7c32d1069baeeae2b13432f1",
      "parents": [
        "35dead4235e2b67da7275b4122fed37099c2f462",
        "810a90ae4d2a9f6d9ff80424accbd6f91947e981"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 15:38:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 15:38:49 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:\n  [PATCH] rc32434_wdt: fix compilation failure\n  [WATCHDOG] rc32434_wdt.c: use resource_size()\n"
    },
    {
      "commit": "35dead4235e2b67da7275b4122fed37099c2f462",
      "tree": "643b8e561025e5f49b17e3a74ee4d7812123aecd",
      "parents": [
        "ebd65a5855a1ddb21706e630c9ba1b9e80c767f7"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Thu Dec 03 00:29:15 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 15:38:25 2009 -0800"
      },
      "message": "modules: don\u0027t export section names of empty sections via sysfs\n\nOn the parisc architecture we face for each and every loaded kernel module\nthis kernel \"badness warning\":\n  sysfs: cannot create duplicate filename \u0027/module/ac97_bus/sections/.text\u0027\n  Badness at fs/sysfs/dir.c:487\n\nReason for that is, that on parisc all kernel modules do have multiple\n.text sections due to the usage of the -ffunction-sections compiler flag\nwhich is needed to reach all jump targets on this platform.\n\nAn objdump on such a kernel module gives:\nSections:\nIdx Name          Size      VMA       LMA       File off  Algn\n  0 .note.gnu.build-id 00000024  00000000  00000000  00000034  2**2\n                  CONTENTS, ALLOC, LOAD, READONLY, DATA\n  1 .text         00000000  00000000  00000000  00000058  2**0\n                  CONTENTS, ALLOC, LOAD, READONLY, CODE\n  2 .text.ac97_bus_match 0000001c  00000000  00000000  00000058  2**2\n                  CONTENTS, ALLOC, LOAD, READONLY, CODE\n  3 .text         00000000  00000000  00000000  000000d4  2**0\n                  CONTENTS, ALLOC, LOAD, READONLY, CODE\n...\nSince the .text sections are empty (size of 0 bytes) and won\u0027t be\nloaded by the kernel module loader anyway, I don\u0027t see a reason\nwhy such sections need to be listed under\n/sys/module/\u003cmodule_name\u003e/sections/\u003csection_name\u003e either.\n\nThe attached patch does solve this issue by not exporting section\nnames which are empty.\n\nThis fixes bugzilla http://bugzilla.kernel.org/show_bug.cgi?id\u003d14703\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\nCC: rusty@rustcorp.com.au\nCC: akpm@linux-foundation.org\nCC: James.Bottomley@HansenPartnership.com\nCC: roland@redhat.com\nCC: dave@hiauly1.hia.nrc.ca\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ebd65a5855a1ddb21706e630c9ba1b9e80c767f7",
      "tree": "605ae14abc99f287dccf0e0fd210dac1f7fdb0b7",
      "parents": [
        "6f9a76198f50c4dfe36c5be4081b72872cd644fe",
        "e8092da92e1fd38dc7c38a4eeae93eaa21764584"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 12:44:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 12:44:42 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6:\n  regulator: Initialise wm831x structure pointor for ISINK driver\n"
    },
    {
      "commit": "e8092da92e1fd38dc7c38a4eeae93eaa21764584",
      "tree": "659595a45e74ed41493e0aacdd6a06010fbefd15",
      "parents": [
        "2127816366e0ffbc1426fa69e7b9b2bebd2e2288"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Nov 30 14:01:56 2009 +0000"
      },
      "committer": {
        "name": "Liam Girdwood",
        "email": "lrg@slimlogic.co.uk",
        "time": "Wed Dec 02 19:37:16 2009 +0000"
      },
      "message": "regulator: Initialise wm831x structure pointor for ISINK driver\n\nThe version that made it into mainline missed the initialisation of the\nchip handle.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "4e7c81af3fa076e2d1534cc665ea2f623e631f5d",
      "tree": "cf3f49dba5dad79b63e6a3df9b1aa280b65ed4fc",
      "parents": [
        "a91be9ee69b09cdaa02afd5d7056bc2e6d382cfe"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian@openwrt.org",
        "time": "Wed Dec 02 13:07:01 2009 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Dec 02 18:09:51 2009 +0000"
      },
      "message": "MIPS: RB532: Fix devices.c compilation.\n\nWe should now use dev_set_drvdata to set the driver driver_data field.\n\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nPatchwork: http://patchwork.linux-mips.org/patch/747/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "a91be9ee69b09cdaa02afd5d7056bc2e6d382cfe",
      "tree": "bd7edd41d67bb35c4339a62689df18744430c845",
      "parents": [
        "2127816366e0ffbc1426fa69e7b9b2bebd2e2288"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Dec 02 11:33:03 2009 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Dec 02 18:09:51 2009 +0000"
      },
      "message": "MIPS: Fix MIPS I build.\n\nBroken by d63c63e889bbeeaa461a8addf1245f89f3ce4ece (lmo) rsp.\nf1e39a4a616cd9981a9decfd5332fd07a01abb8b (kernel.org).\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nPatchwork: http://patchwork.linux-mips.org/patch/746/\n"
    },
    {
      "commit": "6f9a76198f50c4dfe36c5be4081b72872cd644fe",
      "tree": "07da6f48279992bfa4af4cf54c10de6b11d084e7",
      "parents": [
        "e9438e3193a0d1430b70fafe46855c1a56202f7c",
        "5d6b1edf8ccc4b7e4e77dff3fc80882833d6186e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 08:21:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 08:21:58 2009 -0800"
      },
      "message": "Merge branch \u0027fix\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6\n\n* \u0027fix\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6:\n  [ARM] pxamci: call mmc_remove_host() before freeing resources\n"
    },
    {
      "commit": "5d6b1edf8ccc4b7e4e77dff3fc80882833d6186e",
      "tree": "1386880e1cc93164563fc3fba149656c37e27857",
      "parents": [
        "81065518eda14ebbce1b48c98d5077b0a059d4a3"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Tue Dec 01 18:17:18 2009 +0100"
      },
      "committer": {
        "name": "Eric Miao",
        "email": "eric.y.miao@gmail.com",
        "time": "Wed Dec 02 22:58:19 2009 +0800"
      },
      "message": "[ARM] pxamci: call mmc_remove_host() before freeing resources\n\nmmc_remove_host() will cause the mmc core to switch off the bus power by\neventually calling pxamci_set_ios(). This function uses the regulator or\nthe GPIO which have been freed already.\n\nThis causes the following Oops on module unload.\n\n[   49.519649] Unable to handle kernel paging request at virtual address 30303a70\n[   49.526878] pgd \u003d c7084000\n[   49.529563] [30303a70] *pgd\u003d00000000\n[   49.533136] Internal error: Oops: 5 [#1]\n[   49.537025] last sysfs file: /sys/devices/platform/pxa27x-ohci/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/scsi_level\n[   49.547471] Modules linked in: pxamci(-) eeti_ts\n[   49.552061] CPU: 0    Not tainted  (2.6.32-rc8 #322)\n[   49.557001] PC is at regulator_is_enabled+0x3c/0xbc\n[   49.561846] LR is at regulator_is_enabled+0x30/0xbc\n[   49.566691] pc : [\u003cc01a2448\u003e]    lr : [\u003cc01a243c\u003e]    psr: 60000013\n[   49.566702] sp : c7083e70  ip : 30303a30  fp : 00000000\n[   49.578093] r10: c705e200  r9 : c7082000  r8 : c705e2e0\n[   49.583280] r7 : c7061340  r6 : c7061340  r5 : c7083e70  r4 : 00000000\n[   49.589759] r3 : c04dc434  r2 : c04dc434  r1 : c03eecea  r0 : 00000047\n[   49.596241] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user\n[   49.603329] Control: 0000397f  Table: a7084018  DAC: 00000015\n[   49.609031] Process rmmod (pid: 1101, stack limit \u003d 0xc7082278)\n[   49.614908] Stack: (0xc7083e70 to 0xc7084000)\n[   49.619238] 3e60:                                     c7082000 c703c4f8 c705ea00 c04f4074\n[   49.627366] 3e80: 00000000 c705e3a0 ffffffff c0247ddc c70361a0 00000000 c705e3a0 ffffffff\n[   49.635499] 3ea0: c705e200 bf006400 c78c4f00 c705e200 c705e3a0 ffffffff c705e200 ffffffff\n[   49.643633] 3ec0: c04d8ac8 c02476d0 ffffffff c0247c60 c705e200 c0248678 c705e200 c0249064\n[   49.651765] 3ee0: ffffffff bf006204 c04d8ad0 c04d8ad0 c04d8ac8 bf007490 00000880 c00440c4\n[   49.659898] 3f00: 0000b748 c01c5708 bf007490 c01c44c8 c04d8ac8 c04d8afc bf007490 c01c4570\n[   49.668031] 3f20: bf007490 bf00750c c04f4258 c01c37a4 00000000 bf00750c c7083f44 c007b014\n[   49.676162] 3f40: 4000d000 6d617870 08006963 00000001 00000000 c7085000 00000001 00000000\n[   49.684287] 3f60: 4000d000 c7083f8c 00000001 bea01a54 00005401 c7ab1400 c00440c4 00082000\n[   49.692420] 3f80: bf00750c 00000880 c7083f8c 00000000 4000cfa8 00000000 00000880 bea01cc8\n[   49.700552] 3fa0: 00000081 c0043f40 00000000 00000880 bea01cc8 00000880 00000006 00000000\n[   49.708677] 3fc0: 00000000 00000880 bea01cc8 00000081 00000097 0000cca4 0000b748 00000000\n[   49.716802] 3fe0: 4001a4f0 bea01cc0 00018bf4 4001a4fc 20000010 bea01cc8 a063e021 a063e421\n[   49.724958] [\u003cc01a2448\u003e] (regulator_is_enabled+0x3c/0xbc) from [\u003cc0247ddc\u003e] (mmc_regulator_set_ocr+0x14/0xd8)\n[   49.734836] [\u003cc0247ddc\u003e] (mmc_regulator_set_ocr+0x14/0xd8) from [\u003cbf006400\u003e] (pxamci_set_ios+0xd8/0x17c [pxamci])\n[   49.745044] [\u003cbf006400\u003e] (pxamci_set_ios+0xd8/0x17c [pxamci]) from [\u003cc02476d0\u003e] (mmc_power_off+0x50/0x58)\n[   49.754555] [\u003cc02476d0\u003e] (mmc_power_off+0x50/0x58) from [\u003cc0247c60\u003e] (mmc_detach_bus+0x68/0xc4)\n[   49.763207] [\u003cc0247c60\u003e] (mmc_detach_bus+0x68/0xc4) from [\u003cc0248678\u003e] (mmc_stop_host+0xd4/0x1bc)\n[   49.771944] [\u003cc0248678\u003e] (mmc_stop_host+0xd4/0x1bc) from [\u003cc0249064\u003e] (mmc_remove_host+0xc/0x20)\n[   49.780681] [\u003cc0249064\u003e] (mmc_remove_host+0xc/0x20) from [\u003cbf006204\u003e] (pxamci_remove+0xc8/0x174 [pxamci])\n[   49.790211] [\u003cbf006204\u003e] (pxamci_remove+0xc8/0x174 [pxamci]) from [\u003cc01c5708\u003e] (platform_drv_remove+0x1c/0x24)\n[   49.800164] [\u003cc01c5708\u003e] (platform_drv_remove+0x1c/0x24) from [\u003cc01c44c8\u003e] (__device_release_driver+0x7c/0xc4)\n[   49.810110] [\u003cc01c44c8\u003e] (__device_release_driver+0x7c/0xc4) from [\u003cc01c4570\u003e] (driver_detach+0x60/0x8c)\n[   49.819535] [\u003cc01c4570\u003e] (driver_detach+0x60/0x8c) from [\u003cc01c37a4\u003e] (bus_remove_driver+0x90/0xcc)\n[   49.828452] [\u003cc01c37a4\u003e] (bus_remove_driver+0x90/0xcc) from [\u003cc007b014\u003e] (sys_delete_module+0x1d8/0x254)\n[   49.837891] [\u003cc007b014\u003e] (sys_delete_module+0x1d8/0x254) from [\u003cc0043f40\u003e] (ret_fast_syscall+0x0/0x28)\n[   49.847145] Code: eb06c53a e596c030 e1a0500d e59f106c (e59c0040)\n[   49.853566] ---[ end trace b5fa66a00cea142f ]---\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nReported-by: Sven Neumann \u003cs.neumann@raumfeld.com\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: linux-mmc@vger.kernel.org\nCc: linux-arm-kernel@lists.infradead.org\nCc: stable@kernel.org\nSigned-off-by: Eric Miao \u003ceric.y.miao@gmail.com\u003e\n"
    },
    {
      "commit": "810a90ae4d2a9f6d9ff80424accbd6f91947e981",
      "tree": "2ac955ea549f9b41d601341e68e0c7bc98f830b8",
      "parents": [
        "be088b139f5244b23ee931afb195eee236b7ff33"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian@openwrt.org",
        "time": "Wed Dec 02 13:21:23 2009 +0100"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Wed Dec 02 12:47:24 2009 +0000"
      },
      "message": "[PATCH] rc32434_wdt: fix compilation failure\n\nThis patch fixes the compilation failure of\nrc32434 due to a bad module parameter description.\n\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\n\n"
    },
    {
      "commit": "be088b139f5244b23ee931afb195eee236b7ff33",
      "tree": "cc34038f63fb0acf2b6ee495e6228bff14ed04a3",
      "parents": [
        "2127816366e0ffbc1426fa69e7b9b2bebd2e2288"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Tue Nov 24 21:06:26 2009 -0500"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Wed Dec 02 10:10:27 2009 +0000"
      },
      "message": "[WATCHDOG] rc32434_wdt.c: use resource_size()\n\nThe size value passed to ioremap_nocache() is not correct.\nUse resource_size() to get the correct value.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: Phil Sutter \u003cn0-1@freewrt.org\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\n\n"
    },
    {
      "commit": "e9438e3193a0d1430b70fafe46855c1a56202f7c",
      "tree": "d383814df14a69c71b5712f74a466eb37b46ed5b",
      "parents": [
        "cb8799eeddd542abd504c62c11014dfbaec7f3a1"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Dec 01 13:17:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 16:32:20 2009 -0800"
      },
      "message": "sysfs: fix SYSFS_DEPRECATED_V2 prompt\n\nThe SYSFS_DEPRECATED_V2 says \"remove\" older, deprecated features, but it\nactually enables them, so correct this confusing, backwards text.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb8799eeddd542abd504c62c11014dfbaec7f3a1",
      "tree": "0b7840419fd006bb6f61dbcbe412f5af0ab60b51",
      "parents": [
        "48a7f7746875425797aea31ed2910088635c1c7a"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jw@emlix.com",
        "time": "Tue Dec 01 13:17:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 16:32:20 2009 -0800"
      },
      "message": "rtc-x1205: reset clock to sane state after power failure\n\nWhen detecting power failure, the probe function would reset the clock\ntime to defined state.\n\nHowever, the clock\u0027s _date_ might still be bogus and a subsequent probe\nfails when sanity-checking these values.\n\nChange the power-failure fixup code to do a full setting of rtc_time,\nincluding a valid date.\n\nSigned-off-by: Johannes Weiner \u003cjw@emlix.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Paul Gortmaker \u003cp_gortmaker@yahoo.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48a7f7746875425797aea31ed2910088635c1c7a",
      "tree": "a73c35a8b24550ca9d120eab98b45d71bb06eafe",
      "parents": [
        "0a1f127a0594d62cb23c26732686d0e2b097b264"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jw@emlix.com",
        "time": "Tue Dec 01 13:17:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 16:32:20 2009 -0800"
      },
      "message": "rtc-x1205: fix rtc_time to y2k register value conversion\n\nThe possible CCR_Y2K register values are 19 or 20 and struct rtc_time\u0027s\ntm_year is in years since 1900.\n\nThe function translating rtc_time to register values assumes tm_year to be\nyears since first christmas, though, and we end up storing 0 or 1 in the\nCCR_Y2K register, which the hardware does not refuse to do.\n\nA subsequent probing of the clock fails due to the invalid value range in\nthe register, though.\n\n[ And if it didn\u0027t, reading the clock would yield a bogus year because\n  the function translating registers to tm_year is assuming a register\n  value of 19 or 20. ]\n\nThis fixes the conversion from years since 1900 in tm_year to the\ncorresponding CCR_Y2K value of 19 or 20.\n\nSigned-off-by: Johannes Weiner \u003cjw@emlix.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Paul Gortmaker \u003cp_gortmaker@yahoo.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a1f127a0594d62cb23c26732686d0e2b097b264",
      "tree": "117efe6cf0cd6c090d5832dc9dfb117c77a3fa8b",
      "parents": [
        "ca0297015d4f117005718e01aa368875abcccbc5"
      ],
      "author": {
        "name": "Peter Horton",
        "email": "phorton@bitbox.co.uk",
        "time": "Tue Dec 01 13:17:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 16:32:20 2009 -0800"
      },
      "message": "aoe: prevent cache aliases\n\nPrevent the AoE block driver from creating cache aliases of page cache\npages on machines with virtually indexed caches.\n\nBuilding kernels on an AT91SAM9G20 board without this patch fails with\nsegmentation faults after a couple of passes.\n\nSigned-off-by: Peter Horton \u003czero@colonel-panic.org\u003e\nCc: \"Ed L. Cashin\" \u003cecashin@coraid.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca0297015d4f117005718e01aa368875abcccbc5",
      "tree": "8a2702f6b45851eaaa3ddc41f5588e89c1524025",
      "parents": [
        "974348435c6d7b65fd6d8857b4809b0ff208d323"
      ],
      "author": {
        "name": "Alek Du",
        "email": "alek.du@intel.com",
        "time": "Tue Dec 01 13:17:45 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 16:32:19 2009 -0800"
      },
      "message": "gpio: Langwell GPIO driver bugfixes\n\n- Remove wrong and unnecessary unmask operation\n\n- Remove extra GEDR reading\n\nThis fixes the loss of interrupts which occurs when two or more pins are\ntriggered in close succession.\n\nSigned-off-by: Alek Du \u003calek.du@intel.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "974348435c6d7b65fd6d8857b4809b0ff208d323",
      "tree": "468da1ea91d5547d6a3afeb09626a5f598d61d8a",
      "parents": [
        "3510b8f7f53bf0ded13888724734bba87d22ecc3"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Tue Dec 01 13:17:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 16:32:19 2009 -0800"
      },
      "message": "kbuild: stepping down as maintainer\n\nIt has been fun but the last year or more it has been a duty and a burden.\nSo I leave it open for others to take over.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Anibal Monsalve Salazar \u003canibal@debian.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Michal Marek \u003cmmarek@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3510b8f7f53bf0ded13888724734bba87d22ecc3",
      "tree": "0a4680d44c9867a1124bc6939170c7ae54d1aa2d",
      "parents": [
        "fa00e106eb6f082654d822a0946c0c86297ede2c"
      ],
      "author": {
        "name": "Sudhakar Rajashekhara",
        "email": "sudhakar.raj@ti.com",
        "time": "Tue Dec 01 13:17:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 16:32:19 2009 -0800"
      },
      "message": "davinci: fb: fix frame buffer driver issues\n\nFollowing issues have been addressed on DA8XX/OMAP-L1XX:\n\na. Screen misalignment during booting when frame buffer console is\n   enabled.\n\nb. Driver was configured always in PSEUDOCOLOR mode.  This patch\n   dynamically configures the driver either in PSEUDOCOLOUR or TRUECOLOR\n   mode depending on bpp.\n\nc. The RED and BLUE offsets were interchanged resulting in wrong\n   bootup logo colour.\n\nThis patch has been tested on DA830/OMAP-L137 and DA850/OMAP-L138 EVMs.\n\nSigned-off-by: Sudhakar Rajashekhara \u003csudhakar.raj@ti.com\u003e\nCc: Steve Chen \u003cschen@mvista.com\u003e\nCc: Pavel Kiryukhin \u003cpkiryukhin@ru.mvista.com\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa00e106eb6f082654d822a0946c0c86297ede2c",
      "tree": "f176cc90a568182419de69c555c25f9c2459a188",
      "parents": [
        "4c4cb1b1605e50983afd7924980c9434b214599f"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Tue Dec 01 13:17:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 16:32:19 2009 -0800"
      },
      "message": "drivers/rtc/rtc-pcf50633.c: fix use after free in pcf50633_rtc_probe()\n\n\"rtc\" is freed and then dereferenced on the next line.  This patch fixes\nthat.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Paul Gortmaker \u003cp_gortmaker@yahoo.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c4cb1b1605e50983afd7924980c9434b214599f",
      "tree": "dfdcedbc81e709fa2296ac48f36230d61bb14017",
      "parents": [
        "2127816366e0ffbc1426fa69e7b9b2bebd2e2288"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Dec 01 13:17:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 16:32:19 2009 -0800"
      },
      "message": "drivers/media/dvb/dvb-core/dvb_frontend.c: needs semaphore.h\n\nFixes:\n\n  v4l/dvb_frontend.c: In function \u0027dvb_frontend_stop\u0027:\n  v4l/dvb_frontend.c:707: error: implicit declaration of function \u0027init_MUTEX\u0027\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d14609\n\nReported-by: \u003ctstrelar@gmail.com\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2127816366e0ffbc1426fa69e7b9b2bebd2e2288",
      "tree": "51e8f498aa05d57ca8fec01347d89c6c44c5565e",
      "parents": [
        "e272a186435e747b25b01afb38d172853219fbda",
        "fb08808ca252a76519d3b17fc3b6cfc6b2806e55"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 10:41:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 10:41:40 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: update TODO files\n  Staging: hv: Fix some missing author names\n  Staging: hv: Fix vmbus event handler bug\n  Staging: hv: Fix argument order in incorrect memset invocations in hyperv driver.\n"
    },
    {
      "commit": "e272a186435e747b25b01afb38d172853219fbda",
      "tree": "e7344dd9370bdf2e76a92f235ebc80792f77c620",
      "parents": [
        "e8ed34ced175f2670f86c0bebc41af1628952b92",
        "0ec8648379334f1e127ebd5e57a625890f116824"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 10:41:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 10:41:05 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:\n  USB: Add support for Mobilcom Debitel USB UMTS Surf-Stick to option driver\n  USB: work around for EHCI with quirky periodic schedules\n  USB: musb: Fix CPPI IRQs not being signaled\n  USB: musb: respect usb_request-\u003ezero in control requests\n  USB: musb: fix ISOC Tx programming for CPPI DMAs\n  USB: musb: Remove unwanted message in boot log\n  usb: amd5536udc: fixed shared interrupt bug and warning oops\n  USB: ftdi_sio: Keep going when write errors are encountered.\n  USB: musb_gadget: fix STALL handling\n  USB: EHCI: don\u0027t send Clear-TT-Buffer following a STALL\n"
    },
    {
      "commit": "e8ed34ced175f2670f86c0bebc41af1628952b92",
      "tree": "fa4ec15fa5a0440eb4e32c83da4ac66dd43f64c4",
      "parents": [
        "0d9ccfe1b5321b8d27117817b9ae4d3288c8b015",
        "16173c7c2d79da7eb89b41acfdebd74b130f4339"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 10:40:51 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 10:40:51 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:\n  tty/of_serial: add missing ns16550a id\n  bcm63xx_uart: Fix serial driver compile breakage.\n  tty_port: handle the nonblocking open of a dead port corner case\n"
    },
    {
      "commit": "0d9ccfe1b5321b8d27117817b9ae4d3288c8b015",
      "tree": "0fb1cd938d72785e7df7a29a2025771c7784e496",
      "parents": [
        "f13a48bd798a159291ca583b95453171b88b7448",
        "f133f22dd6f413bdf71ebf7e00ce441d98ac7c87"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 08:26:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 08:26:44 2009 -0800"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus:\n  MIPS: Loongson: Switch from flatmem to sparsemem\n  MIPS: Loongson: Disallow 4kB pages\n  MIPS: Add missing definition for MADV_HWPOISON.\n  MIPS: Fix build error if __xchg() is not getting inlined.\n  MIPS: IP22/IP28 Disable early printk to fix boot problems on some systems.\n"
    },
    {
      "commit": "f133f22dd6f413bdf71ebf7e00ce441d98ac7c87",
      "tree": "ae2599f3d1b8a29865bad54a628f59776307e0a7",
      "parents": [
        "315fe625f878749a7d2b6b65a40c29bbbe6e1dc7"
      ],
      "author": {
        "name": "Wu Zhangjin",
        "email": "wuzhangjin@gmail.com",
        "time": "Tue Dec 01 14:55:42 2009 +0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Dec 01 16:21:26 2009 +0000"
      },
      "message": "MIPS: Loongson: Switch from flatmem to sparsemem\n\nWith flatmem hibernation for Loongson will fail, and there are also some\nother problems such as broken files when using NFS or CIFS / Samba.\n\nThe config help of sparsemem says:\n\n\"This option provides some potential performance benefits, along with\ndecreased code complexity.\"\n\nSo to avoid the potential problems of FLATMEM, we disable FLATMEM directly\nand use SPARSEMEM instead.\n\nRelated email thread:\n\nhttp://groups.google.com/group/loongson-dev/browse_thread/thread/b6b65890ec2b0f24/feb43e5aa7f55d9b?show_docid\u003dfeb43e5aa7f55d9b\n\nReported-by: Tatu Kilappa \u003ctatu.kilappa@gmail.com\u003e\nSigned-off-by: Wu Zhangjin \u003cwuzhangjin@gmail.com\u003e\nPatchwork: http://patchwork.linux-mips.org/patch/737/\nCc: linux-mips@linux-mips.org\nCc: zhangfx@lemote.com\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "315fe625f878749a7d2b6b65a40c29bbbe6e1dc7",
      "tree": "f3bf789a101752e9075c8d21623cd07ef5c76f48",
      "parents": [
        "e1eb3a983befdb422e1aae299bdab573d04929f6"
      ],
      "author": {
        "name": "Wu Zhangjin",
        "email": "wuzhangjin@gmail.com",
        "time": "Tue Dec 01 14:55:25 2009 +0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Dec 01 16:21:26 2009 +0000"
      },
      "message": "MIPS: Loongson: Disallow 4kB pages\n\nCurrently, with PAGE_SIZE_4KB, the kernel for loongson will hang on:\n\nKernel panic - not syncing: Attempted to kill init!\n\nThe possible reason is the cache aliases problem:\n\nLoongson 2F has 64kb, 4 way L1 Cache, the way size is 16kb, which is bigger\nthen 4kb. so, If using 4kb page size, there is cache aliases problem.\nTo avoid this kind of problem, extra cache flushing.  The 2nd possible\nsolution is 16kb page size which avoids cache aliases without the need for\nextra cache flushes.  So we disable 4kB pages until the aliasing issue is\nsolved.\n\nSigned-off-by: Wu Zhangjin \u003cwuzhangjin@gmail.com\u003e\nPatchwork: http://patchwork.linux-mips.org/patch/736/\nCc: linux-mips@linux-mips.org\nCc: zhangfx@lemote.com\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "e1eb3a983befdb422e1aae299bdab573d04929f6",
      "tree": "cf48af2d566d7bb46ebda7090370a931ca2f7def",
      "parents": [
        "c677189af9faa3f26fae0fcb7ac59f477048b89a"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Nov 26 18:28:42 2009 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Dec 01 16:21:25 2009 +0000"
      },
      "message": "MIPS: Add missing definition for MADV_HWPOISON.\n\nThanks to Joseph S. Myers for reporting this.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: \"Joseph S. Myers\" \u003cjoseph@codesourcery.com\u003e\nPatchwork: http://patchwork.linux-mips.org/patch/723/\n"
    },
    {
      "commit": "c677189af9faa3f26fae0fcb7ac59f477048b89a",
      "tree": "617d481b1c46c6a0ccdb4404ba84b25657b3128a",
      "parents": [
        "2b5e63f6b8f6566161a261a9face1de433d6608e"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Nov 24 13:16:02 2009 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Dec 01 16:21:25 2009 +0000"
      },
      "message": "MIPS: Fix build error if __xchg() is not getting inlined.\n\nIf __xchg() is not getting inlined the outline version of the function\nwill have a reference to __xchg_called_with_bad_pointer() which does not\nexist remaining.  Fixed by using BUILD_BUG_ON() to check for allowable\noperand sizes.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nPatchwork: http://patchwork.linux-mips.org/patch/705/\n"
    },
    {
      "commit": "2b5e63f6b8f6566161a261a9face1de433d6608e",
      "tree": "3005496a80d3b23d9c201bfcb84f90191d111eee",
      "parents": [
        "29e553631b2a0d4eebd23db630572e1027a9967a"
      ],
      "author": {
        "name": "Martin Michlmayr",
        "email": "tbm@cyrius.com",
        "time": "Thu Nov 19 16:40:09 2009 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Dec 01 16:21:25 2009 +0000"
      },
      "message": "MIPS: IP22/IP28 Disable early printk to fix boot problems on some systems.\n\nSome Debian users have reported that the kernel hangs early during boot on\nsome IP22 systems.  Thomas Bogendoerfer found that this is due to a \"bad\ninteraction between CONFIG_EARLY_PRINTK and overwritten prom memory during\nearly boot\".  Since there\u0027s no fix yet, disable CONFIG_EARLY_PRINTK for now.\n\nSigned-off-by: Martin Michlmayr \u003ctbm@cyrius.com\u003e\nCc: linux-mips@linux-mips.org\nCc: Thomas Bogendoerfer \u003ctsbogend@alpha.franken.de\u003e\nCc: Dmitri Vorobiev \u003cdmitri.vorobiev@gmail.com\u003e\nPatchwork: http://patchwork.linux-mips.org/patch/702/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "f13a48bd798a159291ca583b95453171b88b7448",
      "tree": "a644293386e30ed5ab297e5943e57658e1d11e6a",
      "parents": [
        "df87f8c06c7f562ef9d93b9d674eebf2ffb96f6a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 01 15:36:11 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 08:20:31 2009 -0800"
      },
      "message": "SLOW_WORK: Move slow_work\u0027s proc file to debugfs\n\nMove slow_work\u0027s debugging proc file to debugfs.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nRequested-and-acked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df87f8c06c7f562ef9d93b9d674eebf2ffb96f6a",
      "tree": "3a08bcba2f61bb4ffaac8dc1127ec6c5815e0563",
      "parents": [
        "3350b2acdd39d23db52710045536b943fe38a35c",
        "8ab1221c20255f35d85664a046549bc6135122c2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 07:36:23 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 07:36:23 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6:\n  alpha: Fixup last users of irq_chip-\u003etypename\n  Alpha: Rearrange thread info flags fixing two regressions\n  arch/alpha/kernel: Add kmalloc NULL tests\n  arch/alpha/kernel/sys_ruffian.c: Use DIV_ROUND_CLOSEST\n"
    },
    {
      "commit": "3350b2acdd39d23db52710045536b943fe38a35c",
      "tree": "cafa0bd2883411209fd99aeddb92550802510298",
      "parents": [
        "fa1dae4906982b5d896c07613b1fe42456133b1c"
      ],
      "author": {
        "name": "Marc Dionne",
        "email": "marc.c.dionne@gmail.com",
        "time": "Tue Dec 01 14:09:24 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 07:35:11 2009 -0800"
      },
      "message": "CacheFiles: Update IMA counters when using dentry_open\n\nWhen IMA is active, using dentry_open without updating the\nIMA counters will result in free/open imbalance errors when\nfput is eventually called.\n\nSigned-off-by: Marc Dionne \u003cmarc.c.dionne@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa1dae4906982b5d896c07613b1fe42456133b1c",
      "tree": "027dec5baeedbe25a7b645311b530a06d78b36f3",
      "parents": [
        "6f054164322bc6c1233402b9ed6b40d4af39a98f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 01 13:52:08 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 07:35:11 2009 -0800"
      },
      "message": "SLOW_WORK: Fix the CONFIG_MODULES\u003dn case\n\nCommits 3d7a641 (\"SLOW_WORK: Wait for outstanding work items belonging to a\nmodule to clear\") introduced some code to make sure that all of a module\u0027s\nslow-work items were complete before that module was removed, and commit\n3bde31a (\"SLOW_WORK: Allow a requeueable work item to sleep till the thread is\nneeded\") further extended that, breaking it in the process if CONFIG_MODULES\u003dn:\n\n    CC      kernel/slow-work.o\n  kernel/slow-work.c: In function \u0027slow_work_execute\u0027:\n  kernel/slow-work.c:313: error: \u0027slow_work_thread_processing\u0027 undeclared (first use in this function)\n  kernel/slow-work.c:313: error: (Each undeclared identifier is reported only once\n  kernel/slow-work.c:313: error: for each function it appears in.)\n  kernel/slow-work.c: In function \u0027slow_work_wait_for_items\u0027:\n  kernel/slow-work.c:950: error: \u0027slow_work_unreg_sync_lock\u0027 undeclared (first use in this function)\n  kernel/slow-work.c:951: error: \u0027slow_work_unreg_wq\u0027 undeclared (first use in this function)\n  kernel/slow-work.c:961: error: \u0027slow_work_unreg_work_item\u0027 undeclared (first use in this function)\n  kernel/slow-work.c:974: error: \u0027slow_work_unreg_module\u0027 undeclared (first use in this function)\n  kernel/slow-work.c:977: error: \u0027slow_work_thread_processing\u0027 undeclared (first use in this function)\n  make[1]: *** [kernel/slow-work.o] Error 1\n\nFix this by:\n\n (1) Extracting the bits of slow_work_execute() that are contingent on\n     CONFIG_MODULES, and the bits that should be, into inline functions and\n     placing them into the #ifdef\u0027d section that defines the relevant variables\n     and adding stubs for moduleless kernels.  This allows the removal of some\n     #ifdefs.\n\n (2) #ifdef\u0027ing out the contents of slow_work_wait_for_items() in moduleless\n     kernels.\n\nThe four functions related to handling module unloading synchronisation (and\ntheir associated variables) could be offloaded into a separate .c file, but\neach function is only used once and three of them are tiny, so doing so would\nprevent them from being inlined.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f054164322bc6c1233402b9ed6b40d4af39a98f",
      "tree": "8bf63b1220db094a6865ff5254a3c55781e89b38",
      "parents": [
        "29e553631b2a0d4eebd23db630572e1027a9967a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 01 13:38:45 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 07:35:11 2009 -0800"
      },
      "message": "9p: fix build breakage introduced by FS-Cache\n\nWhile building 2.6.32-rc8-git2 for Fedora I noticed the following thinko\nin commit 201a15428bd54f83eccec8b7c64a04b8f9431204 (\"FS-Cache: Handle\npages pending storage that get evicted under OOM conditions\"):\n\n  fs/9p/cache.c: In function \u0027__v9fs_fscache_release_page\u0027:\n  fs/9p/cache.c:346: error: \u0027vnode\u0027 undeclared (first use in this function)\n  fs/9p/cache.c:346: error: (Each undeclared identifier is reported only once\n  fs/9p/cache.c:346: error: for each function it appears in.)\n  make[2]: *** [fs/9p/cache.o] Error 1\n\nFix the 9P filesystem to correctly construct the argument to\nfscache_maybe_release_page().\n\nSigned-off-by: Kyle McMartin \u003ckyle@redhat.com\u003e\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e [from identical patch]\nSigned-off-by: Stefan Lippers-Hollmann \u003cs.l-h@gmx.de\u003e [from identical patch]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7716977b6ae5a0cdd0afab5c6035c4d0ce53f599",
      "tree": "9534843e6f393dba12bb843e1d846dc19d5349b1",
      "parents": [
        "29e553631b2a0d4eebd23db630572e1027a9967a"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Nov 30 13:24:18 2009 +0000"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Tue Dec 01 11:24:19 2009 +0100"
      },
      "message": "mfd: Correct WM831X_MAX_ISEL_VALUE\n\nThere was confusion between the array size and the highest ISEL\nvalue possible.\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "d0e260782c3702a009645c3caa02e381dab8798b",
      "tree": "588f7776216df124d9372c7ced833b0bfb6d0a7f",
      "parents": [
        "a9366e61b03f55a6e009e687ad10e706714c9907"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Dec 01 17:30:59 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Dec 01 17:30:59 2009 +1100"
      },
      "message": "md: revert incorrect fix for read error handling in raid1.\n\ncommit 4706b349f was a forward port of a fix that was needed\nfor SLES10.  But in fact it is not needed in mainline because\nthe earlier commit dd00a99e7a fixes the same problem in a\nbetter way.\nFurther, this commit introduces a bug in the way it interacts with\nthe automatic read-error-correction.  If, after a read error is\nsuccessfully corrected, the same disk is chosen to re-read - the\nre-read won\u0027t be attempted but an error will be returned instead.\n\nAfter reverting that commit, there is the possibility that a\nread error on a read-only array (where read errors cannot\nbe corrected as that requires a write) will repeatedly read the same\ndevice and continue to get an error.\nSo in the \"Array is readonly\" case, fail the drive immediately on\na read error.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "8ab1221c20255f35d85664a046549bc6135122c2",
      "tree": "3b39ba63210fd2d7bc1cabf275f85026c521bb86",
      "parents": [
        "745dd2405e281d96c0a449103bdf6a895048f28c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 30 22:51:31 2009 -0500"
      },
      "committer": {
        "name": "Matt Turner",
        "email": "mattst88@gmail.com",
        "time": "Mon Nov 30 22:51:31 2009 -0500"
      },
      "message": "alpha: Fixup last users of irq_chip-\u003etypename\n\nThe typename member of struct irq_chip was kept for migration purposes\nand is obsolete since more than 2 years. Fix up the leftovers.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: linux-alpha@vger.kernel.org\nSigned-off-by: Matt Turner \u003cmattst88@gmail.com\u003e\n"
    },
    {
      "commit": "745dd2405e281d96c0a449103bdf6a895048f28c",
      "tree": "3cbcd71049b42e0f2933d7682886527beed4a4c3",
      "parents": [
        "cc9a2c8301683f73b7e0d1fc2cb5159110f3469f"
      ],
      "author": {
        "name": "Michael Cree",
        "email": "mcree@orcon.net.nz",
        "time": "Mon Nov 30 22:44:40 2009 -0500"
      },
      "committer": {
        "name": "Matt Turner",
        "email": "mattst88@gmail.com",
        "time": "Mon Nov 30 22:44:40 2009 -0500"
      },
      "message": "Alpha: Rearrange thread info flags fixing two regressions\n\nThe removal of the TIF_NOTIFY_RESUME flag, commit a583f1b54249b\n\"remove unused TIF_NOTIFY_RESUME flag,\" resulted in incorrect\nsetting of the unaligned access control flags by the prctl syscall.\n\nThe re-addition of the TIF_NOTIFY_RESUME flag, commit d0420c83f39f\n\"KEYS: Extend TIF_NOTIFY_RESUME to (almost) all architectures [try #6]\"\nfurther caused problems, namely incorrect operands to assembler code\nas evidenced by:\n\nAS      arch/alpha/kernel/entry.o\narch/alpha/kernel/entry.S: Assembler messages:\narch/alpha/kernel/entry.S:326: Warning: operand out of range\n(0x0000000000000406 is not between 0x0000000000000000 and\n0x00000000000000ff)\n\nBoth regressions fixed by (1) rearranging TIF_NOTIFY_RESUME flag to be\nin lower 8 bits of the thread info flags, and (2) making sure that\nALPHA_UAC_SHIFT matches the rearrangement of the thread info flags.\n\nSigned-off-by: Michael Cree \u003cmcree@orcon.net.nz\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e,\nSigned-off-by: Matt Turner \u003cmattst88@gmail.com\u003e\n"
    },
    {
      "commit": "29e553631b2a0d4eebd23db630572e1027a9967a",
      "tree": "a891e02cc245ac9c14dc47528120e262d0298698",
      "parents": [
        "ed9fd93e9a0c327e5d02313ba6e233c8e76da118",
        "827d42c9ac91ddd728e4f4a31fefb906ef2ceff7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 16:47:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 16:47:16 2009 -0800"
      },
      "message": "Merge branch \u0027security\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\n* \u0027security\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6:\n  mac80211: fix spurious delBA handling\n  mac80211: fix two remote exploits\n"
    },
    {
      "commit": "0ec8648379334f1e127ebd5e57a625890f116824",
      "tree": "68c72c1f9d77ea7d14a759c4ce8f5745152f35ee",
      "parents": [
        "ee4ecb8ac63a5792bec448037d4b82ec4144f94b"
      ],
      "author": {
        "name": "Gernot Hillier",
        "email": "gernot@hillier.de",
        "time": "Fri Nov 27 13:49:23 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 30 16:43:17 2009 -0800"
      },
      "message": "USB: Add support for Mobilcom Debitel USB UMTS Surf-Stick to option driver\n\nThis patch adds the vendor and device id for the Mobilcom Debitel UMTS surf\nstick (a.k.a. 4G Systems XSStick W14, MobiData MBD-200HU, ...).\n\nTo see these ids, you need to switch the stick to modem operation first\nwith the help of usb_modeswitch. This makes it switch from 1c9e:f000 to\n1c9e:9603 and thus be recognized by the option driver.\n\nSigned-off-by: Gernot Hillier \u003cgernot@hillier.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ee4ecb8ac63a5792bec448037d4b82ec4144f94b",
      "tree": "b272d4c5bcfe8ef8e7c94b6182fa2b3ed024b745",
      "parents": [
        "8d6499e5bde91ad05dea4f666bdfe79e65e7cf96"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Fri Nov 27 15:17:59 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 30 16:43:16 2009 -0800"
      },
      "message": "USB: work around for EHCI with quirky periodic schedules\n\na quirky chipset needs periodic schedules to run for a minimum\ntime before they can be disabled again. This enforces the requirement\nwith a time stamp and a calculated delay\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "8d6499e5bde91ad05dea4f666bdfe79e65e7cf96",
      "tree": "fa199bba40a29c2f46970dca3f325354362630cd",
      "parents": [
        "5542bc2ac7b52c021fc9c7a96329955491b7e763"
      ],
      "author": {
        "name": "Daniel Glöckner",
        "email": "dg@emlix.com",
        "time": "Tue Nov 17 15:22:57 2009 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 30 16:43:16 2009 -0800"
      },
      "message": "USB: musb: Fix CPPI IRQs not being signaled\n\nOn tx channel abort a cppi interrupt is generated for a short time by\nsetting the lowest bit of the TCPPICOMPPTR register. It is then reset\nimmediately by clearing the bit. When the interrupt handler is run,\nit does not detect an interrupt in the TCPPIMSKSR or RCPPIMSKSR\nregisters and thus exits early without writing the TCPPIEOIR register.\nIt appears that this inhibits further cppi interrupts until the handler\nis called by chance, f.ex. from davinci_interrupt().\n\nBy moving the unmasking of the interrupt below the writes to\nTCPPICOMPPTR, no interrupt is generated and no write to TCPPIEOIR is\nnecessary.\n\nSigned-off-by: Daniel Glöckner \u003cdg@emlix.com\u003e\nSigned-off-by: Ajay Kumar Gupta \u003cajay.gupta@ti.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5542bc2ac7b52c021fc9c7a96329955491b7e763",
      "tree": "653fc1d0bdad8d910047c1c3fa37fcb6a9d50add",
      "parents": [
        "dfeffa531ccf9c31f2f55df6d7ca86eec92142df"
      ],
      "author": {
        "name": "Daniel Glöckner",
        "email": "dg@emlix.com",
        "time": "Tue Nov 17 15:22:56 2009 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 30 16:43:16 2009 -0800"
      },
      "message": "USB: musb: respect usb_request-\u003ezero in control requests\n\nIn gadget mode the answer to a control request should be followed by\na zero-length packet if the amount transferred is an exact multiple of\nthe endpoint\u0027s packet size and the requests has its \"zero\" flag set.\n\nThis patch prevents the request from being immediately removed from the\nqueue when a control IN transfer ends on a full packet and \"zero\" is set.\nThe next time ep0_txstate is entered, a zero-length packet is queued and\nthe request is removed as fifo_count is 0.\n\nSigned-off-by: Daniel Glöckner \u003cdg@emlix.com\u003e\nSigned-off-by: Ajay Kumar Gupta \u003cajay.gupta@ti.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dfeffa531ccf9c31f2f55df6d7ca86eec92142df",
      "tree": "81dd260d9d219ebf55c48bbfddf2fc988e70d885",
      "parents": [
        "1230435c258e34b47ab7adc3db572c88a284234a"
      ],
      "author": {
        "name": "Ajay Kumar Gupta",
        "email": "ajay.gupta@ti.com",
        "time": "Tue Nov 17 15:22:55 2009 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 30 16:43:16 2009 -0800"
      },
      "message": "USB: musb: fix ISOC Tx programming for CPPI DMAs\n\nIsochronous Tx DMA is getting programmed but never getting started\nfor CPPI and TUSB DMAs and thus Isochronous Tx doesn\u0027t work.\n\nFixing it by starting DMAs using musb_h_tx_dma_start().\n\nSigned-off-by: Swaminathan S \u003cswami.iyer@ti.com\u003e\nSigned-off-by: Babu Ravi \u003cravibabu@ti.com\u003e\nSigned-off-by: Ajay Kumar Gupta \u003cajay.gupta@ti.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1230435c258e34b47ab7adc3db572c88a284234a",
      "tree": "0ccb800c523704564b294ed745e056c0f7c209cb",
      "parents": [
        "c5deb832d7a3f9618b09e6eeaa91a1a845c90c65"
      ],
      "author": {
        "name": "Ajay Kumar Gupta",
        "email": "ajay.gupta@ti.com",
        "time": "Tue Nov 17 15:22:54 2009 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 30 16:43:16 2009 -0800"
      },
      "message": "USB: musb: Remove unwanted message in boot log\n\nRemoves below unnecessary log of almost 28 lines during boot.\n\nmusb_hdrc: hw_ep 0shared, max 64\nmusb_hdrc: hw_ep 1tx, max 512\nmusb_hdrc: hw_ep 1rx, max 512\n...\n...\nmusb_hdrc: hw_ep 13shared, max 4096\nmusb_hdrc: hw_ep 14shared, max 1024\nmusb_hdrc: hw_ep 15shared, max 1024\n\nSigned-off-by: Ajay Kumar Gupta \u003cajay.gupta@ti.com\u003e\nAcked-by: Felipe Balbi \u003cfelipe.balbi@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c5deb832d7a3f9618b09e6eeaa91a1a845c90c65",
      "tree": "7676793d67592bac01c7605e4b37e26a63a27e9e",
      "parents": [
        "0de6ab8b91f2e1e8e7fc66a8b5c5e8ca82ea16b7"
      ],
      "author": {
        "name": "Thomas Dahlmann",
        "email": "dahlmann.thomas@arcor.de",
        "time": "Tue Nov 17 14:18:27 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 30 16:43:15 2009 -0800"
      },
      "message": "usb: amd5536udc: fixed shared interrupt bug and warning oops\n\n- fixed shared interrupt bug reported by Vadim Lobanov\n - fixed possible warning oops on driver unload when connected\n - prevent interrupt flood in PIO mode (\"modprobe amd5536udc use_dma\u003d0\")\n   when using gadget ether\n\nSigned-off-by: Thomas Dahlmann \u003cdahlmann.thomas@arcor.de\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ],
  "next": "0de6ab8b91f2e1e8e7fc66a8b5c5e8ca82ea16b7"
}
