)]}'
{
  "log": [
    {
      "commit": "401600dfd368305e641d79db16d514f55c084544",
      "tree": "4e1c3f19c52d2bb7d78ec01689d17659960732ab",
      "parents": [
        "ef2085870ea448b3c19160d899cf4f948da6a384"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Apr 02 19:55:38 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:38 2009 +0100"
      },
      "message": "dm: allow uninterruptible wait for pending io\n\nAllow uninterruptible wait for pending IOs.\n\nAdd argument \"interruptible\" to dm_wait_for_completion that specifies\neither interruptible or uninterruptible waiting.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "ef2085870ea448b3c19160d899cf4f948da6a384",
      "tree": "f8e6e4bdeecc41d1b0cd8608a7460b0d130f43a8",
      "parents": [
        "f0b9a4502baa18f8a255a2866bb4e0655fb35974"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Apr 02 19:55:38 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:38 2009 +0100"
      },
      "message": "dm: merge __flush_deferred_io into caller\n\nMerge __flush_deferred_io() into the only caller, dm_wq_work().\n\nThere\u0027s no need to have a function that has only one caller.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "f0b9a4502baa18f8a255a2866bb4e0655fb35974",
      "tree": "28d45275783b68d608d632a84371aa6e625c08f5",
      "parents": [
        "8a53c28db42853591edbe8103e2ce3c4f2917f42"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Apr 02 19:55:38 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:38 2009 +0100"
      },
      "message": "dm: move bio_io_error into __split_and_process_bio\n\nMove the bio_io_error() calls directly into __split_and_process_bio().\n\nThis avoids some code duplication in later patches.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "8a53c28db42853591edbe8103e2ce3c4f2917f42",
      "tree": "fe09d07b660847c37fa8cd6ee67ee043f4302ba4",
      "parents": [
        "53d5914f288b67ddc4d594d6a09568fe114bb909"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Apr 02 19:55:37 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:37 2009 +0100"
      },
      "message": "dm: rename __split_bio\n\nRename __split_bio() to __split_and_process_bio() because it not only splits\nthe bio to serveral parts, but also submits them to target drivers.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "53d5914f288b67ddc4d594d6a09568fe114bb909",
      "tree": "e4f8e2442b85564a3f8f90f32228d5efeb3bd033",
      "parents": [
        "9a1fb46448cac50e93115322ad28f417936f7852"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Apr 02 19:55:37 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:37 2009 +0100"
      },
      "message": "dm: remove unnecessary struct dm_wq_req\n\nRemove struct dm_wq_req and move \"work\" directly into struct mapped_device.\n\nIn the revised implementation, the thread will do just one type of work\n(processing the queue).\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "9a1fb46448cac50e93115322ad28f417936f7852",
      "tree": "120e3e431dd98044a7620e4095da4bcc37ae4407",
      "parents": [
        "143773965b4677bd72dbbf71f52bea0df2ed4e18"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Apr 02 19:55:36 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:36 2009 +0100"
      },
      "message": "dm: remove unnecessary work queue context field\n\nRemove the context field from struct dm_wq_req because we will no longer\nneed it.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "143773965b4677bd72dbbf71f52bea0df2ed4e18",
      "tree": "42cbaca9b881d1e84d555d9ced120f4e78babc9a",
      "parents": [
        "99c75e3130cff0c869c657ee97fb4a68958eeffc"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Apr 02 19:55:36 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:36 2009 +0100"
      },
      "message": "dm: remove unnecessary work queue type field\n\nRemove \"type\" field from struct dm_wq_req because we no longer need it\nto have more than one value.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "99c75e3130cff0c869c657ee97fb4a68958eeffc",
      "tree": "cd3aaee7a0aeab15a3cc345046ef2020e62f21cd",
      "parents": [
        "a32079ce17899192a7b98a42753be467605a8b2f"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Apr 02 19:55:36 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:36 2009 +0100"
      },
      "message": "dm: bio list add bio_list_add_head\n\nIntroduce a function that adds a bio to the head of the list for\nuse by the patch that will support barriers.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "a32079ce17899192a7b98a42753be467605a8b2f",
      "tree": "116fefba16427c16cb792e218889aa971eab755b",
      "parents": [
        "1e302a929e2da6e8448e2058e4b07b07252b57fe"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Thu Apr 02 19:55:35 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:35 2009 +0100"
      },
      "message": "dm snapshot: persistent fix dtr cleanup\n\nThe persistent exception store destructor does not properly\naccount for all conditions in which it can be called.  If it\nis called after \u0027ctr\u0027 but before \u0027read_metadata\u0027 (e.g. if\nsomething else in \u0027snapshot_ctr\u0027 fails) then it will attempt\nto free areas of memory that haven\u0027t been allocated yet.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "1e302a929e2da6e8448e2058e4b07b07252b57fe",
      "tree": "3345d31926a2254a2041d62d270cba76b2590bae",
      "parents": [
        "fee1998e9c690f9920671e1e0ef187a48cfbbde4"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Thu Apr 02 19:55:35 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:35 2009 +0100"
      },
      "message": "dm snapshot: move status to exception store\n\nLet the exception store types print out their status through\nthe new API, rather than having the snapshot code do it.\n\nAdjust the buffer position to allow for the preceding DMEMIT in the\narguments to type-\u003estatus().\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "fee1998e9c690f9920671e1e0ef187a48cfbbde4",
      "tree": "a217e9bc2142350d9e8065c6e581be0524636498",
      "parents": [
        "2e4a31df2b10cbcaf43c333112f6f7440a035c69"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Thu Apr 02 19:55:34 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:34 2009 +0100"
      },
      "message": "dm snapshot: move ctr parsing to exception store\n\nFirst step of having the exception stores parse their own arguments -\ngeneralizing the interface.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "2e4a31df2b10cbcaf43c333112f6f7440a035c69",
      "tree": "fbfcde3d358e615b500c22219190654825e48a26",
      "parents": [
        "ccc45ea8aeffec49fa5985efc3649aa67bb4fcb7"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Thu Apr 02 19:55:34 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:34 2009 +0100"
      },
      "message": "dm snapshot: use DMEMIT macro for status\n\nUse DMEMIT in place of snprintf.  This makes it easier later when\nother modules are helping to populate our status output.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "ccc45ea8aeffec49fa5985efc3649aa67bb4fcb7",
      "tree": "69a72e1a1599d3495224dcd425f0bb230a48108e",
      "parents": [
        "71fab00a6bef7fb53119271a8abdbaf40970d28a"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Thu Apr 02 19:55:34 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:34 2009 +0100"
      },
      "message": "dm snapshot: remove dm_snap header\n\nMove some of the last bits from dm-snap.h into dm-snap.c where they\nbelong and remove dm-snap.h.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "71fab00a6bef7fb53119271a8abdbaf40970d28a",
      "tree": "4881f8f6d1b1c42528889d7a56fb8674d2aa7723",
      "parents": [
        "49beb2b87a972a994ff77633234ca3bf0d30a1d8"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Thu Apr 02 19:55:33 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:33 2009 +0100"
      },
      "message": "dm snapshot: remove dm_snap header use\n\nMove useful functions out of dm-snap.h and stop using dm-snap.h.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "49beb2b87a972a994ff77633234ca3bf0d30a1d8",
      "tree": "4b281ebd48624d0fbe74b93fa72baa834211ca2f",
      "parents": [
        "d0216849519bec8dc96301a3cd80316e71243839"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Thu Apr 02 19:55:33 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:33 2009 +0100"
      },
      "message": "dm exception store: move cow pointer\n\nMove COW device from snapshot to exception store.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d0216849519bec8dc96301a3cd80316e71243839",
      "tree": "06e7f1d2028e784213e17f1a8ea1abae9ffb0ab9",
      "parents": [
        "0cea9c78270cdf1d2ad74ce0e083d5555a0842e8"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Thu Apr 02 19:55:32 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:32 2009 +0100"
      },
      "message": "dm exception store: move chunk_fields\n\nMove chunk fields from snapshot to exception store.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "0cea9c78270cdf1d2ad74ce0e083d5555a0842e8",
      "tree": "783785811de9ed558ec1179a6bc201dd6161cae6",
      "parents": [
        "493df71c6420b211a68ae82b889c1e8a5fe701be"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Thu Apr 02 19:55:32 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:32 2009 +0100"
      },
      "message": "dm exception store: move dm_target pointer\n\nMove target pointer from snapshot to exception store.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "493df71c6420b211a68ae82b889c1e8a5fe701be",
      "tree": "2738295190c1b3c5f72d85059aae3c96f162afa6",
      "parents": [
        "7513c2a761d69d2a93f17146b3563527d3618ba0"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Thu Apr 02 19:55:31 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:31 2009 +0100"
      },
      "message": "dm exception store: introduce registry\n\nMove exception stores into a registry.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "7513c2a761d69d2a93f17146b3563527d3618ba0",
      "tree": "375a14998a60a47b83962d5a497139112ec6e8e4",
      "parents": [
        "b2a114652940ccf7e9668ad447ca78bf16a31139"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Thu Apr 02 19:55:30 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:30 2009 +0100"
      },
      "message": "dm raid1: add is_remote_recovering hook for clusters\n\nThe logging API needs an extra function to make cluster mirroring\npossible.  This new function allows us to check whether a mirror\nregion is being recovered on another machine in the cluster.  This\nhelps us prevent simultaneous recovery I/O and process I/O to the\nsame locations on disk.\n\nCluster-aware log modules will implement this function.  Single\nmachine log modules will not.  So, there is no performance\npenalty for single machine mirrors.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nAcked-by: Heinz Mauelshagen \u003cheinzm@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "b2a114652940ccf7e9668ad447ca78bf16a31139",
      "tree": "f86e851ff752a8ae5ce1b5571cde1918c86a156a",
      "parents": [
        "ec44ab9d6681ddf9026b593e866bec9c0e075e1d"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Thu Apr 02 19:55:30 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:30 2009 +0100"
      },
      "message": "dm exception store: separate type from instance\n\nIntroduce struct dm_exception_store_type.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "ec44ab9d6681ddf9026b593e866bec9c0e075e1d",
      "tree": "56c0f99068c7bf2a474e8094c1fa9d14a7861ae8",
      "parents": [
        "84e67c9319eb2232757a022c24f6a461291eaee5"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Thu Apr 02 19:55:30 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:30 2009 +0100"
      },
      "message": "dm log: remove struct dm_dirty_log_internal\n\nRemove the \u0027dm_dirty_log_internal\u0027 structure.  The resulting cleanup\neliminates extra memory allocations.  Therefore exposing the internal\nlist_head to the external \u0027dm_dirty_log_type\u0027 structure is a worthwhile\ncompromise.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "84e67c9319eb2232757a022c24f6a461291eaee5",
      "tree": "581e427fa8bc914089de24f70235e471c5bd0c5b",
      "parents": [
        "b81d6cf79b57f6123a5d4f7a4932cc359995484d"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Thu Apr 02 19:55:29 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:29 2009 +0100"
      },
      "message": "dm log: use standard kernel module refcount\n\nAvoid private module usage accounting by removing \u0027use\u0027 from\ndm_dirty_log_internal.  The standard module reference counting is\nsufficient.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "b81d6cf79b57f6123a5d4f7a4932cc359995484d",
      "tree": "ac3df19b3800c4ecb9e5725ada90c606d542dfbb",
      "parents": [
        "45194e4f89fbdd97a2b7d2698c05f0b00c19e820"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Thu Apr 02 19:55:28 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:28 2009 +0100"
      },
      "message": "dm crypt: use kzfree\n\nUse kzfree() instead of memset() + kfree().\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "45194e4f89fbdd97a2b7d2698c05f0b00c19e820",
      "tree": "70d35747228b84c1d7b7d76c5e18f72b16f412a3",
      "parents": [
        "570b9d968bf9b16974252ef7cbce73fa6dac34f3"
      ],
      "author": {
        "name": "Cheng Renquan",
        "email": "crquan@gmail.com",
        "time": "Thu Apr 02 19:55:28 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:28 2009 +0100"
      },
      "message": "dm target: remove struct tt_internal\n\nThe tt_internal is really just a list_head to manage registered target_type\nin a double linked list,\n\nHere embed the list_head into target_type directly,\n1. to avoid kmalloc/kfree;\n2. then tt_internal is really unneeded;\n\nCc: stable@kernel.org\nSigned-off-by: Cheng Renquan \u003ccrquan@gmail.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nReviewed-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "570b9d968bf9b16974252ef7cbce73fa6dac34f3",
      "tree": "1a356ada71b373b363f9fc2204769f8eee920f30",
      "parents": [
        "aea9058801c0acfa2831af1714da412dfb0018c2"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:28 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:28 2009 +0100"
      },
      "message": "dm table: fix upgrade mode race\n\nupgrade_mode() sets bdev to NULL temporarily, and does not have any\nlocking to exclude anything from seeing that NULL.\n\nIn dm_table_any_congested() bdev_get_queue() can dereference that NULL and\ncause a reported oops.\n\nFix this by not changing that field during the mode upgrade.\n\nCc: stable@kernel.org\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "aea9058801c0acfa2831af1714da412dfb0018c2",
      "tree": "3a51498e150b84ef60580f1d2f5620785853a41a",
      "parents": [
        "5642b8a61a15436231adf27b2b1bd96901b623dd"
      ],
      "author": {
        "name": "Jun\u0027ichi Nomura",
        "email": "j-nomura@ce.jp.nec.com",
        "time": "Thu Apr 02 19:55:27 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:27 2009 +0100"
      },
      "message": "dm: path selector use module refcount directly\n\nFix refcount corruption in dm-path-selector\n\nRefcounting with non-atomic ops under shared lock will corrupt the counter\nin multi-processor system and may trigger BUG_ON().\nUse module refcount.\n# same approach as dm-target-use-module-refcount-directly.patch here\n# https://www.redhat.com/archives/dm-devel/2008-December/msg00075.html\n\nTypical oops:\n  kernel BUG at linux-2.6.29-rc3/drivers/md/dm-path-selector.c:90!\n  Pid: 11148, comm: dmsetup Not tainted 2.6.29-rc3-nm #1\n  dm_put_path_selector+0x4d/0x61 [dm_multipath]\n  Call Trace:\n   [\u003cffffffffa031d3f9\u003e] free_priority_group+0x33/0xb3 [dm_multipath]\n   [\u003cffffffffa031d4aa\u003e] free_multipath+0x31/0x67 [dm_multipath]\n   [\u003cffffffffa031d50d\u003e] multipath_dtr+0x2d/0x32 [dm_multipath]\n   [\u003cffffffffa015d6c2\u003e] dm_table_destroy+0x64/0xd8 [dm_mod]\n   [\u003cffffffffa015b73a\u003e] __unbind+0x46/0x4b [dm_mod]\n   [\u003cffffffffa015b79f\u003e] dm_swap_table+0x60/0x14d [dm_mod]\n   [\u003cffffffffa015f963\u003e] dev_suspend+0xfd/0x177 [dm_mod]\n   [\u003cffffffffa0160250\u003e] dm_ctl_ioctl+0x24c/0x29c [dm_mod]\n   [\u003cffffffff80288cd3\u003e] ? get_page_from_freelist+0x49c/0x61d\n   [\u003cffffffffa015f866\u003e] ? dev_suspend+0x0/0x177 [dm_mod]\n   [\u003cffffffff802bf05c\u003e] vfs_ioctl+0x2a/0x77\n   [\u003cffffffff802bf4f1\u003e] do_vfs_ioctl+0x448/0x4a0\n   [\u003cffffffff802bf5a0\u003e] sys_ioctl+0x57/0x7a\n   [\u003cffffffff8020c05b\u003e] system_call_fastpath+0x16/0x1b\n\nCc: stable@kernel.org\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "5642b8a61a15436231adf27b2b1bd96901b623dd",
      "tree": "2108366dbec955f71bc49795e3cf894d4dcd991c",
      "parents": [
        "35bf659b008e83e725dcd30f542e38461dbb867c"
      ],
      "author": {
        "name": "Cheng Renquan",
        "email": "crquan@gmail.com",
        "time": "Thu Apr 02 19:55:27 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:27 2009 +0100"
      },
      "message": "dm target: use module refcount directly\n\nThe tt_internal\u0027s \u0027use\u0027 field is superfluous: the module\u0027s refcount can do\nthe work properly.  An acceptable side-effect is that this increases the\nreference counts reported by \u0027lsmod\u0027.\n\nRemove the superfluous test when removing a target module.\n\n[Crash possible without this on SMP - agk]\n\nCc: stable@kernel.org\nSigned-off-by: Cheng Renquan \u003ccrquan@gmail.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nReviewed-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nReviewed-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\n"
    },
    {
      "commit": "35bf659b008e83e725dcd30f542e38461dbb867c",
      "tree": "40be2f357f0905573bd4d21ff59e0db3cda26442",
      "parents": [
        "c66213921c816f6b1b16a84911618ba9a363b134"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Apr 02 19:55:26 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:26 2009 +0100"
      },
      "message": "dm snapshot: avoid having two exceptions for the same chunk\n\nWe need to check if the exception was completed after dropping the lock.\n\nAfter regaining the lock, __find_pending_exception checks if the exception\nwas already placed into \u0026s-\u003epending hash.\n\nBut we don\u0027t check if the exception was already completed and placed into\n\u0026s-\u003ecomplete hash. If the process waiting in alloc_pending_exception was\ndelayed at this point because of a scheduling latency and the exception\nwas meanwhile completed, we\u0027d miss that and allocate another pending\nexception for already completed chunk.\n\nIt would lead to a situation where two records for the same chunk exist\nand potential data corruption because multiple snapshot I/Os to the\naffected chunk could be redirected to different locations in the\nsnapshot.\n\nCc: stable@kernel.org\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "c66213921c816f6b1b16a84911618ba9a363b134",
      "tree": "2b99c1ef34eea840fe3d517d8a20fb59a5a84044",
      "parents": [
        "2913808eb56a6445a7b277eb8d17651c8defb035"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Apr 02 19:55:25 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:25 2009 +0100"
      },
      "message": "dm snapshot: avoid dropping lock in __find_pending_exception\n\nIt is uncommon and bug-prone to drop a lock in a function that is called with\nthe lock held, so this is moved to the caller.\n\nCc: stable@kernel.org\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "2913808eb56a6445a7b277eb8d17651c8defb035",
      "tree": "a6d5392acc09cba9658071ca80a81b5a3a725a6c",
      "parents": [
        "b64b6bf4fd8b678a9f8477c11773c38a0a246a6d"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Apr 02 19:55:25 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:25 2009 +0100"
      },
      "message": "dm snapshot: refactor __find_pending_exception\n\nMove looking-up of a pending exception from __find_pending_exception to another\nfunction.\n\nCc: stable@kernel.org\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "b64b6bf4fd8b678a9f8477c11773c38a0a246a6d",
      "tree": "26e12749b51ce21f0f59b8d7ee45a3716d2a96d8",
      "parents": [
        "95f8fac8dc6139fedfb87746e0c8fda9b803cb46"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Apr 02 19:55:24 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:24 2009 +0100"
      },
      "message": "dm io: make sync_io uninterruptible\n\nIf someone sends signal to a process performing synchronous dm-io call,\nthe kernel may crash.\n\nThe function sync_io attempts to exit with -EINTR if it has pending signal,\nhowever the structure \"io\" is allocated on stack, so already submitted io\nrequests end up touching unallocated stack space and corrupting kernel memory.\n\nsync_io sets its state to TASK_UNINTERRUPTIBLE, so the signal can\u0027t break out\nof io_schedule() --- however, if the signal was pending before sync_io entered\nwhile (1) loop, the corruption of kernel memory will happen.\n\nThere is no way to cancel in-progress IOs, so the best solution is to ignore\nsignals at this point.\n\nCc: stable@kernel.org\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "95f8fac8dc6139fedfb87746e0c8fda9b803cb46",
      "tree": "36c980967ee188865d0a58be2e1281b5bf77cbae",
      "parents": [
        "a920f6b3accc77d9dddbc98a7426be23ee479625"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Apr 02 19:55:24 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:24 2009 +0100"
      },
      "message": "dm raid1: switch read_record from kmalloc to slab to save memory\n\nWith my previous patch to save bi_io_vec, the size of dm_raid1_read_record\nis significantly increased (the vector list takes 3072 bytes on 32-bit machines\nand 4096 bytes on 64-bit machines).\n\nThe structure dm_raid1_read_record used to be allocated with kmalloc,\nbut kmalloc aligns the size on the next power-of-two so an object\nslightly greater than 4096 will allocate 8192 bytes of memory and half of\nthat memory will be wasted.\n\nThis patch turns kmalloc into a slab cache which doesn\u0027t have this\npadding so it will reduce the memory consumed.\n\nCc: stable@kernel.org\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "a920f6b3accc77d9dddbc98a7426be23ee479625",
      "tree": "bff633328b5f1362d99a04f7e513a6a4b2084ad8",
      "parents": [
        "833bb3046b6cb320e775ea2160ddca87d53260d5"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Apr 02 19:55:23 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:23 2009 +0100"
      },
      "message": "dm: preserve bi_io_vec when resubmitting bios\n\nDevice mapper saves and restores various fields in the bio, but it doesn\u0027t save\nbi_io_vec.  If the device driver modifies this after a partially successful\nrequest, dm-raid1 and dm-multipath may attempt to resubmit a bio that has\nbi_size inconsistent with the size of vector.\n\nTo make requests resubmittable in dm-raid1 and dm-multipath, we must save\nand restore the bio vector as well.\n\nTo reduce the memory overhead involved in this, we do not save the pages in a\nvector and use a 16-bit field size if the page size is less than 65536.\n\nCc: stable@kernel.org\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "833bb3046b6cb320e775ea2160ddca87d53260d5",
      "tree": "de206436200246909246f9e0df27e4cced13e364",
      "parents": [
        "8b53ef33d9d8fa5f771ae11cc6a6e7bc0182beec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Apr 02 01:30:04 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 14:50:48 2009 -0700"
      },
      "message": "serial: fixup /proc/tty/driver/serial after proc_fops conversion\n\n\"struct tty_driver *\" lies in m-\u003eprivate not in v which is\nSEQ_TOKEN_START which is 1 which is enough to trigger NULL dereference\nnext line:\n\n\tBUG: unable to handle kernel NULL pointer dereference at 000000ad\n\tIP: [\u003cc040d689\u003e] uart_proc_show+0xe/0x2b0\n\nNoticed by Linus.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b53ef33d9d8fa5f771ae11cc6a6e7bc0182beec",
      "tree": "7835bab94824b3d52e7466ae28825941f6c6277a",
      "parents": [
        "ef5ddd3d591399f2c722a77bce543d20bef31663",
        "80a03e29164c76b70e6dbb1d10515820cc24487a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 13:33:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 13:33:41 2009 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: (29 commits)\n  [IA64] BUG to BUG_ON changes\n  [IA64] Fix typo/thinko in arch/ia64/sn/kernel/sn2/sn2_smp.c\n  ia64: remove some warnings.\n  ia64/xen: fix the link error.\n  ia64/pv_ops/bp/xen: implemented binary patchable pv_cpu_ops.\n  ia64/pv_ops/binary patch: define paravirt_dv_serialize_data() and suppress false positive warning.\n  ia64/pv_ops/bp/module: support binary patching for kernel module.\n  ia64/pv_ops: implement binary patching optimization for native.\n  ia64/pv_op/binarypatch: add helper functions to support binary patching for paravirt_ops.\n  ia64/pv_ops/xen/gate.S: xen gate page paravirtualization\n  ia64/pv_ops: paravirtualize gate.S.\n  ia64/pv_ops: move down __kernel_syscall_via_epc.\n  ia64/pv_ops/xen: define xen specific gate page.\n  ia64/pv_ops: gate page paravirtualization.\n  ia64/pv_ops/xen/pv_time_ops: implement sched_clock.\n  ia64/pv_ops/pv_time_ops: add sched_clock hook.\n  ia64/pv_ops/xen: paravirtualize read/write ar.itc and ar.itm\n  ia64/pv_ops: paravirtualize mov \u003d ar.itc.\n  ia64/pv_ops/pvchecker: support mov \u003d ar.itc paravirtualization\n  ia64/pv_ops: paravirtualize fsys.S.\n  ...\n"
    },
    {
      "commit": "ef5ddd3d591399f2c722a77bce543d20bef31663",
      "tree": "a6bec12fcf1e7533cb8a972fc1b465923e46585c",
      "parents": [
        "972dd435fb2c5da173a4c8dea44ccb8748e36d35",
        "cd670599b7b00d9263f6f11a05c0edeb9cbedaf3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 12:52:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 12:52:57 2009 -0700"
      },
      "message": "Merge branch \u0027x86-setup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-setup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, setup: guard against pre-ACPI 3 e820 code not updating %ecx\n"
    },
    {
      "commit": "972dd435fb2c5da173a4c8dea44ccb8748e36d35",
      "tree": "283d86d3012fb73b6cbf2ae88218ca3c262b868b",
      "parents": [
        "9c9cb14387389a70fe40f9be99f243e2a410b0b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 12:46:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 12:51:33 2009 -0700"
      },
      "message": "qeth: properly delete empty files.\n\nCommit 64ef8957986f6a04f61e7c95fa6ffeb3a86a6661 (\"qeth: remove EDDP\")\nremoved the qeth_core_offl.[hc] files, but ended up doing so by just\npatching them to zero size, rather than removing them properly.\n\nActually remove the files.\n\nReported-by: Andrew Price \u003candy@andrewprice.me.uk\u003e\nCc: Frank Blaschka \u003cfrank.blaschka@de.ibm.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd670599b7b00d9263f6f11a05c0edeb9cbedaf3",
      "tree": "e7aa26873f746baa1bd49cd92d3e7ab97c1716af",
      "parents": [
        "c549e71d073a6e9a4847497344db28a784061455"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Apr 01 11:35:00 2009 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Apr 01 11:35:00 2009 -0700"
      },
      "message": "x86, setup: guard against pre-ACPI 3 e820 code not updating %ecx\n\nImpact: BIOS bug safety\n\nFor pre-ACPI 3 BIOSes, pre-initialize the end of the e820 buffer just\nin case the BIOS returns an unchanged %ecx but without actually\ntouching the ACPI 3 extended flags field.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "9c9cb14387389a70fe40f9be99f243e2a410b0b7",
      "tree": "cb927908a099f6448f86871e3bbc3985139db6cd",
      "parents": [
        "4fe70410d9a219dabb47328effccae7e7f2a6e26",
        "c549e71d073a6e9a4847497344db28a784061455"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 11:13:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 11:13:31 2009 -0700"
      },
      "message": "Merge branch \u0027x86/setup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86/setup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, setup: ACPI 3, BIOS workaround for E820-probing code\n  x86, setup: preemptively save/restore edi and ebp around INT 15 E820\n  x86, setup: mark %esi as clobbered in E820 BIOS call\n"
    },
    {
      "commit": "4fe70410d9a219dabb47328effccae7e7f2a6e26",
      "tree": "7f36d6cd27333fa28447f06ce37a6fecceb42955",
      "parents": [
        "395d73413c5656c6d7706ae91dcb441f9b7e3074",
        "cc85906110e26fe8537c3bdbc08a74ae8110030b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 10:58:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 10:58:42 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027for-linus\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (58 commits)\n  SUNRPC: Ensure IPV6_V6ONLY is set on the socket before binding to a port\n  NSM: Fix unaligned accesses in nsm_init_private()\n  NFS: Simplify logic to compare socket addresses in client.c\n  NFS: Start PF_INET6 callback listener only if IPv6 support is available\n  lockd: Start PF_INET6 listener only if IPv6 support is available\n  SUNRPC: Remove CONFIG_SUNRPC_REGISTER_V4\n  SUNRPC: rpcb_register() should handle errors silently\n  SUNRPC: Simplify kernel RPC service registration\n  SUNRPC: Simplify svc_unregister()\n  SUNRPC: Allow callers to pass rpcb_v4_register a NULL address\n  SUNRPC: rpcbind actually interprets r_owner string\n  SUNRPC: Clean up address type casts in rpcb_v4_register()\n  SUNRPC: Don\u0027t return EPROTONOSUPPORT in svc_register()\u0027s helpers\n  SUNRPC: Use IPv4 loopback for registering AF_INET6 kernel RPC services\n  SUNRPC: Set IPV6ONLY flag on PF_INET6 RPC listener sockets\n  NFS: Revert creation of IPv6 listeners for lockd and NFSv4 callbacks\n  SUNRPC: Remove @family argument from svc_create() and svc_create_pooled()\n  SUNRPC: Change svc_create_xprt() to take a @family argument\n  SUNRPC: svc_setup_socket() gets protocol family from socket\n  SUNRPC: Pass a family argument to svc_register()\n  ...\n"
    },
    {
      "commit": "395d73413c5656c6d7706ae91dcb441f9b7e3074",
      "tree": "7fadabe996f70d7918583fa2312d4fad19397fcb",
      "parents": [
        "c226fd659fa7b6a7b038df5ae6856a68514bacde",
        "06705bff9114531a997a7d0c2520bea0f2927410"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 10:57:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 10:57:49 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (33 commits)\n  ext4: Regularize mount options\n  ext4: fix locking typo in mballoc which could cause soft lockup hangs\n  ext4: fix typo which causes a memory leak on error path\n  jbd2: Update locking coments\n  ext4: Rename pa_linear to pa_type\n  ext4: add checks of block references for non-extent inodes\n  ext4: Check for an valid i_mode when reading the inode from disk\n  ext4: Use WRITE_SYNC for commits which are caused by fsync()\n  ext4: Add auto_da_alloc mount option\n  ext4: Use struct flex_groups to calculate get_orlov_stats()\n  ext4: Use atomic_t\u0027s in struct flex_groups\n  ext4: remove /proc tuning knobs\n  ext4: Add sysfs support\n  ext4: Track lifetime disk writes\n  ext4: Fix discard of inode prealloc space with delayed allocation.\n  ext4: Automatically allocate delay allocated blocks on rename\n  ext4: Automatically allocate delay allocated blocks on close\n  ext4: add EXT4_IOC_ALLOC_DA_BLKS ioctl\n  ext4: Simplify delalloc code by removing mpage_da_writepages()\n  ext4: Save stack space by removing fake buffer heads\n  ...\n"
    },
    {
      "commit": "cc85906110e26fe8537c3bdbc08a74ae8110030b",
      "tree": "891813098ede3dba4d5ff3b83b1f7b491367ad2f",
      "parents": [
        "c09bca786ff941ed17c5f381c4eca5b106808c51",
        "c69da774b28e01e062e0a3aba7509f2dcfd2a11a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 01 13:28:15 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 01 13:28:15 2009 -0400"
      },
      "message": "Merge branch \u0027devel\u0027 into for-linus\n"
    },
    {
      "commit": "c69da774b28e01e062e0a3aba7509f2dcfd2a11a",
      "tree": "e406bb8055548fcfcd3796881c263fe44dc69443",
      "parents": [
        "ad5b365c1266b0c9e8e254a3c1cc4ef66bf33cba"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 30 18:59:17 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 01 13:24:29 2009 -0400"
      },
      "message": "SUNRPC: Ensure IPV6_V6ONLY is set on the socket before binding to a port\n\nAlso ensure that we use the protocol family instead of the address\nfamily when calling sock_create_kern().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ad5b365c1266b0c9e8e254a3c1cc4ef66bf33cba",
      "tree": "b7f9bf04da9f08057db4f5e1a88a4b38511e200e",
      "parents": [
        "3c8c45dfab78a1919f6f8a3ea46998c487eb7e12"
      ],
      "author": {
        "name": "Mans Rullgard",
        "email": "mans@mansr.com",
        "time": "Sat Mar 28 19:55:20 2009 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 01 13:24:14 2009 -0400"
      },
      "message": "NSM: Fix unaligned accesses in nsm_init_private()\n\nThis fixes unaligned accesses in nsm_init_private() when\ncreating nlm_reboot keys.\n\nSigned-off-by: Mans Rullgard \u003cmans@mansr.com\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c226fd659fa7b6a7b038df5ae6856a68514bacde",
      "tree": "a695689d4d8cdd927400747b94250521eb863686",
      "parents": [
        "c09bca786ff941ed17c5f381c4eca5b106808c51",
        "d57e62b89796f751c9422801cbcd407a9f8dcdc4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 10:20:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 10:20:44 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: try to free metadata pages when we free btree blocks\n  Btrfs: add extra flushing for renames and truncates\n  Btrfs: make sure btrfs_update_delayed_ref doesn\u0027t increase ref_mod\n  Btrfs: optimize fsyncs on old files\n  Btrfs: tree logging unlink/rename fixes\n  Btrfs: Make sure i_nlink doesn\u0027t hit zero too soon during log replay\n  Btrfs: limit balancing work while flushing delayed refs\n  Btrfs: readahead checksums during btrfs_finish_ordered_io\n  Btrfs: leave btree locks spinning more often\n  Btrfs: Only let very young transactions grow during commit\n  Btrfs: Check for a blocking lock before taking the spin\n  Btrfs: reduce stack in cow_file_range\n  Btrfs: reduce stalls during transaction commit\n  Btrfs: process the delayed reference queue in clusters\n  Btrfs: try to cleanup delayed refs while freeing extents\n  Btrfs: reduce stack usage in some crucial tree balancing functions\n  Btrfs: do extent allocation and reference count updates in the background\n  Btrfs: don\u0027t preallocate metadata blocks during btrfs_search_slot\n"
    },
    {
      "commit": "c09bca786ff941ed17c5f381c4eca5b106808c51",
      "tree": "9b79a2f2d3ac441551c9c367f22e2240040c4ef6",
      "parents": [
        "e76e5b2c663ac74ae6a542ac20795c625e36a5cd",
        "5b6c942dd1f13835eff8105ec2aa859544a1498d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 10:02:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 10:02:15 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (59 commits)\n  ide-floppy: do not complete rq\u0027s prematurely\n  ide: be able to build pmac driver without IDE built-in\n  ide-pmac: IDE cable detection on Apple PowerBook\n  ide: inline SELECT_DRIVE()\n  ide: turn selectproc() method into dev_select() method (take 5)\n  MAINTAINERS: move old ide-{floppy,tape} entries to CREDITS (take 2)\n  ide: move data register access out of tf_{read|load}() methods (take 2)\n  ide: call {in|out}put_data() methods from tf_{read|load}() methods (take 2)\n  ide-io-std: shorten ide_{in|out}put_data()\n  ide: rename IDE_TFLAG_IN_[HOB_]FEATURE\n  ide: turn set_irq() method into write_devctl() method\n  ide: use ATA_HOB\n  ide-disk: use ATA_ERR\n  ide: add support for CFA specified transfer modes (take 3)\n  ide-iops: only clear DMA words on setting DMA mode\n  ide: identify data word 53 bit 1 doesn\u0027t cover words 62 and 63 (take 3)\n  au1xxx-ide: auide_{in|out}sw() should be static\n  ide-floppy: use ide_pio_bytes()\n  ide-{floppy,tape}: fix padding for PIO transfers\n  ide: remove CONFIG_BLK_DEV_IDEDOUBLER config option\n  ...\n"
    },
    {
      "commit": "80a03e29164c76b70e6dbb1d10515820cc24487a",
      "tree": "ee9426ae7b76777169079e7120a8413384f128b6",
      "parents": [
        "ebf7649a4c6d37ce24c143001125cf29cc0bcf6a"
      ],
      "author": {
        "name": "Stoyan Gaydarov",
        "email": "stoyboyker@gmail.com",
        "time": "Tue Mar 10 00:10:30 2009 -0500"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Wed Apr 01 09:50:48 2009 -0700"
      },
      "message": "[IA64] BUG to BUG_ON changes\n\nReplace:\n\n\tif (test)\n\t\tBUG();\n\nwith\n\tBUG_ON(test);\n\nSigned-off-by: Stoyan Gaydarov \u003cstoyboyker@gmail.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "e76e5b2c663ac74ae6a542ac20795c625e36a5cd",
      "tree": "2e7271be1f3a26832f4b121839fc4044fbbf27a6",
      "parents": [
        "32527bc0e4b4fa7711ad1c923cf64ae72a7ffd9d",
        "eeafda70bf2807544e96fa4e52b2433cd470ff46"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 09:47:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 09:47:12 2009 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (88 commits)\n  PCI: fix HT MSI mapping fix\n  PCI: don\u0027t enable too much HT MSI mapping\n  x86/PCI: make pci\u003dlastbus\u003d255 work when acpi is on\n  PCI: save and restore PCIe 2.0 registers\n  PCI: update fakephp for bus_id removal\n  PCI: fix kernel oops on bridge removal\n  PCI: fix conflict between SR-IOV and config space sizing\n  powerpc/PCI: include pci.h in powerpc MSI implementation\n  PCI Hotplug: schedule fakephp for feature removal\n  PCI Hotplug: rename legacy_fakephp to fakephp\n  PCI Hotplug: restore fakephp interface with complete reimplementation\n  PCI: Introduce /sys/bus/pci/devices/.../rescan\n  PCI: Introduce /sys/bus/pci/devices/.../remove\n  PCI: Introduce /sys/bus/pci/rescan\n  PCI: Introduce pci_rescan_bus()\n  PCI: do not enable bridges more than once\n  PCI: do not initialize bridges more than once\n  PCI: always scan child buses\n  PCI: pci_scan_slot() returns newly found devices\n  PCI: don\u0027t scan existing devices\n  ...\n\nFix trivial append-only conflict in Documentation/feature-removal-schedule.txt\n"
    },
    {
      "commit": "ebf7649a4c6d37ce24c143001125cf29cc0bcf6a",
      "tree": "c893fd8ef45ae3e4576b044f3bce3c193e537e2a",
      "parents": [
        "c66b31f3926165bc1d4128adc97a064dcbab421a"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Apr 01 09:26:12 2009 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Wed Apr 01 09:26:12 2009 -0700"
      },
      "message": "[IA64] Fix typo/thinko in arch/ia64/sn/kernel/sn2/sn2_smp.c\n\nsn2_ptc_init() has what looks like a cut-n-paste error. Fix it.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "32527bc0e4b4fa7711ad1c923cf64ae72a7ffd9d",
      "tree": "397c7ea179ebd3d2dacc0a2c8b165f8840137045",
      "parents": [
        "e14a685dfabf3ceeb366f1db1a22471b8f98a08b",
        "99f6a570eedc885675b6aa36b7acdbdcc3a7f55b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 09:22:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 09:22:24 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6:\n  [S390] cio: online_store - trigger recognition for boxed devices\n  [S390] cio: disallow online setting of device in transient state\n  [S390] cio: introduce notifier for boxed state\n  [S390] cio: introduce ccw_device_schedule_sch_unregister\n  [S390] cio: wake up on failed recognition\n  [S390] fix hypfs build failure\n  [PATCH] sysrq: include interrupt.h instead of irq.h\n"
    },
    {
      "commit": "e14a685dfabf3ceeb366f1db1a22471b8f98a08b",
      "tree": "a9c55be12f88f62b640473e1cec8830d893e074e",
      "parents": [
        "04645fc337eef283887d3b1204017f1860ed2ff7"
      ],
      "author": {
        "name": "Brian Maly",
        "email": "bmaly@redhat.com",
        "time": "Tue Mar 31 15:25:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:34 2009 -0700"
      },
      "message": "efifb: dmi set video type\n\nThe current logic for dmi matching in efifb does not allow efifb to load\non all hardware that we can dmi match for.\n\nFor a real world example, boot with elilo (3.7 or 3.8 vanilla) and on a\nApple (MacBook) and EFI framebuffer driver will not load (you will have no\nvideo).  This specific hardware is efi v1.10, so we have UGA and not GOP.\nWithout special bootloader magic (i.e.  extra elilo patches for UGA\ngraphics detection) no screen info will be passed to the kernel and as a\nresult efifb will not load.\n\nThis patch allows the dmi match to happen by moving it to earlier in\nefifb_init, and sets the video type (in set_system) so that efifb can load\nwhen we have a valid dmi match and already know the specifics of the\nhardware.\n\nWithout this patch the efifb driver will fail to load in the event screen\ninfo is not found and passed in by the bootloader, being that we will\nnever get to look for a dmi match.  A primary reason for matching with dmi\nis because not all bootloaders detect the video info properly.  The\nsolution is that in the event of a dmi match, we should set\nscreen_info.orig_video_isVGA.  Most bootloaders fail to set screen info on\nApple hardware, and this is a big problem for people who use Apple\nhardware.\n\nTested on a MacBook SantaRosa with elilo-3.8 (vanilla) and resolves the\nissue, the dmi match now works, EFI framebuffer now loads and video works.\n\nSigned-off-by: Brian Maly \u003cbmaly@redhat.com\u003e\nAcked-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nCc: Chandramouli Narayanan \u003cmouli@linux.intel.com\u003e\nAcked-by: Peter Jones \u003cpjones@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04645fc337eef283887d3b1204017f1860ed2ff7",
      "tree": "9c7b6021440a3384360c54f20e93cd87b8f1c4d2",
      "parents": [
        "2f682fae611df642acfb99b5f2fd665f001cd253"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:34 2009 -0700"
      },
      "message": "tridentfb: delete acceleration Kconfig option\n\nRemove Kconfig option for tridentfb acceleration.  The acceleration can be\nswitched off with modules \"noaccel\" parameter.\n\nThe acceleration for Trident chips was fixed in the 2.6.27 kernel.\n\nAlso, add CyberXXX and CyberBlade names to Kconfig option\u0027s name.  It should\nmake easier to find the tridentfb choice for cyblafb driver\u0027s users.  The\ncyblafb driver has been replaced by the tridentfb driver.\n\nSigned-off-by: 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": "2f682fae611df642acfb99b5f2fd665f001cd253",
      "tree": "7cfb73ff951b0963438159a82e38c50f51c57770",
      "parents": [
        "84d9077b3391e6966813e380e63b57f53e58e120"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:34 2009 -0700"
      },
      "message": "atyfb: speed up Mach64 cursor\n\nSave one fifo entry on cursor enabling and disabling.\n\nSave another fifo entry for FB_CUR_SETPOS operation by removing redundant one.\n\nSigned-off-by: 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": "84d9077b3391e6966813e380e63b57f53e58e120",
      "tree": "9799833f8f4f27a00d7e361f29a76b4b4be1abf1",
      "parents": [
        "98da329581e3e6a08eba418ba6da64c05bacd029"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:34 2009 -0700"
      },
      "message": "fb: hide hardware cursor in graphics mode (Mach64)\n\nA hardware cursor is left enabled in the fb_set_par() which is called when a\nnew console is created.  This is inconsistent with software cursor\u0027s\nbehaviour.\n\nAlso, this makes a hardware cursor always visible in the Xfbdev (Xorg kdrive)\nserver.\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nCc: Risto Suominen \u003cristo.suominen@gmail.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "98da329581e3e6a08eba418ba6da64c05bacd029",
      "tree": "5e0377ffb0b9f9146db63feeb8a2b94876ba9a85",
      "parents": [
        "18b41f1cd537168a886c43237297692ba8d0a143"
      ],
      "author": {
        "name": "Alessio Igor Bogani",
        "email": "abogani@texware.it",
        "time": "Tue Mar 31 15:25:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:34 2009 -0700"
      },
      "message": "nvidiafb: remove open_lock mutex\n\nRemove mutex from the nvidiafb_open/nvidiafb_release functions as these\noperations are mutexed at fb layer.\n\nSigned-off-by: Alessio Igor Bogani \u003cabogani@texware.it\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": "18b41f1cd537168a886c43237297692ba8d0a143",
      "tree": "13ab22ddb237650e69b89367a0c8f6835d46ba28",
      "parents": [
        "c958557eb6e5f0fa15aeda3b6f952051b4179394"
      ],
      "author": {
        "name": "Wolfgang Kroener",
        "email": "lkml@azog.de",
        "time": "Tue Mar 31 15:25:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:33 2009 -0700"
      },
      "message": "radeonfb: suspend/resume for ATI Mobility Radeon RV350\n\nAdd suspend/resume for the Acer Travelmate 290D/292LMi with the following\ngraphic-chip:\n\n01:00.0 VGA compatible controller [0300]: ATI Technologies Inc RV350\n[Mobility Radeon 9600 M10] [1002:4e50] (prog-if 00 [VGA controller])\n\tSubsystem: Acer Incorporated [ALI] TravelMate 290 [1025:005a]\n\tFlags: bus master, 66MHz, medium devsel, latency 128, IRQ 10\n\tMemory at a8000000 (32-bit, prefetchable) [size\u003d128M]\n\tI/O ports at c100 [size\u003d256]\n\tMemory at e0010000 (32-bit, non-prefetchable) [size\u003d64K]\n\t[virtual] Expansion ROM at a0000000 [disabled] [size\u003d128K]\n\tCapabilities: [58] AGP version 2.0\n\tCapabilities: [50] Power Management version 2\n\tKernel driver in use: radeonfb\n\tKernel modules: radeonfb\n\nSigned-off-by: Wolfgang Kroener \u003clkml@azog.de\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c958557eb6e5f0fa15aeda3b6f952051b4179394",
      "tree": "1d941c1dc3cd3bbd90dbb9acb7bd0bd78d8ede7f",
      "parents": [
        "23b736545473ed853b685cbc03883aa6ff3f0e0d"
      ],
      "author": {
        "name": "Felipe Contreras",
        "email": "felipe.contreras@nokia.com",
        "time": "Tue Mar 31 15:25:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:33 2009 -0700"
      },
      "message": "omapfb: fix argument of blank operation\n\nThe blank operation should receive FB_BLANK_POWERDOWN, not VESA_POWERDOWN.\n\nSigned-off-by: Felipe Contreras \u003cfelipe.contreras@nokia.com\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nAcked-by: Trilok Soni \u003csoni.trilok@gmail.com\u003e\nCc: Imre Deak \u003cimre.deak@solidboot.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "23b736545473ed853b685cbc03883aa6ff3f0e0d",
      "tree": "dbc04a8fc5765f6832085909e6b5247511c33fed",
      "parents": [
        "ddb53d48da5b0e691f35e703ac29118747f86c99"
      ],
      "author": {
        "name": "Michal Januszewski",
        "email": "spock@gentoo.org",
        "time": "Tue Mar 31 15:25:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:33 2009 -0700"
      },
      "message": "uvesafb: fix selecting mode with the vbemode option\n\nIf the vbemode option is used, uvesafb calls fb_get_mode() without first\nsetting the resolution in info-\u003evar.  This results in a division by zero\nin fb_get_mode(), as evidenced e.g.  in [1].  Fix this by ensuring the\ninfo-\u003evar structure is populated before fb_get_mode() is called.\n\n[1] http://bugzilla.kernel.org/show_bug.cgi?id\u003d11661#c37\n\nSigned-off-by: Michal Januszewski \u003cspock@gentoo.org\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ddb53d48da5b0e691f35e703ac29118747f86c99",
      "tree": "bdf0f4a6f3e74a87e5b2ccb9530f708eed6258d2",
      "parents": [
        "ec549a0fdc32171b26677f1ef0b5309faa743362"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:33 2009 -0700"
      },
      "message": "fbdev: remove cyblafb driver\n\nA tridentfb driver has all the functionality of the cyblafb driver without\nthe bugs of the latter.\n\nChanges to the tridentfb driver:\n\n- FBINFO_READS_FAST added to the tridentfb.  The cyblafb used a blitter\n  for scrolling which is faster than color expansion on Cyberblade\n  chipsets.  The blitter is slower on a discrete Blade3D core.  Use the\n  blitter for scrolling in the tridentfb only for integrated Blade3D\n  cores.  Now, scrolling speed is about equal for the tridentfb and the\n  cyblafb.\n\n- a copyright notice addition is done on request of Jani Monoses (the\n  first author of the tridentfb).\n\nTested on AGP Blade3D card and PCChips\nM787CLR motherboard: VIA C3 cpu +\nVT8601 north  bridge (aka Cyberblade/i1).\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nCc: \"Jani Monoses\" \u003cjani@ubuntu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec549a0fdc32171b26677f1ef0b5309faa743362",
      "tree": "5b560bf154069e7d6c36a1ab1cb5430081e5bc15",
      "parents": [
        "4c8714310afbaabd94ac30db1e499a90e4a69c4e"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Tue Mar 31 15:25:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:33 2009 -0700"
      },
      "message": "fb: add s3c-fb driver for newer Samsung SoC framebuffer devices\n\nAdd support for the newer Samsung devices, such as found in the S3C2443,\nS3C6400 or S3C6410 series SoC.\n\nIt currently does not support all the alpha- or chroma-key options but it\nwill support more exporting more than one framebuffer ready for adding\noverlay and blending functions.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c8714310afbaabd94ac30db1e499a90e4a69c4e",
      "tree": "3b4e4259313ca27b4bb02ae7f9ffc85f5c92a05e",
      "parents": [
        "2bd8c47597b2522795f5eb2e61c22dcfec5dfa6a"
      ],
      "author": {
        "name": "Herton Ronaldo Krzesinski",
        "email": "herton@mandriva.com.br",
        "time": "Tue Mar 31 15:25:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:33 2009 -0700"
      },
      "message": "n411: add missing Makefile entry\n\nThere is no entry for n411.c to be built, include one in Makefile.\n\nSigned-off-by: Herton Ronaldo Krzesinski \u003cherton@mandriva.com.br\u003e\nCc: Jaya Kumar \u003cjayakumar.lkml@gmail.com\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2bd8c47597b2522795f5eb2e61c22dcfec5dfa6a",
      "tree": "37d6d0617059f42680ec2dc458da2841856064dc",
      "parents": [
        "b83734ec0975e1f53420b7a2d454612fc905a9d0"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Mar 31 15:25:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:32 2009 -0700"
      },
      "message": "viafb: returns 0 two too early\n\nOtherwise this will already return 0 if iteration MAXLOOP-2 occurs in the\nfirst loop.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Joseph Chan \u003cjosephchan@via.com.tw\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b83734ec0975e1f53420b7a2d454612fc905a9d0",
      "tree": "5aa3e4c0398b071999cdf5ee737fc275f13679a0",
      "parents": [
        "1cc9fb6dbf915e5c7e7e59bb7fab10572ddbb349"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Mar 31 15:25:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:32 2009 -0700"
      },
      "message": "vesafb: bitwise OR has higher precedence than ?:\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nAcked-by: Michal Januszewski \u003cmichalj@gmail.com\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1cc9fb6dbf915e5c7e7e59bb7fab10572ddbb349",
      "tree": "1f751eccdd877f72f3eb57c19c6a1a845f54a265",
      "parents": [
        "b935257b1f98291ec1c8cbf7dbccbe0b20665bf6"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Mar 31 15:25:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:32 2009 -0700"
      },
      "message": "uvesafb: bitwise OR has higher precedence than ?:\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nAcked-by: Michal Januszewski \u003cmichalj@gmail.com\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b935257b1f98291ec1c8cbf7dbccbe0b20665bf6",
      "tree": "93f955c7d7996db624bfc6a2db02d23175374607",
      "parents": [
        "032220ba310204be9cb2ddbbf848020fadc63ce6"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Mar 31 15:25:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:32 2009 -0700"
      },
      "message": "arkfb: fix misplaced parentheses\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nAcked-by: Ondrej Zajicek \u003csantiago@crfreenet.org\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "032220ba310204be9cb2ddbbf848020fadc63ce6",
      "tree": "8b32dd11705d0a31ce2c82ff547cff107939d0bd",
      "parents": [
        "ba78289343226773b27dc25e7d1e739d0162b9e8"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@debian.org",
        "time": "Tue Mar 31 15:25:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:32 2009 -0700"
      },
      "message": "asiliantfb: fix cmap memory leaks\n\n- fix cmap leak in removal path\n - fix cmap leak when register_framebuffer fails\n - check return value of fb_alloc_cmap\n - don\u0027t continue with driver setup if register_framebuffer fails\n\n[krzysztof.h1@wp.pl: spotted missing iounmap]\n[randy.dunlap@oracle.com: move data declaration before any code]\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba78289343226773b27dc25e7d1e739d0162b9e8",
      "tree": "4322d7ffc58da24dce7b5735ee21a4e13a12f52b",
      "parents": [
        "afbb9d8d5266b4121cb503b4e097f8e65286a077"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Mar 31 15:25:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:32 2009 -0700"
      },
      "message": "drivers/video/omap/hwa742.c: div reaches max_clk_div\n\nWith for(div \u003d 0; div \u003c max_clk_div; div++) { ... } div reaches max_clk_div.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Trilok Soni \u003csoni.trilok@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "afbb9d8d5266b4121cb503b4e097f8e65286a077",
      "tree": "51463d6338f1e541c3bfc004c05a7fb76c4ebbe1",
      "parents": [
        "91ad1203535da95bb13072bdb59e1dc3ca76ec5d"
      ],
      "author": {
        "name": "Kristoffer Ericson",
        "email": "kristoffer.ericson@gmail.com",
        "time": "Tue Mar 31 15:25:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:32 2009 -0700"
      },
      "message": "fbdev: update s1d13xxxfb to differ between revisions and production ids\n\nThe s1d13xxx chip provides two values of identification value: the\nProduction id (e.g 13506/13505/13806..) and a revision number 0,1,2,3).\nTogether these can help us to differentiate between similiar setups.\n\nThis patch adds the proper way of grabbing both those values and save them\nfor future reference (in order to decide what functions a card supports,\ne.g acceleration).\n\nWe also move away from the concept of all s1d13xxx \u003d s1d13806 when we\nreally support alot more.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: simplify s1d13xxxfb_probe()]\nSigned-off-by: Kristoffer Ericson \u003ckristoffer.ericson@gmail.com\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91ad1203535da95bb13072bdb59e1dc3ca76ec5d",
      "tree": "06d8a81796bf3a2a79d7ce0f0357ca27c215a0b4",
      "parents": [
        "eb8972b4407f81b07ea6fc71fd91f9fc7a35a81e"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Mar 31 15:25:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:31 2009 -0700"
      },
      "message": "fbdev: newport: newport_*wait() return 0 on timeout\n\nWith a postfix decrement t reaches -1 on timeout which results in a\nreturn of 0.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb8972b4407f81b07ea6fc71fd91f9fc7a35a81e",
      "tree": "19b3bed57ec0c767d39a509ae99fa973016d6b8a",
      "parents": [
        "909baf0092545e5c2082b045303e7a4b1d2a0522"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Tue Mar 31 15:25:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:31 2009 -0700"
      },
      "message": "amifb: check fb_alloc_cmap return value and handle failure properly\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "909baf0092545e5c2082b045303e7a4b1d2a0522",
      "tree": "03af508a13bcd9cf2b41be2bfe4ae5a950f230bd",
      "parents": [
        "e98d9b407c248ba1419bed0823488d3cc71a2c31"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Tue Mar 31 15:25:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:31 2009 -0700"
      },
      "message": "amba-clcd: fix cmap memory leaks\n\n- fix cmap leak in removal path\n\n- fix cmap leak when register_framebuffer fails\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: 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": "e98d9b407c248ba1419bed0823488d3cc71a2c31",
      "tree": "488c59595d7eca29b1f745f09a24f698b5f5c299",
      "parents": [
        "327fc8752a3c08fc7dc7d382883e65aad2f03bde"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Tue Mar 31 15:25:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:31 2009 -0700"
      },
      "message": "68328fb: fix cmap memory leaks\n\n- fix cmap leak in removal path\n\n- fix cmap leak when register_framebuffer fails\n\n- check return value of fb_alloc_cmap\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: 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": "327fc8752a3c08fc7dc7d382883e65aad2f03bde",
      "tree": "549c61e2cf053c6e59ebdb878c6337173dfa179f",
      "parents": [
        "cc880a715782fe31116284d90e0b5bfb1411535b"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Tue Mar 31 15:25:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:31 2009 -0700"
      },
      "message": "tgafb: fix cmap memory leak\n\nFix cmap leak when register_framebuffer fails.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc880a715782fe31116284d90e0b5bfb1411535b",
      "tree": "be6e192a7fd89a4f5c028a35bfd972770552647d",
      "parents": [
        "ccb121e6958eca5f58938e56523fc589fed36fa8"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Tue Mar 31 15:25:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:31 2009 -0700"
      },
      "message": "sunxvr500: fix cmap memory leaks\n\n- fix cmap leak in removal path\n - fix cmap leak when register_framebuffer fails\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ccb121e6958eca5f58938e56523fc589fed36fa8",
      "tree": "9380a8baa7ea3eff8d273af55fcb0d5fac2f3241",
      "parents": [
        "175b39fb7e145e1aa06f6369c1fbea16873dee9e"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Tue Mar 31 15:25:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:31 2009 -0700"
      },
      "message": "valkyriefb: check fb_alloc_cmap return value and handle failure properly\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: 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": "175b39fb7e145e1aa06f6369c1fbea16873dee9e",
      "tree": "ff45d85b1c7898e8177bc4e95352634656ca3a29",
      "parents": [
        "c23124277e58998703278c26c53b159cea0f9643"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Tue Mar 31 15:25:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:31 2009 -0700"
      },
      "message": "stifb: check fb_alloc_cmap return value and handle failure properly\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: 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": "c23124277e58998703278c26c53b159cea0f9643",
      "tree": "87a24c0697640cfbd0f1e3211d22d426d26706fb",
      "parents": [
        "0a5d924e5954e81a905907512f8c7a1cbf81d700"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Tue Mar 31 15:25:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:30 2009 -0700"
      },
      "message": "sstfb: check fb_alloc_cmap return value and handle failure properly\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: 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": "0a5d924e5954e81a905907512f8c7a1cbf81d700",
      "tree": "f8caf5debe410a06f3783fe88b5f05796a8a70c9",
      "parents": [
        "0fd853118dd821de59106c5b9a0a2a6f488bc4b5"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Tue Mar 31 15:25:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:30 2009 -0700"
      },
      "message": "sm501fb: check fb_alloc_cmap return value and handle failure properly\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0fd853118dd821de59106c5b9a0a2a6f488bc4b5",
      "tree": "6d008cda04b460a484a8bc44f1b13e7a3c633e7f",
      "parents": [
        "5e266e2e0e19532c1b8e2e2bff1eb6ccf42e478a"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Tue Mar 31 15:25:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:30 2009 -0700"
      },
      "message": "skeletonfb: check fb_alloc_cmap return value and handle failure properly\n\nBad example code, no cookie!\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e266e2e0e19532c1b8e2e2bff1eb6ccf42e478a",
      "tree": "72723ec1a9c492402725c34bb7c50d909c961f5e",
      "parents": [
        "07b39b49b402355a7172c113102a8b68aafb17dd"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Tue Mar 31 15:25:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:30 2009 -0700"
      },
      "message": "vfb: fix memory leaks in removal path\n\nWe were leaking the cmap memory.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: 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": "07b39b49b402355a7172c113102a8b68aafb17dd",
      "tree": "b4761f9dba63474a2343a42f0c47b17a5027be40",
      "parents": [
        "895d72279da7f24f266f9583c239e7b22230127c"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Tue Mar 31 15:25:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:30 2009 -0700"
      },
      "message": "tridentfb: fix memory leaks in removal path\n\nWe were leaking the cmap memory.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: 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": "895d72279da7f24f266f9583c239e7b22230127c",
      "tree": "b120a3240285c3e4f0812c73505cb06a8174b30b",
      "parents": [
        "d4bc4e8af0a4a34c713f8c1a33a78cedffe8e0b7"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Tue Mar 31 15:25:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:30 2009 -0700"
      },
      "message": "tdfxfb: fix memory leaks in removal path\n\nWe were leaking the cmap memory.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: 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": "d4bc4e8af0a4a34c713f8c1a33a78cedffe8e0b7",
      "tree": "564a2cc2de3f7b87079a9945c701ebd3b107cf6d",
      "parents": [
        "6a7f2829b5f8be124e168265f176dbbbea8861a0"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Tue Mar 31 15:25:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:30 2009 -0700"
      },
      "message": "drivers/video/sgivwfb.c: fix memory leaks in removal path\n\nWe were leaking both the cmap memory and the info struct memory.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: 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": "6a7f2829b5f8be124e168265f176dbbbea8861a0",
      "tree": "e900d09ba43d9a7248725287a7658fa85e041332",
      "parents": [
        "66c1ca019078220dc1bf968f2bb18421100ef147"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Mar 31 15:25:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:29 2009 -0700"
      },
      "message": "fbdev: uninline lock_fb_info()\n\nBefore:\n\n   text    data     bss     dec     hex filename\n   3648    2910      32    6590    19be drivers/video/backlight/backlight.o\n   3226    2812      32    6070    17b6 drivers/video/backlight/lcd.o\n  30990   16688    8480   56158    db5e drivers/video/console/fbcon.o\n  15488    8400      24   23912    5d68 drivers/video/fbmem.o\n\nAfter:\n\n   text    data     bss     dec     hex filename\n   3537    2870      32    6439    1927 drivers/video/backlight/backlight.o\n   3131    2772      32    5935    172f drivers/video/backlight/lcd.o\n  30876   16648    8480   56004    dac4 drivers/video/console/fbcon.o\n  15506    8400      24   23930    5d7a drivers/video/fbmem.o\n\nCc: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "66c1ca019078220dc1bf968f2bb18421100ef147",
      "tree": "b01d28d74bab9d9e3f0f24841a80a272d6f6520a",
      "parents": [
        "8636a9240cc93efa6b36f4cfe6253e0574f832c6"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Tue Mar 31 15:25:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:29 2009 -0700"
      },
      "message": "fbmem: fix fb_info-\u003elock and mm-\u003emmap_sem circular locking dependency\n\nFix a circular locking dependency in the frame buffer console driver\npushing down the mutex fb_info-\u003elock.\n\nCircular locking dependecies occur calling the blocking\nfb_notifier_call_chain() with fb_info-\u003elock held.  Notifier callbacks can\ntry to acquire mm-\u003emmap_sem, while fb_mmap() acquires the locks in the\nreverse order mm-\u003emmap_sem \u003d\u003e fb_info-\u003elock.\n\nTested-by: Andrey Borzenkov \u003carvidjaar@mail.ru\u003e\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8636a9240cc93efa6b36f4cfe6253e0574f832c6",
      "tree": "6da421c57645ac1459bee8011bc42cd228849317",
      "parents": [
        "4242a23c9e6b8e2462bb49bf78b76bfdf32158b5"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:29 2009 -0700"
      },
      "message": "cirrusfb: fix interlaced modes\n\nFix calculations of timings for interlaced modes.\n\nSigned-off-by: 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": "4242a23c9e6b8e2462bb49bf78b76bfdf32158b5",
      "tree": "9339a9380bc5ae2f4eb0cf63444ffb02946a89c4",
      "parents": [
        "df3aafd57d590d6f3d95310fc3430f3a536d1e59"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:29 2009 -0700"
      },
      "message": "cirrusfb: fix threshold register mask for Laguna chips\n\nFix threshold register mask for Laguna chips otherwise some 8bpp modes are\ngarbled after selecting a 24bpp mode.\n\nSigned-off-by: 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": "df3aafd57d590d6f3d95310fc3430f3a536d1e59",
      "tree": "ae9a277926309e9c9378df4cb10208cd6845a5b0",
      "parents": [
        "8f19e15b8ad23e28add5760ed049be2359f39fe8"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:16 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:29 2009 -0700"
      },
      "message": "cirrusfb: GD5434 (aka SD64) support fixed\n\nFix handling of the Cirrus Logic GD5434 chip.  Distinguish this chip from the\nGD5430.  It allows detecting memory size for both models correctly.\n\nSigned-off-by: 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": "8f19e15b8ad23e28add5760ed049be2359f39fe8",
      "tree": "a595214c2e41c4bfb6b9b16ebf58eb98f5870f9e",
      "parents": [
        "614c0dc93284404be2a4d5750c79bb95f2b6c980"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:29 2009 -0700"
      },
      "message": "cirrusfb: set MCLK in one place\n\nA memory clock (MCLK) is set at various places.  Move the setting into one\nplace.\n\nSet the MCLK only for Zorro cards as the x86 cards should be initialized by\nBIOS.\n\nImprove handling of the GD5434 (SD64).\n\nKill one annoying debug output \"virtual offset: ...\".\n\nSigned-off-by: 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": "614c0dc93284404be2a4d5750c79bb95f2b6c980",
      "tree": "767a9412f5dcea630d2734fab7d9e8f4e393b38c",
      "parents": [
        "dd14f71cc62dd07b588cc6de935155e6fd3911c9"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:29 2009 -0700"
      },
      "message": "cirrusfb: add accelerator constant\n\nAdd an accelerator constant so almost all Cirrus are recognized as\naccelerators by the fbset command.\n\nSigned-off-by: 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": "dd14f71cc62dd07b588cc6de935155e6fd3911c9",
      "tree": "d046369dd130cf4ce16c75d61377e0dda79ce9ea",
      "parents": [
        "7cade31cabec33c396b1dfd9c2842e793c2648ef"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:28 2009 -0700"
      },
      "message": "cirrusfb: fix clock doubling\n\nCirrus\u0027 Alpine and Picasso4 chips uses DAC clock doubling to achieve full\nrange of pixclock frequencies.\n\n[akpm@linux-foundation.org: fix spelling, use usual comment layout]\nSigned-off-by: 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": "7cade31cabec33c396b1dfd9c2842e793c2648ef",
      "tree": "b9faabfd7470e657670bbd794286fb80e6c8d13a",
      "parents": [
        "527410ff7fc5d45fe41523c0ba061113dea22017"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:28 2009 -0700"
      },
      "message": "cirrusfb: use 24bpp instead of 32bpp\n\nThe 32bpp is supported only on the latest Cirrus Logic chips.  Use the\n24bpp which is supported at least since Alpine chips (GD543x).\n\nChange 32bpp mode setting to 24bpp mode.  Change acceleration as well.\n\nSigned-off-by: 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": "527410ff7fc5d45fe41523c0ba061113dea22017",
      "tree": "d10016fad7c224f09b572dcab4e3ab46c7ec8f86",
      "parents": [
        "bc5d8ac02f24d68efe8e267c96dd75c0531009ab"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:28 2009 -0700"
      },
      "message": "cirrusfb: GD5446 fixes\n\nVarious fixes to make Cirrus GD5446 chip work.\n\nAnother Cirrus chip works with the cirrusfb.  The gd5446 seems very\nsimilar to Alpine chips.\n\nSigned-off-by: 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": "bc5d8ac02f24d68efe8e267c96dd75c0531009ab",
      "tree": "0876991e7a956532428169a10939588e9399a395",
      "parents": [
        "9e848062533207130667f6eaa748549367ccbedf"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:28 2009 -0700"
      },
      "message": "cirrusfb: fix error paths in cirrusfb_xxx_register()\n\nBalance iomap and iounmap and alloc and free calls in case of error druing\ndevice register (probing).\n\nSigned-off-by: 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": "9e848062533207130667f6eaa748549367ccbedf",
      "tree": "ad651331ecaf303dd94490a57cc4c5271f8095ba",
      "parents": [
        "8343c89c4f1aac4fced7bb6919b0bdd0c13edcdc"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:28 2009 -0700"
      },
      "message": "cirrusfb: add imageblit function\n\nAdd hardware color expansion (imageblit) function.  It roughly doubles\nscrolling speed of my Alpine card (GD5430).\n\nSigned-off-by: 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": "8343c89c4f1aac4fced7bb6919b0bdd0c13edcdc",
      "tree": "7ab000f00e0a12706b110091dc5f16a5cfd340bb",
      "parents": [
        "78d780e07247d52d3943b019bf9459bc9e95de1e"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:28 2009 -0700"
      },
      "message": "cirrusfb: acceleration improvements\n\n- Fix color expansion for 16bpp and 32bpp modes in the\n  cirrusfb_RectFill().\n\n- Make a function with a common blitter code (cirrusfb_set_blitter).\n\n- Add fb_sync function to allow a higher layer synchronize with the\n  blitter.\n\n- Kill one redundant blitter reset.\n\nSigned-off-by: 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": "78d780e07247d52d3943b019bf9459bc9e95de1e",
      "tree": "87e7f4f973fe7cf4ab2332afb354cbc9135c58a5",
      "parents": [
        "99a4584752bb41330342a427d014482525de7433"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:28 2009 -0700"
      },
      "message": "cirrusfb: various Laguna fixes\n\n- The Laguna GD5465 (AGP) has one register more than non-AGP chips.\n  Recognize the AGP version and write a tile control register only on the\n  AGP version.  Tested only on an AGP card.\n\n- Bump up RAMDAC frequencies after X11 code.  This allow to drive a flat\n  panel resolution 1680x1050 at 16bpp from the 4MB card.\n\n- Fix screen start address overflow bits on Laguna cards (CRT1D\n  register).\n\n- Fix exit path in the cirrusfb_pci_register() in case of error.\n\nSigned-off-by: 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": "99a4584752bb41330342a427d014482525de7433",
      "tree": "5a705f234f5ace69c028578102919394dfc0bf26",
      "parents": [
        "1b48cb563d59e03dbf530174f30c0ed3b6fba513"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:27 2009 -0700"
      },
      "message": "cirrusfb: check_var improvements\n\nBreak cirrusfb_decode_var() function into two parts:\ncirrusfb_check_pixclock() which can be called from the\ncirrusfb_check_var() aand merge rest into the cirrusfb_set_par_foo().\nThis allows rejecting modes with too high pixclock before before any\nchange to hardware state (and a console is messed up).\n\nAlso, fix RGB field\u0027s lengths for 8bpp modes to correct ones so X11 works\nwith fbdev driver with cirrusfb.\n\nKill some redundant function calls or register loads.\n\nSigned-off-by: 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": "1b48cb563d59e03dbf530174f30c0ed3b6fba513",
      "tree": "cef000929c4366c6a92b5456981a88a41e461d4f",
      "parents": [
        "48c329e906f834711906ab4b0986ea0e857aff16"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:27 2009 -0700"
      },
      "message": "cirrusfb: Laguna chipset 8bpp fix\n\nFix 8bpp mode by adding handling of the Laguna chipsets to various places\nand stop trashing a HDR register which probably does not exist on the\nLaguna.\n\nFix compilation warnings about uninitialized variables also.\n\nFinally, all 8bpp, 16bpp and 32bpp modes work on the Laguna chipset.\n\nSigned-off-by: 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": "48c329e906f834711906ab4b0986ea0e857aff16",
      "tree": "37ba1eb85da5b884ee206b2c4f30b07e782f9798",
      "parents": [
        "c4dec3962d6bff26010fcfc61500c1241469a6e0"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Mar 31 15:25:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:27 2009 -0700"
      },
      "message": "cirrusfb: various improvements\n\nVarious improvements to the code:\n- kill a structure with only one\n  field: multiplexing and use the\n  field directly\n- move the cirrusfb_ops structure\n  down the file to kill forward\n  declarations\n- move cirrusfb_init() to kill\n  forward declaration\n- kill register loads done already\n  in the init_vgachip()\n- kill assigments done by higher\n  layer in the cirrusfb_pan_display()\n- do not overwrite line pitch bit in\n  the CL_CRT1D register\n- kill btype variables if they were\n  used only once or twice\n- add cpu_relax() in the busy waiting\n  loop\n\nThe fix to the CL_CRT1D register handling makess the 1024x768 32bpp mode\nwork.  Previously, only lower resolution modes have worked with 32bpp.\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "c4dec3962d6bff26010fcfc61500c1241469a6e0"
}
