)]}'
{
  "log": [
    {
      "commit": "00ef4ece05096a5c523e265b8ce6627fb5e171c2",
      "tree": "13e3db3b95e04ed3fd53dae599a947c87e87c799",
      "parents": [
        "e2f7aa4b8bc811ebf8afbdf423caf90a5a03cb08"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Fri Feb 27 14:03:07 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 27 16:26:21 2009 -0800"
      },
      "message": "checkpatch: correctly handle type spacing in the face of modifiers\n\nWe need to handle interspersed modifiers in the middle of pointer types,\nfor example:\n\n\tvoid * __user * __user bar;\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e2f7aa4b8bc811ebf8afbdf423caf90a5a03cb08",
      "tree": "2c3dc6651cbdf54d2a7234bdaa75664b93ca2945",
      "parents": [
        "f4a8773676c21a68b0666fbe48af4fe1af89dfa9"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Fri Feb 27 14:03:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 27 16:26:21 2009 -0800"
      },
      "message": "checkpatch: do not warn about -p0 patches when checking files\n\nWe are triggering the -p0 check for our own diffs generated using --file\ncommand line option.  Suppress this check for files.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f4a8773676c21a68b0666fbe48af4fe1af89dfa9",
      "tree": "1ae344b48e791f3abf9310ec71bb15ddd72b2ae1",
      "parents": [
        "cbb766766f3f2f6d9326c561b1020590642c6e39"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Fri Feb 27 14:03:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 27 16:26:21 2009 -0800"
      },
      "message": "checkpatch: make in_atomic ok in the core\n\nWe say that in_atomic() is ok in the core kernel, but then always report\nit regardless of where in the kernel it is.  Keep quiet if it is used in\nkernel/*.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cbb766766f3f2f6d9326c561b1020590642c6e39",
      "tree": "0caaf23286211653ac03b04570914d19521e0e5d",
      "parents": [
        "7766970cc13e9071b356b1f2a48a9eb8675bfcce"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Fri Feb 27 14:03:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 27 16:26:21 2009 -0800"
      },
      "message": "mm: fix lazy vmap purging (use-after-free error)\n\nI just got this new warning from kmemcheck:\n\n    WARNING: kmemcheck: Caught 32-bit read from freed memory (c7806a60)\n    a06a80c7ecde70c1a04080c700000000a06709c1000000000000000000000000\n     f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f\n     ^\n\n    Pid: 0, comm: swapper Not tainted (2.6.29-rc4 #230)\n    EIP: 0060:[\u003cc1096df7\u003e] EFLAGS: 00000286 CPU: 0\n    EIP is at __purge_vmap_area_lazy+0x117/0x140\n    EAX: 00070f43 EBX: c7806a40 ECX: c1677080 EDX: 00027b66\n    ESI: 00002001 EDI: c170df0c EBP: c170df00 ESP: c178830c\n     DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068\n    CR0: 80050033 CR2: c7806b14 CR3: 01775000 CR4: 00000690\n    DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000\n    DR6: 00004000 DR7: 00000000\n     [\u003cc1096f3e\u003e] free_unmap_vmap_area_noflush+0x6e/0x70\n     [\u003cc1096f6a\u003e] remove_vm_area+0x2a/0x70\n     [\u003cc1097025\u003e] __vunmap+0x45/0xe0\n     [\u003cc10970de\u003e] vunmap+0x1e/0x30\n     [\u003cc1008ba5\u003e] text_poke+0x95/0x150\n     [\u003cc1008ca9\u003e] alternatives_smp_unlock+0x49/0x60\n     [\u003cc171ef47\u003e] alternative_instructions+0x11b/0x124\n     [\u003cc171f991\u003e] check_bugs+0xbd/0xdc\n     [\u003cc17148c5\u003e] start_kernel+0x2ed/0x360\n     [\u003cc171409e\u003e] __init_begin+0x9e/0xa9\n     [\u003cffffffff\u003e] 0xffffffff\n\nIt happened here:\n\n    $ addr2line -e vmlinux -i c1096df7\n    mm/vmalloc.c:540\n\nCode:\n\n\tlist_for_each_entry(va, \u0026valist, purge_list)\n\t\t__free_vmap_area(va);\n\nIt\u0027s this instruction:\n\n    mov    0x20(%ebx),%edx\n\nWhich corresponds to a dereference of va-\u003epurge_list.next:\n\n    (gdb) p ((struct vmap_area *) 0)-\u003epurge_list.next\n    Cannot access memory at address 0x20\n\nIt seems that we should use \"safe\" list traversal here, as the element\nis freed inside the loop. Please verify that this is the right fix.\n\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7766970cc13e9071b356b1f2a48a9eb8675bfcce",
      "tree": "615ebb34f392c882cc0b72e2958249a2f9f0ee19",
      "parents": [
        "5170836679185357dc1b7660bad13287b39e1e33"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Feb 27 14:03:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 27 16:26:21 2009 -0800"
      },
      "message": "mm: vmap fix overflow\n\nThe new vmap allocator can wrap the address and get confused in the case\nof large allocations or VMALLOC_END near the end of address space.\n\nProblem reported by Christoph Hellwig on a 32-bit XFS workload.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5170836679185357dc1b7660bad13287b39e1e33",
      "tree": "0b470820e11df7c7eef7e3161657aefe90c7c35e",
      "parents": [
        "8ca2f156b06bdcbfd1ab543355279246d05e2499"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Feb 27 14:03:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 27 16:26:21 2009 -0800"
      },
      "message": "Fix recursive lock in free_uid()/free_user_ns()\n\nfree_uid() and free_user_ns() are corecursive when CONFIG_USER_SCHED\u003dn,\nbut free_user_ns() is called from free_uid() by way of uid_hash_remove(),\nwhich requires uidhash_lock to be held.  free_user_ns() then calls\nfree_uid() to complete the destruction.\n\nFix this by deferring the destruction of the user_namespace.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8ca2f156b06bdcbfd1ab543355279246d05e2499",
      "tree": "4197c0e578f7fb09fd4b55b509e383561e94ede9",
      "parents": [
        "adc487204a9373d2b5a535412466326036147a72"
      ],
      "author": {
        "name": "Herton Ronaldo Krzesinski",
        "email": "herton@mandriva.com.br",
        "time": "Fri Feb 27 14:03:00 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 27 16:26:21 2009 -0800"
      },
      "message": "w1: add missing Kconfig/Makefile entries for DS2431 slave driver\n\nSigned-off-by: Herton Ronaldo Krzesinski \u003cherton@mandriva.com.br\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "adc487204a9373d2b5a535412466326036147a72",
      "tree": "bae340437d94f25020f2dcdf448eb1110d4621a8",
      "parents": [
        "dca17146f4b72b8966016c406d94ad3e48289b79"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Feb 27 14:02:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 27 16:26:20 2009 -0800"
      },
      "message": "EXPORT_SYMBOL(d_obtain_alias) rather than EXPORT_SYMBOL_GPL\n\nCommit 4ea3ada2955e4519befa98ff55dd62d6dfbd1705 declares d_obtain_alias()\nas EXPORT_SYMBOL_GPL where it\u0027s supposed to replace d_alloc_anon which was\npreviously declared as EXPORT_SYMBOL and thus available to any loadable\nmodule.\n\nThis patch reverts that.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Al Viro \u003cviro@zeniv.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": "dca17146f4b72b8966016c406d94ad3e48289b79",
      "tree": "35ba7c6673cce26f3be599a01a6887e29c952ffd",
      "parents": [
        "221be177e68e197a946bb991c8b91468e960be4e"
      ],
      "author": {
        "name": "Ben Gardner",
        "email": "gardner.ben@gmail.com",
        "time": "Fri Feb 27 14:02:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 27 16:26:20 2009 -0800"
      },
      "message": "w1_ds2433: clear the validcrc flag after a write\n\nThe w1_ds2433 driver does not read from the hardware if the CRC was valid\non the last read.  The validcrc flag should be cleared after a write so\nthat the new value can be read.\n\nSigned-off-by: Ben Gardner \u003cgardner.ben@gmail.com\u003e\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "221be177e68e197a946bb991c8b91468e960be4e",
      "tree": "f77313df6358700d58cc7921551400170a8f6700",
      "parents": [
        "d49981150387c481779a544ec641f17882f4bbfb",
        "b50be33e42e2c87812b30aee1a2b2a5ac6cb3ffa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 14:45:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 14:45:57 2009 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  [MTD] [MAPS] Remove MODULE_DEVICE_TABLE() from ck804rom driver.\n  [JFFS2] fix mount crash caused by removed nodes\n  [JFFS2] force the jffs2 GC daemon to behave a bit better\n  [MTD] [MAPS] blackfin async requires complex mappings\n  [MTD] [MAPS] blackfin: fix memory leak in error path\n  [MTD] [MAPS] physmap: fix wrong free and del_mtd_{partition,device}\n  [MTD] slram: Handle negative devlength correctly\n  [MTD] map_rom has NULL erase pointer\n  [MTD] [LPDDR] qinfo_probe depends on lpddr\n"
    },
    {
      "commit": "d49981150387c481779a544ec641f17882f4bbfb",
      "tree": "02661a89635bd191b069f546b97d5cd3c63f2426",
      "parents": [
        "392b8e47bada8a1068ab0c0bdc44c58726dc395b",
        "28d57d437786eb3e44f1ca3f0f41e7cfe29c6dd4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 14:45:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 14:45:42 2009 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2:\n  ocfs2: add IO error check in ocfs2_get_sector()\n  ocfs2: set gap to seperate entry and value when xattr in bucket\n  ocfs2: lock the metaecc process for xattr bucket\n  ocfs2: Use the right access_* method in ctime update of xattr.\n  ocfs2/dlm: Make dlm_assert_master_handler() kill itself instead of the asserter\n  ocfs2/dlm: Use ast_lock to protect ast_list\n  ocfs2: Cleanup the lockname print in dlmglue.c\n  ocfs2/dlm: Retract fix for race between purge and migrate\n  ocfs2: Access and dirty the buffer_head in mark_written.\n"
    },
    {
      "commit": "392b8e47bada8a1068ab0c0bdc44c58726dc395b",
      "tree": "c71490983f37d74067c90a7e29055a2d0cf3d9ed",
      "parents": [
        "4bdc1b96504f5f562b129afd48ca03d79aeb1fd9",
        "1ac00cc21337b0b667493d9af79d88537de90aa3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 14:45:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 14:45:25 2009 -0800"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/44x: Fix address decoding setup of PCI 2.x cells\n"
    },
    {
      "commit": "4bdc1b96504f5f562b129afd48ca03d79aeb1fd9",
      "tree": "85a16c0e7488d9d3a94bc1574b732ceb0cdb92d7",
      "parents": [
        "64e71303e44f3697e4568147caa966de74bdb4fb",
        "bbe194433baeadc953f49e3795b41ffffc5486dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 14:43:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 14:43:42 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI: AMD 813x B2 devices do not need boot interrupt quirk\n  PCI: Enable PCIe AER only after checking firmware support\n  PCI: pciehp: Handle interrupts that happen during initialization.\n  PCI: don\u0027t enable too many HT MSI mappings\n  PCI: add some sysfs ABI docs\n  PCI quirk: enable MSI on 8132\n"
    },
    {
      "commit": "1ac00cc21337b0b667493d9af79d88537de90aa3",
      "tree": "689707f31712722e7545f4985b014fd489a9b2b6",
      "parents": [
        "64e71303e44f3697e4568147caa966de74bdb4fb"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sun Feb 01 14:24:18 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Feb 27 09:30:17 2009 +1100"
      },
      "message": "powerpc/44x: Fix address decoding setup of PCI 2.x cells\n\nThe PCI 2.x cells used on some 44x SoCs only let us configure the decode\nfor the low 32-bit of the incoming PLB addresses. The top 4 bits (this\nis a 36-bit bus) are hard wired to different values depending on the\nspecific SoC in use. Our code used to work \"by accident\" until I added\nsupport for the ISA memory holes and while at it added more validity\nchecking of the addresses.\n\nThis patch should bring it back to working condition. It still relies\non the device-tree being correct but that\u0027s somewhat a pre-requisite\nfor anything to work anyway.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nAcked-by: Josh Boyer \u003cjwboyer@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "bbe194433baeadc953f49e3795b41ffffc5486dd",
      "tree": "848d2146360de966b99bcd405fd62a1e2f4c06d3",
      "parents": [
        "1f9f13c8d59c1d8da1a602b71d1ab96d1d37d69e"
      ],
      "author": {
        "name": "Stefan Assmann",
        "email": "sassmann@novell.com",
        "time": "Thu Feb 26 10:46:48 2009 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Thu Feb 26 14:08:09 2009 -0800"
      },
      "message": "PCI: AMD 813x B2 devices do not need boot interrupt quirk\n\nTurns out that the new AMD 813x devices do not need the\nquirk_disable_amd_813x_boot_interrupt quirk to be run on them.  If it\nis, no interrupts are seen on the PCI-X adapter.\n\nFrom: Stefan Assmann \u003csassmann@novell.com\u003e\nReported-by: Jamie Wellnitz \u003cJamie.Wellnitz@emulex.com\u003e\nTested-by: Jamie Wellnitz \u003cJamie.Wellnitz@emulex.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@hobbes.lan\u003e\n"
    },
    {
      "commit": "b50be33e42e2c87812b30aee1a2b2a5ac6cb3ffa",
      "tree": "5e2da77ea97a510341d7cb13aeafe8b3057602c6",
      "parents": [
        "4c41bd0ec953954158f92bed5d3062645062b98e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Fri Feb 27 04:51:33 2009 +0900"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Fri Feb 27 04:52:45 2009 +0900"
      },
      "message": "[MTD] [MAPS] Remove MODULE_DEVICE_TABLE() from ck804rom driver.\n\nWe really don\u0027t want the BIOS flash mapping hacks to get automatically\nloaded.\n\nNo idea why it isn\u0027t using pci_register_driver() though -- that should\nbe fine... and is even _present_ but disabled by #if 0.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "28d57d437786eb3e44f1ca3f0f41e7cfe29c6dd4",
      "tree": "f6dfd111dac45ee7e2b366eb47a2598f46460a1e",
      "parents": [
        "4442f518269c6b3686fcbcadad22dc4475309b16"
      ],
      "author": {
        "name": "wengang wang",
        "email": "wen.gang.wang@oracle.com",
        "time": "Fri Feb 13 10:11:47 2009 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:12 2009 -0800"
      },
      "message": "ocfs2: add IO error check in ocfs2_get_sector()\n\nCheck for IO error in ocfs2_get_sector().\n\nSigned-off-by: Wengang Wang \u003cwen.gang.wang@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "4442f518269c6b3686fcbcadad22dc4475309b16",
      "tree": "5d054d3e44dc95d6ce48709894fe5f2449fb6c77",
      "parents": [
        "c8b9cf9a7cd25ba65166116d0a958f0bc709f0a7"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Fri Feb 20 11:11:50 2009 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:11 2009 -0800"
      },
      "message": "ocfs2: set gap to seperate entry and value when xattr in bucket\n\nThis patch set a gap (4 bytes) between xattr entry and\nname/value when xattr in bucket. This gap use to seperate\nentry and name/value when a bucket is full. It had already\nbeen set when xattr in inode/block.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "c8b9cf9a7cd25ba65166116d0a958f0bc709f0a7",
      "tree": "81ab9d6d0be93e57bcb17130abed3516574b3752",
      "parents": [
        "89a907afe073b8971a83d0ad54f391542b64d327"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Feb 24 17:40:26 2009 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:11 2009 -0800"
      },
      "message": "ocfs2: lock the metaecc process for xattr bucket\n\nFor other metadata in ocfs2, metaecc is checked in ocfs2_read_blocks\nwith io_mutex held. While for xattr bucket, it is calculated by\nthe whole buckets. So we have to add a spin_lock to prevent multiple\nprocesses calculating metaecc.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nTested-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "89a907afe073b8971a83d0ad54f391542b64d327",
      "tree": "0168dc1ee1a92981c74c73e9a224e9d4fe63b048",
      "parents": [
        "53ecd25e148615e0ed2a72635cc76f4773f97f90"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Feb 17 04:39:28 2009 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:11 2009 -0800"
      },
      "message": "ocfs2: Use the right access_* method in ctime update of xattr.\n\nIn ctime updating of xattr, it use the wrong type of access for\ninode, so use ocfs2_journal_access_di instead.\n\nReported-and-Tested-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "53ecd25e148615e0ed2a72635cc76f4773f97f90",
      "tree": "ad4f26d160889792c72199678634b4132c5ce1d7",
      "parents": [
        "dabc47de7a23f57522dc762d9d2ad875700d3497"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Tue Feb 03 12:37:16 2009 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:11 2009 -0800"
      },
      "message": "ocfs2/dlm: Make dlm_assert_master_handler() kill itself instead of the asserter\n\nIn dlm_assert_master_handler(), if we get an incorrect assert master from a node\nthat, we reply with EINVAL asking the asserter to die. The problem is that an\nassert is sent after so many hoops, it is invariably the node that thinks the\nasserter is wrong, is actually wrong. So instead of killing the asserter, this\npatch kills the assertee.\n\nThis patch papers over a race that is still being addressed.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "dabc47de7a23f57522dc762d9d2ad875700d3497",
      "tree": "02d3bca6eaa20975512693a4fcce988dd7df4855",
      "parents": [
        "c74ff8bb2235d848beb67fcfddae71ecbe3f92b1"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Tue Feb 03 12:37:15 2009 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:09 2009 -0800"
      },
      "message": "ocfs2/dlm: Use ast_lock to protect ast_list\n\nThe code was using dlm-\u003espinlock instead of dlm-\u003east_lock to protect the\nast_list. This patch fixes the issue.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "c74ff8bb2235d848beb67fcfddae71ecbe3f92b1",
      "tree": "516dd4c87a13c5a068fb47660488f52de486ddb2",
      "parents": [
        "7dc102b737e9f49dac426161294cb2d326a97d8e"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Tue Feb 03 12:37:14 2009 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:09 2009 -0800"
      },
      "message": "ocfs2: Cleanup the lockname print in dlmglue.c\n\nThe dentry lock has a different format than other locks. This patch fixes\nocfs2_log_dlm_error() macro to make it print the dentry lock correctly.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "7dc102b737e9f49dac426161294cb2d326a97d8e",
      "tree": "6073525b25fa7ab423099e808866cfdf96f668dd",
      "parents": [
        "47be12e4eec84c1846f29af64fe25a396b57a026"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Tue Feb 03 12:37:13 2009 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:09 2009 -0800"
      },
      "message": "ocfs2/dlm: Retract fix for race between purge and migrate\n\nMainline commit d4f7e650e55af6b235871126f747da88600e8040 attempts to delay\nthe dlm_thread from sending the drop ref message if the lockres is being\nmigrated. The problem is that we make the dlm_thread wait for the migration\nto complete. This causes a deadlock as dlm_thread also participates in the\nlockres migration process.\n\nA better fix for the original oss bugzilla#1012 is in testing.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "47be12e4eec84c1846f29af64fe25a396b57a026",
      "tree": "a16590b4fc4e3753295c230a32f07a6e1bbd3a57",
      "parents": [
        "64e71303e44f3697e4568147caa966de74bdb4fb"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Fri Jan 09 07:32:48 2009 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Feb 26 11:51:09 2009 -0800"
      },
      "message": "ocfs2: Access and dirty the buffer_head in mark_written.\n\nIn __ocfs2_mark_extent_written, when we meet with the situation\nof c_split_covers_rec, the old solution just replace the extent\nrecord and forget to access and dirty the buffer_head. This will\ncause a problem when the unwritten extent is in an extent block.\nSo access and dirty it.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "64e71303e44f3697e4568147caa966de74bdb4fb",
      "tree": "49c93c69aeb56e739658c00981f1410e1e354d38",
      "parents": [
        "babb29b0a33db53704594f63f271ca6c049eddc6",
        "4e06bdd6cbd5105376e7caf4e683ed131e777389"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 10:37:00 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 10:37:00 2009 -0800"
      },
      "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 committing transaction before returning ENOSPC\n  Btrfs: add better -ENOSPC handling\n"
    },
    {
      "commit": "babb29b0a33db53704594f63f271ca6c049eddc6",
      "tree": "6d03412fc9315dd1bd221ee1ab4e5f67768a9904",
      "parents": [
        "6fc79d40d30b1595261607a155f039fb7b2d5606",
        "9e973e64ac6dc504e6447d52193d4fff1a670156"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 10:36:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 10:36:35 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  xen/blkfront: use blk_rq_map_sg to generate ring entries\n  block: reduce stack footprint of blk_recount_segments()\n  cciss: shorten 30s timeout on controller reset\n  block: add documentation for register_blkdev()\n  block: fix bogus gcc warning for uninitialized var usage\n"
    },
    {
      "commit": "6fc79d40d30b1595261607a155f039fb7b2d5606",
      "tree": "5960786a4bea47d9da6cf1ef7230f86e8656f980",
      "parents": [
        "86883c2736e9697a38080a31c2794fa1316fd68f",
        "f72b728bf100f276628e378e1fe6c6acd5d09401"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 10:36:19 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 10:36:19 2009 -0800"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc: Fix 64bit __copy_tofrom_user() regression\n  powerpc: Fix 64bit memcpy() regression\n  powerpc: Fix load/store float double alignment handler\n"
    },
    {
      "commit": "86883c2736e9697a38080a31c2794fa1316fd68f",
      "tree": "2825a5a73cbb025d74aabd1be530e43c03e41525",
      "parents": [
        "169d418b127b98a3e464e9c4b807ad083760f98c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 10:32:31 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 10:32:31 2009 -0800"
      },
      "message": "Make ieee1394_init a fs-initcall\n\nIt needs to happen before any firewire driver actually registers itself,\nand that was previously handled by having the Makefile list the core\nieee1394 files before the drivers.\n\nBut now there are firewire drivers in drivers/media, and the Makefile\ngames aren\u0027t enough.  So just make ieee1394_init happen earlier in the\ninit sequence, the way all other bus layers already do.\n\nReported-and-tested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: Henrik Kurelid \u003chenrik@kurelid.se\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: Ben Backx \u003cben@bbackx.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e973e64ac6dc504e6447d52193d4fff1a670156",
      "tree": "518cb0f34f9229f7faa81754733ce3926b84625c",
      "parents": [
        "1e42807918d17e8c93bf14fbb74be84b141334c1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 24 08:10:09 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Feb 26 10:45:48 2009 +0100"
      },
      "message": "xen/blkfront: use blk_rq_map_sg to generate ring entries\n\nOn occasion, the request will apparently have more segments than we\nfit into the ring. Jens says:\n\n\u003e The second problem is that the block layer then appears to create one\n\u003e too many segments, but from the dump it has rq-\u003enr_phys_segments \u003d\u003d\n\u003e BLKIF_MAX_SEGMENTS_PER_REQUEST. I suspect the latter is due to\n\u003e xen-blkfront not handling the merging on its own. It should check that\n\u003e the new page doesn\u0027t form part of the previous page. The\n\u003e rq_for_each_segment() iterates all single bits in the request, not dma\n\u003e segments. The \"easiest\" way to do this is to call blk_rq_map_sg() and\n\u003e then iterate the mapped sg list. That will give you what you are\n\u003e looking for.\n\n\u003e Here\u0027s a test patch, compiles but otherwise untested. I spent more\n\u003e time figuring out how to enable XEN than to code it up, so YMMV!\n\u003e Probably the sg list wants to be put inside the ring and only\n\u003e initialized on allocation, then you can get rid of the sg on stack and\n\u003e sg_init_table() loop call in the function. I\u0027ll leave that, and the\n\u003e testing, to you.\n\n[Moved sg array into info structure, and initialize once. -J]\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "1e42807918d17e8c93bf14fbb74be84b141334c1",
      "tree": "55b15f0f6b2c666efeb938d064f24fdd268faf40",
      "parents": [
        "5e4c91c84b194b26cf592779e451f4b5be777cba"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 23 09:03:10 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Feb 26 10:45:48 2009 +0100"
      },
      "message": "block: reduce stack footprint of blk_recount_segments()\n\nblk_recalc_rq_segments() requires a request structure passed in, which\nwe don\u0027t have from blk_recount_segments(). So the latter allocates one on\nthe stack, using \u003e 400 bytes of stack for that. This can cause us to spill\nover one page of stack from ext4 at least:\n\n 0)     4560     400   blk_recount_segments+0x43/0x62\n 1)     4160      32   bio_phys_segments+0x1c/0x24\n 2)     4128      32   blk_rq_bio_prep+0x2a/0xf9\n 3)     4096      32   init_request_from_bio+0xf9/0xfe\n 4)     4064     112   __make_request+0x33c/0x3f6\n 5)     3952     144   generic_make_request+0x2d1/0x321\n 6)     3808      64   submit_bio+0xb9/0xc3\n 7)     3744      48   submit_bh+0xea/0x10e\n 8)     3696     368   ext4_mb_init_cache+0x257/0xa6a [ext4]\n 9)     3328     288   ext4_mb_regular_allocator+0x421/0xcd9 [ext4]\n10)     3040     160   ext4_mb_new_blocks+0x211/0x4b4 [ext4]\n11)     2880     336   ext4_ext_get_blocks+0xb61/0xd45 [ext4]\n12)     2544      96   ext4_get_blocks_wrap+0xf2/0x200 [ext4]\n13)     2448      80   ext4_da_get_block_write+0x6e/0x16b [ext4]\n14)     2368     352   mpage_da_map_blocks+0x7e/0x4b3 [ext4]\n15)     2016     352   ext4_da_writepages+0x2ce/0x43c [ext4]\n16)     1664      32   do_writepages+0x2d/0x3c\n17)     1632     144   __writeback_single_inode+0x162/0x2cd\n18)     1488      96   generic_sync_sb_inodes+0x1e3/0x32b\n19)     1392      16   sync_sb_inodes+0xe/0x10\n20)     1376      48   writeback_inodes+0x69/0xb3\n21)     1328     208   balance_dirty_pages_ratelimited_nr+0x187/0x2f9\n22)     1120     224   generic_file_buffered_write+0x1d4/0x2c4\n23)      896     176   __generic_file_aio_write_nolock+0x35f/0x393\n24)      720      80   generic_file_aio_write+0x6c/0xc8\n25)      640      80   ext4_file_write+0xa9/0x137 [ext4]\n26)      560     320   do_sync_write+0xf0/0x137\n27)      240      48   vfs_write+0xb3/0x13c\n28)      192      64   sys_write+0x4c/0x74\n29)      128     128   system_call_fastpath+0x16/0x1b\n\nSplit the segment counting out into a __blk_recalc_rq_segments() helper\nto avoid allocating an onstack request just for checking the physical\nsegment count.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5e4c91c84b194b26cf592779e451f4b5be777cba",
      "tree": "334b9e2725eba9aebc18fefe7c52eb1523569245",
      "parents": [
        "9e8c0bccdc944bd09361672d47660810c027bcaa"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 23 08:53:35 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Feb 26 10:45:48 2009 +0100"
      },
      "message": "cciss: shorten 30s timeout on controller reset\n\nIf reset_devices is set for kexec, then cciss will delay 30 seconds\nsince the old 5i controller _may_ need that long to recover. Replace\nthe long sleep with incremental sleep and tests to reduce the 30 seconds\nto worst case for 5i, so that other controllers will proceed quickly.\n\nReviewed-by: Mike Miller \u003cmike.miller@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9e8c0bccdc944bd09361672d47660810c027bcaa",
      "tree": "2974fec8cbfdddc52d0a051b26dadc7898079d14",
      "parents": [
        "b2bf96833c5782befc3e7700f791fde754a47b01"
      ],
      "author": {
        "name": "Márton Németh",
        "email": "nm127@freemail.hu",
        "time": "Fri Feb 20 08:12:51 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Feb 26 10:45:48 2009 +0100"
      },
      "message": "block: add documentation for register_blkdev()\n\nAdd documentation for register_blkdev() function and for the parameters.\n\nSigned-off-by: Márton Németh \u003cnm127@freemail.hu\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b2bf96833c5782befc3e7700f791fde754a47b01",
      "tree": "b38745750c948b519e4c46bb9589d3a61c6359f4",
      "parents": [
        "169d418b127b98a3e464e9c4b807ad083760f98c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Feb 19 08:50:26 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Feb 26 10:45:48 2009 +0100"
      },
      "message": "block: fix bogus gcc warning for uninitialized var usage\n\nNewer gcc throw this warning:\n\n        fs/bio.c: In function ?bio_alloc_bioset?:\n        fs/bio.c:305: warning: ?p? may be used uninitialized in this function\n\nsince it cannot figure out that \u0027p\u0027 is only ever used if \u0027bs\u0027 is non-NULL.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f72b728bf100f276628e378e1fe6c6acd5d09401",
      "tree": "edc7e3f0ad62669a188c24d92831565dc5c35bfd",
      "parents": [
        "e423b9ecd6aa434ce9ba72a21fdc61079e620e0a"
      ],
      "author": {
        "name": "Mark Nelson",
        "email": "markn@au1.ibm.com",
        "time": "Wed Feb 25 13:46:24 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 26 14:02:54 2009 +1100"
      },
      "message": "powerpc: Fix 64bit __copy_tofrom_user() regression\n\nThis fixes a regression introduced by commit\na4e22f02f5b6518c1484faea1f88d81802b9feac (\"powerpc: Update 64bit\n__copy_tofrom_user() using CPU_FTR_UNALIGNED_LD_STD\").\n\nThe same bug that existed in the 64bit memcpy() also exists here so fix\nit here too. The fix is the same as that applied to memcpy() with the\naddition of fixes for the exception handling code required for\n__copy_tofrom_user().\n\nThis stops us reading beyond the end of the source region we were told\nto copy.\n\nSigned-off-by: Mark Nelson \u003cmarkn@au1.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "e423b9ecd6aa434ce9ba72a21fdc61079e620e0a",
      "tree": "497608c41554e8d2cbff6054d35988bcaf9577a8",
      "parents": [
        "49f297f8df9adb797334155470ea9ca68bdb041e"
      ],
      "author": {
        "name": "Mark Nelson",
        "email": "markn@au1.ibm.com",
        "time": "Wed Feb 25 13:26:48 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 26 14:02:53 2009 +1100"
      },
      "message": "powerpc: Fix 64bit memcpy() regression\n\nThis fixes a regression introduced by commit\n25d6e2d7c58ddc4a3b614fc5381591c0cfe66556 (\"powerpc: Update 64bit memcpy()\nusing CPU_FTR_UNALIGNED_LD_STD\").\n\nThis commit allowed CPUs that have the CPU_FTR_UNALIGNED_LD_STD CPU\nfeature bit present to do the memcpy() with unaligned load doubles. But,\nalong with this came a bug where our final load double would read bytes\nbeyond a page boundary and into the next (unmapped) page. This was caught\nby enabling CONFIG_DEBUG_PAGEALLOC,\n\nThe fix was to read only the number of bytes that we need to store rather\nthan reading a full 8-byte doubleword and storing only a portion of that.\n\nIn order to minimise the amount of existing code touched we use the\noriginal do_tail for the src_unaligned case.\n\nBelow is an example of the regression, as reported by Sachin Sant:\n\nUnable to handle kernel paging request for data at address 0xc00000003f380000\nFaulting instruction address: 0xc000000000039574\ncpu 0x1: Vector: 300 (Data Access) at [c00000003baf3020]\n    pc: c000000000039574: .memcpy+0x74/0x244\n    lr: d00000000244916c: .ext3_xattr_get+0x288/0x2f4 [ext3]\n    sp: c00000003baf32a0\n   msr: 8000000000009032\n   dar: c00000003f380000\n dsisr: 40000000\n  current \u003d 0xc00000003e54b010\n  paca    \u003d 0xc000000000a53680\n    pid   \u003d 1840, comm \u003d readahead\nenter ? for help\n[link register   ] d00000000244916c .ext3_xattr_get+0x288/0x2f4 [ext3]\n[c00000003baf32a0] d000000002449104 .ext3_xattr_get+0x220/0x2f4 [ext3]\n(unreliab\nle)\n[c00000003baf3390] d00000000244a6e8 .ext3_xattr_security_get+0x40/0x5c [ext3]\n[c00000003baf3400] c000000000148154 .generic_getxattr+0x74/0x9c\n[c00000003baf34a0] c000000000333400 .inode_doinit_with_dentry+0x1c4/0x678\n[c00000003baf3560] c00000000032c6b0 .security_d_instantiate+0x50/0x68\n[c00000003baf35e0] c00000000013c818 .d_instantiate+0x78/0x9c\n[c00000003baf3680] c00000000013ced0 .d_splice_alias+0xf0/0x120\n[c00000003baf3720] d00000000243e05c .ext3_lookup+0xec/0x134 [ext3]\n[c00000003baf37c0] c000000000131e74 .do_lookup+0x110/0x260\n[c00000003baf3880] c000000000134ed0 .__link_path_walk+0xa98/0x1010\n[c00000003baf3970] c0000000001354a0 .path_walk+0x58/0xc4\n[c00000003baf3a20] c000000000135720 .do_path_lookup+0x138/0x1e4\n[c00000003baf3ad0] c00000000013645c .path_lookup_open+0x6c/0xc8\n[c00000003baf3b70] c000000000136780 .do_filp_open+0xcc/0x874\n[c00000003baf3d10] c0000000001251e0 .do_sys_open+0x80/0x140\n[c00000003baf3dc0] c00000000016aaec .compat_sys_open+0x24/0x38\n[c00000003baf3e30] c00000000000855c syscall_exit+0x0/0x40\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "49f297f8df9adb797334155470ea9ca68bdb041e",
      "tree": "a6c3c2ebd89114435137025925bb0ac9e1a931df",
      "parents": [
        "169d418b127b98a3e464e9c4b807ad083760f98c"
      ],
      "author": {
        "name": "Michael Neuling",
        "email": "mikey@neuling.org",
        "time": "Thu Feb 19 18:52:20 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 26 14:02:53 2009 +1100"
      },
      "message": "powerpc: Fix load/store float double alignment handler\n\nWhen we introduced VSX, we changed the way FPRs are stored in the\nthread_struct.  Unfortunately we missed the load/store float double\nalignment handler code when updating how we access FPRs in the\nthread_struct.\n\nBelow fixes this and merges the little/big endian case.\n\nSigned-off-by: Michael Neuling \u003cmikey@neuling.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "169d418b127b98a3e464e9c4b807ad083760f98c",
      "tree": "a63dd104252b1863e3ff49991a406a9d19582e83",
      "parents": [
        "70c01f01a214d9cc2e5a96ac43941f48a200f53f",
        "1440566f2db470eddc58dc35025ccaeb0a52558a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 15:16:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 15:16:18 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: emu10k1 - Fix digital/analog switch on audigy2 ZS\n  ALSA: hda - Quirk for Acer Aspire 6530G\n  ALSA: hda - add another MacBook Pro 3,1 SSID\n  ALSA: fix excessive background noise introduced by OSS emulation rate shrink\n  ALSA: aw2: do not grab every saa7146 based device\n  ALSA: hda - Fix parse of init_verbs sysfs entry\n  ALSA: pcxhr.h replace signed one-bit bitfields\n"
    },
    {
      "commit": "70c01f01a214d9cc2e5a96ac43941f48a200f53f",
      "tree": "0c23ceacab0007aec95625f7c30ec62118cd512d",
      "parents": [
        "c4eb1bf63f3dc03611b79d6dd260dfa70c5e72f9",
        "5b5923975f07836fc7a5388f9fa5f459828ae4ee"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 15:14:37 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 15:14:37 2009 -0800"
      },
      "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:\n  [IA64] Don\u0027t go beyond iosapic_intr_info\u0027s arraysize\n  [IA64] Do not go beyond ARRAY_SIZE of unw.hash\n  [IA64] enable setting DMAR on by default\n"
    },
    {
      "commit": "c4eb1bf63f3dc03611b79d6dd260dfa70c5e72f9",
      "tree": "0f10702cae9263f445754aa581bc9ae297358388",
      "parents": [
        "a36e4f0cab6311110d1703eafb325baead9caff8",
        "c55af1f5abf606118b32e3ce9c3b1bbce5236e7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 15:12:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 15:12:48 2009 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  [libata] pata_legacy: for VLB 32bit PIO don\u0027t try tricks with slop\n  [libata] pata_amd: program FIFO\n  sata_mv: fix SoC interrupt breakage\n  pata_it821x: resume from hibernation fails with RAID volume\n"
    },
    {
      "commit": "c55af1f5abf606118b32e3ce9c3b1bbce5236e7e",
      "tree": "18d844e61896d285a595e2da6bcfcc65808d8375",
      "parents": [
        "c48052cc36e02fff6a9bb3cf83c4206b9127611f"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Feb 11 13:08:42 2009 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Feb 25 15:30:23 2009 -0500"
      },
      "message": "[libata] pata_legacy: for VLB 32bit PIO don\u0027t try tricks with slop\n\nThese devices are generally used with ATA anyway and it seems that some\nATAPI will need us to issue the right number of words.  Therefore as we\ncan\u0027t switch mid burst on VLB devices we should only use 32bit I/O for\nsuitable block sizes.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "c48052cc36e02fff6a9bb3cf83c4206b9127611f",
      "tree": "7f93272031092a90d2b5decccd381319aae72be4",
      "parents": [
        "6be96ac15e4d913e1f48299db083ada5321803b2"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Feb 11 13:08:41 2009 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Feb 25 15:30:16 2009 -0500"
      },
      "message": "[libata] pata_amd: program FIFO\n\nWith 32bit PIO we can use the posted write buffers, but only for 32bit I/O\ncycles.  This means we must disable the FIFO for ATAPI where a final 16bit\ncycle may occur.\n\nRework the FIFO logic so that we disable the FIFO then selectively\nre-enable it when we set the timings on AMD devices.  Also fix a case\nwhere we scribbled on PCI config 0x41 of Nvidia chips when we shouldn\u0027t.\n\nSigned-off-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "6be96ac15e4d913e1f48299db083ada5321803b2",
      "tree": "470a31dd536ca0de003c205f6a03ecc3e3116195",
      "parents": [
        "7ba07d16bd62f931efec1fc8e63bf1aeebfe42a9"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "liml@rtr.ca",
        "time": "Thu Feb 19 10:38:04 2009 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Feb 25 15:25:35 2009 -0500"
      },
      "message": "sata_mv: fix SoC interrupt breakage\n\nFor some reason, sata_mv doesn\u0027t clear interrupt status during init\nwhen it\u0027s running on an SoC host adapter.  If the bootloader has\ntouched the SATA controller before starting Linux, Linux can end up\nenabling the SATA interrupt with events pending, which will cause the\ninterrupt to be marked as spurious and then be disabled, which then\nbreaks all further accesses to the controller.\n\nThis patch makes the SoC path clear interrupt status on init like in\nthe non-SoC case.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "7ba07d16bd62f931efec1fc8e63bf1aeebfe42a9",
      "tree": "0cbe0e20e4c7ea2bf4e96d7b3a2966fe5686eb46",
      "parents": [
        "c15d8a6499d04e5d2cac07f8120f207bb275f60f"
      ],
      "author": {
        "name": "Ondrej Zary",
        "email": "linux@rainbow-software.org",
        "time": "Wed Feb 11 13:08:43 2009 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Feb 25 15:22:44 2009 -0500"
      },
      "message": "pata_it821x: resume from hibernation fails with RAID volume\n\nHibernation didn\u0027t work for me since I started to use IT8212 controller.\nI did some debugging (booting with no_console_suspend init\u003d/bin/sh).\n\nFound that resume fails (2.6.28) with \"serial number mismatch \u0027some\ngarbage\u0027 !\u003d \u0027some other garbage\u0027\" and \"revalidation failed\" messages.\nThat\u0027s because the controller firmware fills different serial number in\nthe IDENTIFY every boot.\n\nThe patch below fixes the resume simply clearing the serial number.  The\nproper fix would be probably to fill in the serial number of the RAID\nvolume instead.  I assume that there must be something like that stored on\nthe drives but I don\u0027t know where.\n\nFix resume on pata_it821x RAID volume by clearing the serial number in\nIDENTIFY data, which is otherwise different on each boot.\n\nSigned-off-by: Ondrej Zary \u003clinux@rainbow-software.org\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "a36e4f0cab6311110d1703eafb325baead9caff8",
      "tree": "09c0bda0639ea2ee36fb8f49563863dfad5dc32b",
      "parents": [
        "0b0a0806b0d8635e046bf533225a25903b1cddce",
        "8fed43684174b68f04d01d1210fd00536af790df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 12:22:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 12:22:06 2009 -0800"
      },
      "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:\n  ide: fix refcounting in device drivers\n  ide-cd: document capacity hack\n  it821x: remove dead URL\n  atiixp: fix missing parentheses\n  amd74xx: device/vendor confusion\n  ide: ide.c \u0027clear\u0027 fix, update \"ide\u003dnodma\" documentation\n"
    },
    {
      "commit": "0b0a0806b0d8635e046bf533225a25903b1cddce",
      "tree": "245ac39eb1b7c6008a669ab2d68ed174d66bd7bc",
      "parents": [
        "c15d8a6499d04e5d2cac07f8120f207bb275f60f"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Feb 24 20:51:52 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 12:21:42 2009 -0800"
      },
      "message": "shmem: fix shared anonymous accounting\n\nEach time I exit Firefox, /proc/meminfo\u0027s Committed_AS goes down almost\n400 kB: OVERCOMMIT_NEVER would be allowing overcommits it should\nprohibit.\n\nCommit fc8744adc870a8d4366908221508bb113d8b72ee \"Stop playing silly\ngames with the VM_ACCOUNT flag\" changed shmem_file_setup() to set the\nshmem file\u0027s VM_ACCOUNT flag according to VM_NORESERVE not being set in\nthe vma flags; but did so only _after_ the shmem_acct_size(flags, size)\ncall which is expected to pre-account a shared anonymous object.\n\nIt\u0027s all clearer if we switch shmem.c over to use VM_NORESERVE\nthroughout in place of !VM_ACCOUNT.\n\nBut I very nearly sent in a patch which mistakenly removed the\naccounting from tmpfs files: shmem_get_inode()\u0027s memset was good for not\nsetting VM_ACCOUNT, but now it needs to set VM_NORESERVE.\n\nRather than setting that by default, then perhaps clearing it again in\nshmem_file_setup(), let\u0027s pass it as a flag to shmem_get_inode(): that\nallows us to remove the #ifdef CONFIG_SHMEM from shmem_file_setup().\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b5923975f07836fc7a5388f9fa5f459828ae4ee",
      "tree": "27794117df095b46071dae87183d8ec33c39da65",
      "parents": [
        "aa2f63c95439a11dfac35c60d9160dcd0189aed3"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Sat Feb 21 23:40:27 2009 +0100"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Wed Feb 25 11:50:53 2009 -0800"
      },
      "message": "[IA64] Don\u0027t go beyond iosapic_intr_info\u0027s arraysize\n\nvi arch/ia64/kernel/iosapic.c +142\nstatic struct iosapic_intr_info {\n\t...\n} iosapic_intr_info[NR_IRQS];\n\nBut at line 510 we have:\n\tfor (i \u003d 0; i \u003c\u003d NR_IRQS; i++) {\n\ns/\u003c\u003d/\u003c/\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "aa2f63c95439a11dfac35c60d9160dcd0189aed3",
      "tree": "22ca455654ac97ceb53b66bf3369adde6e42cb6b",
      "parents": [
        "6b1ff036d4cde7834ef2f9dbea5747adaaac24e0"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Sun Feb 22 02:33:28 2009 +0100"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Wed Feb 25 11:48:04 2009 -0800"
      },
      "message": "[IA64] Do not go beyond ARRAY_SIZE of unw.hash\n\nstatic struct {\n\n... :114\n        unsigned short hash[UNW_HASH_SIZE];\n\n... :2152\n\tfor (index \u003d 0; index \u003c\u003d UNW_HASH_SIZE; ++index) {\n\nThis is a bug, isn\u0027t it?\n\ns/\u003c\u003d/\u003c/\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "6b1ff036d4cde7834ef2f9dbea5747adaaac24e0",
      "tree": "93c1703c46f06aac5408afb9ceb9418cea76f97b",
      "parents": [
        "c15d8a6499d04e5d2cac07f8120f207bb275f60f"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@redhat.com",
        "time": "Sat Feb 14 04:11:29 2009 -0500"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "aegl@agluck-desktop.(none)",
        "time": "Wed Feb 25 11:40:27 2009 -0800"
      },
      "message": "[IA64] enable setting DMAR on by default\n\nThe previous commit which introduced the DMAR_DEFAULT_ON setting in\ndrivers/pci/dmar.c neglected to add the ability for ia64 to enable\nthe IOMMU by default. Rectify that mistake, doh!\n\nSigned-off-by: Kyle McMartin \u003ckyle@redhat.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "8fed43684174b68f04d01d1210fd00536af790df",
      "tree": "df8d5f87c68526267d0ae320173814ed3f417fd5",
      "parents": [
        "d3dd7107f4d843d0f01d0f77d49a7c5449130577"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 25 20:28:24 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 25 20:28:24 2009 +0100"
      },
      "message": "ide: fix refcounting in device drivers\n\nDuring host driver module removal del_gendisk() results in a final\nput on drive-\u003egendev and freeing the drive by drive_release_dev().\n\nConvert device drivers from using struct kref to use struct device\nso device driver\u0027s object holds reference on -\u003egendev and prevents\ndrive from prematurely going away.\n\nAlso fix -\u003eremove methods to not erroneously drop reference on a\nhost driver by using only put_device() instead of ide*_put().\n\nReported-by: Stanislaw Gruszka \u003cstf_xl@wp.pl\u003e\nTested-by: Stanislaw Gruszka \u003cstf_xl@wp.pl\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "d3dd7107f4d843d0f01d0f77d49a7c5449130577",
      "tree": "5bd38dea522f07b5e6594116ac75f43ded33e69f",
      "parents": [
        "f38344b0a0898d2a8c13581ee61007719e16e1d7"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 25 20:28:23 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 25 20:28:23 2009 +0100"
      },
      "message": "ide-cd: document capacity hack\n\nJust copy the comment from drivers/scsi/sr.c::sr_done()\n(from which the capacity hack has been originated).\n\nCc: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "f38344b0a0898d2a8c13581ee61007719e16e1d7",
      "tree": "59b0965fd34ec1113dd02f900d936fa8cd75675b",
      "parents": [
        "f76bee16fc83f58d6c1b088977330f26ed7ae248"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 25 20:28:22 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 25 20:28:22 2009 +0100"
      },
      "message": "it821x: remove dead URL\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "f76bee16fc83f58d6c1b088977330f26ed7ae248",
      "tree": "3937a77a4604baac37179b94a0b3c4857d83d4be",
      "parents": [
        "43a12216d3664a9fa6c8ceb398da6ef08fee7ff7"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Feb 25 20:28:22 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 25 20:28:22 2009 +0100"
      },
      "message": "atiixp: fix missing parentheses\n\nFix missing parentheses so PIO/DMA timings for master device on the\nsecond channel are programmed correctly (IOW \"8 0 24 16\" offset values\nshould be used instead of the current \"8 0 16 16\").\n\n[ The bug went unnoticed because after PIO/DMA timings get programmed\n  incorrectly for the third device they are overwritten with timings\n  for the fourth device and since BIOS should also program timings for\n  the third device everything should work fine until suspend/resume\n  cycle or user requested transfer mode changes. ]\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[bart: update patch description]\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "43a12216d3664a9fa6c8ceb398da6ef08fee7ff7",
      "tree": "6ea927678547c0b40cee5ac7056726a6e8ae7245",
      "parents": [
        "0af80c04e2f2e45ae09fceb17df8050f828a5c40"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Feb 25 20:28:22 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 25 20:28:22 2009 +0100"
      },
      "message": "amd74xx: device/vendor confusion\n\nDevice and vendor ids were confused\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "0af80c04e2f2e45ae09fceb17df8050f828a5c40",
      "tree": "e37ae72a3c38447ede3d835325c24570f499477e",
      "parents": [
        "c15d8a6499d04e5d2cac07f8120f207bb275f60f"
      ],
      "author": {
        "name": "David Fries",
        "email": "david@fries.net",
        "time": "Wed Feb 25 20:28:21 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 25 20:28:21 2009 +0100"
      },
      "message": "ide: ide.c \u0027clear\u0027 fix, update \"ide\u003dnodma\" documentation\n\nDocumentation/kernel-parameters.txt\n- ide\u003dnodma is no longer valid.\n\ndrivers/ide/Kconfig\n- The module is ide-core.ko not ide.\n\ndrivers/ide/ide.c\n- It took me a while to figure out what the arguments %d.%d:%d to nodma\n  module parameter ment, so I added a comment to each.\n- Added a comment to each of the sscanf lines.\n- There is a bug, if j is 0 it would previously clear all the other bits\n  except the current device, changed in three different places.\n  mask \u0026\u003d (1 \u003c\u003c i) should be mask \u0026\u003d ~(1 \u003c\u003c i).\n\nSigned-off-by: David Fries \u003cdavid@fries.net\u003e\n[bart: s/disk/device/ in ide.c, beautify patch description]\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "c15d8a6499d04e5d2cac07f8120f207bb275f60f",
      "tree": "4cde78329a06fdf07e3d780881481d9ae1d021fb",
      "parents": [
        "490213556ad5bc1b46857bce1bc2c6db41d3e63d",
        "e08fb4f6d1dc95eff5b3fc1d0412bcb5afcae7f2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 09:49:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 09:49:30 2009 -0800"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/i915: convert DRM_ERROR to DRM_DEBUG in phys object pwrite path\n  drm/i915: make hw page ioremap use ioremap_wc\n  drm: edid revision 0 is valid\n  drm: Correct unbalanced drm_vblank_put() during mode setting.\n  drm: disable encoders before re-routing them\n  drm: Fix ordering of bit fields in EDID structure leading huge vsync values.\n  drm: Fix shifts of EDID vsync offset/width fields.\n  drm/i915: handle bogus VBT panel timing\n  drm/i915: remove PLL debugging messages\n"
    },
    {
      "commit": "490213556ad5bc1b46857bce1bc2c6db41d3e63d",
      "tree": "a34c337dc59822c51594ee195593e625c345da26",
      "parents": [
        "f8dacde8c0f7841ad91fbaba43fb0ebf1c2c80b7",
        "73d5c38a9536142e062c35997b044e89166e063b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 09:34:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 09:34:27 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://neil.brown.name/md\n\n* \u0027for-linus\u0027 of git://neil.brown.name/md:\n  md: avoid races when stopping resync.\n  md/raid10:  Don\u0027t call bitmap_cond_end_sync when we are doing recovery.\n  md/raid10:  Don\u0027t skip more than 1 bitmap-chunk at a time during recovery.\n"
    },
    {
      "commit": "f8dacde8c0f7841ad91fbaba43fb0ebf1c2c80b7",
      "tree": "f406bf66a59a1a1a16aab8581b9c8ede1b177540",
      "parents": [
        "60042600c57be5737cd9d6869e7144f7fe786274",
        "1b0e235cc9bfae4bc0f5cd0cba929206fb0f6a64"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 09:31:56 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 09:31:56 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  sparc64: Fix crashes in jbusmc_print_dimm()\n"
    },
    {
      "commit": "60042600c57be5737cd9d6869e7144f7fe786274",
      "tree": "8b789dd736a98e3671be6e7c405c4800625fb30d",
      "parents": [
        "6aa03ab06978e97b3e0720f83280d7841051916b",
        "084eb960e81505680a9963665722d1bfd94af6a7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 09:31:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 09:31:21 2009 -0800"
      },
      "message": "Merge git://git.infradead.org/iommu-2.6\n\n* git://git.infradead.org/iommu-2.6:\n  intel-iommu: fix endless \"Unknown DMAR structure type\" loop\n  VT-d: handle Invalidation Queue Error to avoid system hang\n  intel-iommu: fix build error with INTR_REMAP\u003dy and DMAR\u003dn\n"
    },
    {
      "commit": "6aa03ab06978e97b3e0720f83280d7841051916b",
      "tree": "a3575e24836180935611515a3610b59b3a642982",
      "parents": [
        "694593e3374a67d95ece6a275a1f181644c2c4d8"
      ],
      "author": {
        "name": "Fenghua Yu",
        "email": "fenghua.yu@intel.com",
        "time": "Wed Feb 25 14:06:26 2009 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 09:30:56 2009 -0800"
      },
      "message": "Fix iwlan DMA mapping direction\n\nWhen iwlan runs on IOMMU, IOMMU generates a lot of PTE write faults\nbecause PTE write bit is not set on some of PTE\u0027s.  This is because\niwlan driver calls DMA mapping with PCI_DMA_TODEVICE which is read only\nin mapping PTE.  But iwlan device actually writes to the mapped page to\nupdate its contents.  This issue is not exposed in swiotlb.  But VT-d\nhardware can capture this fault and stop the fault transaction.\n\nThe following patch fixes the issue.\n\nSigned-off-by: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nReviewed-by: Bhavesh Davda \u003cbhavesh@vmware.com\u003e\nTested-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1440566f2db470eddc58dc35025ccaeb0a52558a",
      "tree": "d8fa7fcd21aa6fed26c90e3c904325a63dcd864d",
      "parents": [
        "308b892cb4e3161cf2b629c0af61181bbc5606b9",
        "1f9da5544073d38e05139f8ce9da24e78653c73e"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Feb 25 09:52:42 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Feb 25 09:52:42 2009 +0100"
      },
      "message": "Merge branch \u0027fix/misc\u0027 into for-linus\n"
    },
    {
      "commit": "308b892cb4e3161cf2b629c0af61181bbc5606b9",
      "tree": "5d62007b1413d842e7f5ba126b0924308ace6c9d",
      "parents": [
        "20f4d6c3a2a23c5d7d9cc7f42fbb943ca7a03d1f",
        "cc374c477c9bf95f409fed16426856d86a97394f"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Feb 25 09:52:38 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Feb 25 09:52:38 2009 +0100"
      },
      "message": "Merge branch \u0027fix/hda\u0027 into for-linus\n"
    },
    {
      "commit": "e08fb4f6d1dc95eff5b3fc1d0412bcb5afcae7f2",
      "tree": "caf7fd48d03a33be64e2a948b962b45e3962ce01",
      "parents": [
        "dd0910b3c71b253c08111110f0399b924a8d5853"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Wed Feb 25 14:52:30 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Wed Feb 25 14:52:30 2009 +1000"
      },
      "message": "drm/i915: convert DRM_ERROR to DRM_DEBUG in phys object pwrite path\n\nThis snuck in when I wrote phys object support.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "dd0910b3c71b253c08111110f0399b924a8d5853",
      "tree": "4baf65b56066d5935b7c948f9b527cde8e9daabe",
      "parents": [
        "d61e7380b402a481ab1fa8027068a24918f701c8"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Wed Feb 25 14:49:21 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Wed Feb 25 14:49:21 2009 +1000"
      },
      "message": "drm/i915: make hw page ioremap use ioremap_wc\n\nHowever we still have another issue with ioremap_wc not falling back\nproperly or somehow doing something else stupid, this probably needs\nto be tracked down.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "d61e7380b402a481ab1fa8027068a24918f701c8",
      "tree": "fd973d660e31ca7cc2495c3fee0db7f63ca1fcf0",
      "parents": [
        "b3f5e7329df1a508ac58ebe7509fb7a47b9eab6a"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@redhat.com",
        "time": "Tue Feb 24 20:31:53 2009 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Wed Feb 25 14:47:05 2009 +1000"
      },
      "message": "drm: edid revision 0 is valid\n\nedid-\u003erevision \u003d\u003d 0 should be valid (at least, so the error message\nindicates. :) and wikipedia seems to indicate that EDID 1.0 existed.\n\nWe can dump the entire check, since edid-\u003erevision is a u8, so\nit can\u0027t ever be less than 0.\n\nMarko reports in RH bz#476735 that his monitor claims to be\nEDID 1.0, and therefore hits the check and is stuck at 800x600 because\nof it.\n\nReported-by: Marko Ristola \u003cmarko.ristola@kolumbus.fi\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@redhat.com\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "b3f5e7329df1a508ac58ebe7509fb7a47b9eab6a",
      "tree": "26053313cadc6914662e88de0af2e2fe04d80913",
      "parents": [
        "7bec756c74b1a5079d5074144bb77a6b3e7d7783"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Thu Feb 19 14:48:22 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Wed Feb 25 14:45:50 2009 +1000"
      },
      "message": "drm: Correct unbalanced drm_vblank_put() during mode setting.\n\nThe first time we install a mode, the vblank will be disabled for a pipe\nand so drm_vblank_get() in drm_vblank_pre_modeset() will fail. As we\nunconditionally call drm_vblank_put() afterwards, the vblank reference\ncounter becomes unbalanced.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "7bec756c74b1a5079d5074144bb77a6b3e7d7783",
      "tree": "704b5ffbb921f6798e5c29df369c64561d4d425c",
      "parents": [
        "fe56cf45f951b3810313584605c1d8a4f20b33a4"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Feb 23 16:09:34 2009 -0800"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Wed Feb 25 14:42:23 2009 +1000"
      },
      "message": "drm: disable encoders before re-routing them\n\nIn some cases we may receive a mode config that has a different\nCRTC\u003c-\u003eencoder map that the current configuration.  In that case, we\nneed to disable any re-routed encoders before setting the mode,\notherwise they may not pick up the new CRTC (if the output types are\nincompatible for example).\n\nTested-by: Kristian Høgsberg \u003ckrh@bitplanet.net\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "fe56cf45f951b3810313584605c1d8a4f20b33a4",
      "tree": "84b6c8bb6178e7ccd4a5fe890d0945b58ddff4f1",
      "parents": [
        "c8766ac5933d6ee75e7ce379a1eb5ceb451fcb83"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Feb 23 15:36:41 2009 -0800"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Wed Feb 25 14:11:00 2009 +1000"
      },
      "message": "drm: Fix ordering of bit fields in EDID structure leading huge vsync values.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nReviewed-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "c8766ac5933d6ee75e7ce379a1eb5ceb451fcb83",
      "tree": "01faa084b8680ed50633bc14a1be64de7d895bf6",
      "parents": [
        "37df96736bfe6f5fd9a141d62946e1083d73e712"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 23 08:44:33 2009 -0800"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Wed Feb 25 14:10:55 2009 +1000"
      },
      "message": "drm: Fix shifts of EDID vsync offset/width fields.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nReviewed-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "37df96736bfe6f5fd9a141d62946e1083d73e712",
      "tree": "6ea4a8d65929f0ca71379e556a2703577f435a8d",
      "parents": [
        "7c04d1d97a8d918b7ae2ef478229862b71a65f06"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Feb 23 15:36:42 2009 -0800"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Wed Feb 25 14:10:42 2009 +1000"
      },
      "message": "drm/i915: handle bogus VBT panel timing\n\nWe\u0027ve seen cases in the wild where the VBT sync data is wrong, so add\nsome code to fix it up in that case, taking care to make sure that the\ntotal is greater than the sync end.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "7c04d1d97a8d918b7ae2ef478229862b71a65f06",
      "tree": "cea69bc766d5d3fc569da6b003b53721a60a99c0",
      "parents": [
        "694593e3374a67d95ece6a275a1f181644c2c4d8"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Feb 23 15:36:40 2009 -0800"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Wed Feb 25 14:10:39 2009 +1000"
      },
      "message": "drm/i915: remove PLL debugging messages\n\nThese are normal; we walk through different values looking for the right\none, so why flood the screen with messages?\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nReviewed-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "73d5c38a9536142e062c35997b044e89166e063b",
      "tree": "68fd385cbdee1fa75269974ef210d53a0ae5e311",
      "parents": [
        "78200d45cde2a79c0d0ae0407883bb264caa3c18"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 25 13:18:47 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 25 13:18:47 2009 +1100"
      },
      "message": "md: avoid races when stopping resync.\n\nThere has been a race in raid10 and raid1 for a long time\nwhich has only recently started showing up due to a scheduler changed.\n\nWhen a sync_read request finishes, as soon as reschedule_retry\nis called, another thread can mark the resync request as having\ncompleted, so md_do_sync can finish, -\u003estop can be called, and\n-\u003econf can be freed.  So using conf after reschedule_retry is not\nsafe.\n\nSimilarly, when finishing a sync_write, calling md_done_sync must be\nthe last thing we do, as it allows a chain of events which will free\nconf and other data structures.\n\nThe first of these requires action in raid10.c\nThe second requires action in raid1.c and raid10.c\n\nCc: stable@kernel.org\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "78200d45cde2a79c0d0ae0407883bb264caa3c18",
      "tree": "bda4b9d8607410d01f819b6789b58d74188c915b",
      "parents": [
        "09b4068a7fe442efc40e9dcbcf5ff37c3338ab15"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 25 13:18:47 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 25 13:18:47 2009 +1100"
      },
      "message": "md/raid10:  Don\u0027t call bitmap_cond_end_sync when we are doing recovery.\n\nFor raid1/4/5/6, resync (fixing inconsistencies between devices) is\nvery similar to recovery (rebuilding a failed device onto a spare).\nThe both walk through the device addresses in order.\n\nFor raid10 it can be quite different.  resync follows the \u0027array\u0027\naddress, and makes sure all copies are the same.  Recover walks\nthrough \u0027device\u0027 addresses and recreates each missing block.\n\nThe \u0027bitmap_cond_end_sync\u0027 function allows the write-intent-bitmap\n(When present) to be updated to reflect a partially completed resync.\nIt makes assumptions which mean that it does not work correctly for\nraid10 recovery at all.\n\nIn particularly, it can cause bitmap-directed recovery of a raid10 to\nnot recovery some of the blocks that need to be recovered.\n\nSo move the call to bitmap_cond_end_sync into the resync path, rather\nthan being in the common \"resync or recovery\" path.\n\n\nCc: stable@kernel.org\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "09b4068a7fe442efc40e9dcbcf5ff37c3338ab15",
      "tree": "c7d2eb0715e2b12cac4bc2196583a510c234743c",
      "parents": [
        "2ec77fc93ca8731368fbe8e71f805c0569d4bcee"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 25 13:18:47 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 25 13:18:47 2009 +1100"
      },
      "message": "md/raid10:  Don\u0027t skip more than 1 bitmap-chunk at a time during recovery.\n\nWhen doing recovery on a raid10 with a write-intent bitmap, we only\nneed to recovery chunks that are flagged in the bitmap.\n\nHowever if we choose to skip a chunk as it isn\u0027t flag, the code\ncurrently skips the whole raid10-chunk, thus it might not recovery\nsome blocks that need recovering.\n\nThis patch fixes it.\n\nIn case that is confusing, it might help to understand that there\nis a \u0027raid10 chunk size\u0027 which guides how data is distributed across\nthe devices, and a \u0027bitmap chunk size\u0027 which says how much data\ncorresponds to a single bit in the bitmap.\n\nThis bug only affects cases where the bitmap chunk size is smaller\nthan the raid10 chunk size.\n\n\n\nCc: stable@kernel.org\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "694593e3374a67d95ece6a275a1f181644c2c4d8",
      "tree": "df083065019ded7607e460a7bea44f53deb505f8",
      "parents": [
        "21209b61b0ca0aafb04b5ab3561e3c8e7c7f776d",
        "e07a4b9217d1e97d2f3a62b6b070efdc61212110"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 24 15:42:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 24 15:42:08 2009 -0800"
      },
      "message": "Merge branch \u0027proc-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc\n\n* \u0027proc-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc:\n  proc: fix PG_locked reporting in /proc/kpageflags\n"
    },
    {
      "commit": "21209b61b0ca0aafb04b5ab3561e3c8e7c7f776d",
      "tree": "41b584d03391032cc6b1a5dc16b7e876cc8604b6",
      "parents": [
        "a792cd12cf07cf77c7d1d41b46b4f8327ecf82d0",
        "531660ef5604c75de6fdead9da1304051af17c09"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 24 15:40:19 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 24 15:40:19 2009 -0800"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6\n\n* \u0027i2c-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6:\n  Add i2c_board_info for RiscPC PCF8583\n  i2c: Make sure i2c_algo_bit_data.timeout is HZ-independent\n  i2c-dev: Clarify the unit of ioctl I2C_TIMEOUT\n  i2c: Timeouts reach -1\n  i2c: Fix misplaced parentheses\n"
    },
    {
      "commit": "a792cd12cf07cf77c7d1d41b46b4f8327ecf82d0",
      "tree": "27acf59615245ac2b990fc45e99ce91775767e41",
      "parents": [
        "4daa0682af15b24e9d66ccde3a5d502682e572d8",
        "e73bf9f135fe1e5db646e668676d22af3008e0c0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 24 15:39:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 24 15:39:54 2009 -0800"
      },
      "message": "Merge branch \u0027firedtv-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027firedtv-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firedtv: dvb_frontend_info for FireDTV S2, fix \"frequency limits undefined\" error\n  firedtv: massive refactoring\n  firedtv: rename files, variables, functions from firesat to firedtv\n  firedtv: Use DEFINE_SPINLOCK\n  firedtv: fix registration - adapter number could only be zero\n  firedtv: use length_field() of PMT as length\n  firedtv: fix returned struct for ca_info\n  firedtv: cleanups and minor fixes\n  ieee1394: remove superfluous assertions\n  ieee1394: inherit ud vendor_id from node vendor_id\n  ieee1394: add hpsb_node_read() and hpsb_node_lock()\n  ieee1394: use correct barrier types between accesses of nodeid and generation\n  firesat: copyrights, rename to firedtv, API conversions, fix remote control input\n  firesat: avc resend\n  firesat: update isochronous interface, add CI support\n  firesat: add DVB-S support for DVB-S2 devices\n  firesat: fix DVB-S2 device recognition\n  DVB: add firesat driver\n"
    },
    {
      "commit": "4daa0682af15b24e9d66ccde3a5d502682e572d8",
      "tree": "b675fbb92366514e53c240dfa0115cd4aeef00ba",
      "parents": [
        "f7e603ad8f78cd3b59e33fa72707da0cbabdf699",
        "ebd3610b110bbb18ea6f9f2aeed1e1068c537227"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 24 15:39:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 24 15:39:34 2009 -0800"
      },
      "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:\n  ext4: Fix deadlock in ext4_write_begin() and ext4_da_write_begin()\n  ext4: Add fallback for find_group_flex\n"
    },
    {
      "commit": "531660ef5604c75de6fdead9da1304051af17c09",
      "tree": "174d4418dd0bdb5559d5dc5445bfd626128968b7",
      "parents": [
        "082a4cf80966ebcd08bf775cd258171cdd85c1a1"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Feb 24 19:19:50 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Feb 24 19:19:50 2009 +0100"
      },
      "message": "Add i2c_board_info for RiscPC PCF8583\n\nAdd the necessary i2c_board_info structure to fix the lack of PCF8583\nRTC on RiscPC.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\n"
    },
    {
      "commit": "082a4cf80966ebcd08bf775cd258171cdd85c1a1",
      "tree": "4963477c88ecbe7d8d33ac8412775dca4ebc2205",
      "parents": [
        "cd97f39b7cdf1c8a9c9f52865eec795b7f0c811d"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Feb 24 19:19:49 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Feb 24 19:19:49 2009 +0100"
      },
      "message": "i2c: Make sure i2c_algo_bit_data.timeout is HZ-independent\n\ni2c_algo_bit_data.timeout is supposed to be in jiffies, so drivers\nshould use set this value in terms of HZ.\n\nUltimately I think this field should be discarded in favor of\ni2c_adapter.timeout, but that\u0027s left for a future patch.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nAcked-by: Lennert Buytenhek \u003ckernel@wantstofly.org\u003e\nAcked-by: Len Sorensen \u003clsorense@csclub.uwaterloo.ca\u003e\n"
    },
    {
      "commit": "cd97f39b7cdf1c8a9c9f52865eec795b7f0c811d",
      "tree": "010cd2255376a95120da810a1600bbd8d4d7d1c3",
      "parents": [
        "a746b578d8406b2db0e9f0d040061bc1f78433cf"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Feb 24 19:19:49 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Feb 24 19:19:49 2009 +0100"
      },
      "message": "i2c-dev: Clarify the unit of ioctl I2C_TIMEOUT\n\nThe unit in which user-space can set the bus timeout value is jiffies\nfor historical reasons (back when HZ was always 100.) This is however\nnot good because user-space doesn\u0027t know how long a jiffy lasts. The\ntimeout value should instead be set in a fixed time unit. Given the\noriginal value of HZ, this unit should be 10 ms, for compatibility.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\n"
    },
    {
      "commit": "a746b578d8406b2db0e9f0d040061bc1f78433cf",
      "tree": "ce79fc247342fa9fde8ad184a4ec39d70ce0012a",
      "parents": [
        "f29d2e0275a4f03ef2fd158e484508dcb0c64efb"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Feb 24 19:19:48 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Feb 24 19:19:48 2009 +0100"
      },
      "message": "i2c: Timeouts reach -1\n\nWith a postfix decrement these timeouts reach -1 rather than 0, but\nafter the loop it is tested whether they have become 0.\n\nAs pointed out by Jean Delvare, the condition we are waiting for should\nalso be tested before the timeout. With the current order, you could\nexit with a timeout error while the job is actually done.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "f29d2e0275a4f03ef2fd158e484508dcb0c64efb",
      "tree": "0b29c69749af70677adebc5165c035ab33fd45cf",
      "parents": [
        "f7e603ad8f78cd3b59e33fa72707da0cbabdf699"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Feb 24 19:19:48 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Feb 24 19:19:48 2009 +0100"
      },
      "message": "i2c: Fix misplaced parentheses\n\nFix misplaced parentheses.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "e07a4b9217d1e97d2f3a62b6b070efdc61212110",
      "tree": "8fb1450f8dd1140693f84092ba25eedf3359ccb9",
      "parents": [
        "f7e603ad8f78cd3b59e33fa72707da0cbabdf699"
      ],
      "author": {
        "name": "Helge Bahmann",
        "email": "helge.bahmann@secunet.com",
        "time": "Fri Feb 20 16:24:12 2009 +0300"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Feb 24 21:17:58 2009 +0300"
      },
      "message": "proc: fix PG_locked reporting in /proc/kpageflags\n\nExpr always evaluates to zero.\n\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "1f9f13c8d59c1d8da1a602b71d1ab96d1d37d69e",
      "tree": "ae964f6880e62dd7b233d88933b086b843ff0bdd",
      "parents": [
        "dbc7e1e567ef8cfc4b792ef6acb51d4ceb15746a"
      ],
      "author": {
        "name": "Andrew Patterson",
        "email": "andrew.patterson@hp.com",
        "time": "Fri Feb 20 16:04:59 2009 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Tue Feb 24 09:47:46 2009 -0800"
      },
      "message": "PCI: Enable PCIe AER only after checking firmware support\n\nThe PCIe port driver currently sets the PCIe AER error reporting bits for\nany root or switch port without first checking to see if firmware will grant\ncontrol. This patch moves setting these bits to the AER service driver\naer_enable_port routine.  The bits are then set for the root port and any\ndownstream switch ports after the check for firmware support (aer_osc_setup)\nis made. The patch also unsets the bits in a similar fashion when the AER\nservice driver is unloaded.\n\nReviewed-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@hobbes.lan\u003e\n"
    },
    {
      "commit": "dbc7e1e567ef8cfc4b792ef6acb51d4ceb15746a",
      "tree": "d1035d012fbd9857888f463e6f418714420e72dd",
      "parents": [
        "1dec6b054dd1fc780e18b815068bf5677409eb2d"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jan 28 19:31:18 2009 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Tue Feb 24 09:36:56 2009 -0800"
      },
      "message": "PCI: pciehp: Handle interrupts that happen during initialization.\n\nMove the enabling of interrupts after all of the data structures\nare setup so that we can safely run the interrupt handler as\nsoon as it is registered.\n\nReviewed-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nTested-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@hobbes.lan\u003e\n"
    },
    {
      "commit": "1dec6b054dd1fc780e18b815068bf5677409eb2d",
      "tree": "ce73d3c8fb909c1ccc4bf3a9c75df2fc883b93e1",
      "parents": [
        "d22157b3d7a24d953ef5cce4515436be65b2e121"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Feb 23 11:51:59 2009 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Tue Feb 24 09:34:31 2009 -0800"
      },
      "message": "PCI: don\u0027t enable too many HT MSI mappings\n\nPrakash reported that his c51-mcp51 ondie sound card doesn\u0027t work with\nMSI.  But if he hacks out the HT-MSI quirk, MSI works fine.\n\nSo this patch reworks the nv_msi_ht_cap_quirk().  It will now only\nenable ht_msi on own its root device, avoiding enabling it on devices\nfollowing that root dev.\n\nReported-by: Prakash Punnoor \u003cprakash@punnoor.de\u003e\nTested-by: Prakash Punnoor \u003cprakash@punnoor.de\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@hobbes.lan\u003e\n"
    },
    {
      "commit": "d22157b3d7a24d953ef5cce4515436be65b2e121",
      "tree": "2bb7a58386598ab0410c35d6e8ec93634572f77c",
      "parents": [
        "e0ae4f5503235ba4449ffb5bcb4189edcef4d584"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@sous-sol.org",
        "time": "Mon Feb 23 21:50:35 2009 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Tue Feb 24 09:31:20 2009 -0800"
      },
      "message": "PCI: add some sysfs ABI docs\n\nAdd sysfs ABI docs for driver entries bind, unbind and new_id.  These\nentries are pretty old, from 2.6.0 onwards AFAIK, so this documents\ncurrent behaviour.\n\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@hobbes.lan\u003e\n"
    },
    {
      "commit": "e73bf9f135fe1e5db646e668676d22af3008e0c0",
      "tree": "46bc81592f1bc024986c409a0ae5dda147cd1277",
      "parents": [
        "154907957f9391b1af997b57507b16c018cc4995"
      ],
      "author": {
        "name": "Beat Michel Liechti",
        "email": "bml303@gmail.com",
        "time": "Tue Feb 24 15:52:49 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 24 17:58:23 2009 +0100"
      },
      "message": "firedtv: dvb_frontend_info for FireDTV S2, fix \"frequency limits undefined\" error\n\nI found that the function fdtv_frontend_init in the file firedtv-fe.c was\nmissing a case for FIREDTV_DVB_S2 which resulted in \"frequency limits\nundefined\" errors in syslog.\n\nSigned-off-by: Beat Michel Liechti \u003cbml303@gmail.com\u003e\n\nChange by Stefan R: combine it with case case FIREDTV_DVB_S as\noriginally suggested by Beat Michel.  This enables FE_CAN_FEC_AUTO also\nfor FireDTV-S2 devices which is possible as long as only DVB-S channels\nare used.  FE_CAN_FEC_AUTO would be wrong for DVB-S2 channels, but those\ncannot be used yet since the driver is not yet converted to S2API.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1f9da5544073d38e05139f8ce9da24e78653c73e",
      "tree": "941bac62717103b3a1c1da94cbc02af6bb42aee2",
      "parents": [
        "5370d96f85962769ea3df3a81cc885f257c51589"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Tue Feb 24 15:31:02 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Tue Feb 24 15:31:02 2009 +0100"
      },
      "message": "ALSA: emu10k1 - Fix digital/analog switch on audigy2 ZS\n\nFix the inverted logic of shared spdif switch.\n\nReference: Novell bnc#478496\n\thttps://bugzilla.novell.com/show_bug.cgi?id\u003d478496\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "154907957f9391b1af997b57507b16c018cc4995",
      "tree": "f9033e7dc29d5406e871b8102ba0b588d34b50ec",
      "parents": [
        "a70f81c1c0dac113ac4705e7701e2676e67905cd"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Feb 23 14:21:10 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 24 14:51:29 2009 +0100"
      },
      "message": "firedtv: massive refactoring\n\nCombination of the following changes:\n\nMon, 23 Feb 2009 14:21:10 +0100 (CET)\nfiredtv: reinstate debug logging option\n\n    Henrik Kurelid tells me that FCP debug logging (which I removed during\n    cleanups) is still useful when working on driver issues together with\n    end users.  So bring it back in an updated form with only 60% of the\n    original code footprint.\n\n    Logging can be enabled with\n    # echo -1 \u003e /sys/module/firedtv/parameters/debug\n\n    1 instead of -1 enables only FCP header logging,\n    2 instead of -1 enables only hexdumps of the entire FCP frames.\n    0 switches logging off again.\n\nFri, 20 Feb 2009 20:54:27 +0100 (CET)\nfiredtv: build fix for INPUT\u003dm and DVB_FIREDTV\u003dy\n\nThu, 19 Feb 2009 20:40:39 +0100\nfiredtv: use msecs_to_jiffies\n\n    Pointed out by Mauro Carvalho Chehab.\n\nSun Feb 15 20:50:46 CET 2009\nfiredtv: some more housekeeping\n\n    Fix an old checkpatch warning and a new compiler warning.\n\nSun Feb 15 15:33:17 CET 2009\nfiredtv: rename a file once more\n\n    At the moment, about a third of avc.c is specific to FireDTVs rather\n    than generic AV/C code.  Rename it to firedtv-avc.c.\n\nSun Feb 15 15:33:17 CET 2009\nfiredtv: dvb demux: more compact channels backing store\n\n    Replace struct firedtv_channel { bool active; int pid; } channel[16];\n    by unsigned long channel_active; u16 channel_pid[16];.\n\nSun Feb 15 15:33:17 CET 2009\nfiredtv: dvb demux: some simplifications\n\n    c-\u003eactive was unnecessarily cleared twice.\n\n    Also, by marking the channel inactive before the for loop,\n    the loop becomes identical with fdtv_channel_collect().\n\nSun Feb 15 15:33:17 CET 2009\nfiredtv: dvb demux: remove a bogus loop\n\n    This loop is unnecessary because\n      - only active channel[].pid\u0027s will be sent to the device,\n      - when a channel is activated, its pid is set to dvbdmxfeed-\u003epid.\n\n    Perhaps the original code was there because it was initially not fully\n    covered by the fdtv-\u003edemux_mutex.\n\nSun Feb 15 15:33:17 CET 2009\nfiredtv: dvb demux: fix mutex protection\n\n    fdtv_start_feed() accessed the channel list unsafely.\n    Fully serialize it with itself and fdtv_stop_feed().\n\nSun Feb 15 15:33:17 CET 2009\nfiredtv: dvb demux: fix missing braces\n\n    Original code was:\n            ...\n            case DMX_TS_PES_OTHER:\n                    //Dirty fix to keep firesat-\u003echannel pid-list up to date\n                    for(k\u003d0;k\u003c16;k++){\n                            if(firesat-\u003echannel[k].active \u003d\u003d 0)\n                                    firesat-\u003echannel[k].pid \u003d\n                                            dvbdmxfeed-\u003epid;\n                                    break;\n                    }\n                    channel \u003d firesat_channel_allocate(firesat);\n                    break;\n            default:\n            ...\n\n    Looks bogus in several respects. For now let\u0027s just add braces to the if\n    because that seems to be what the author meant.\n\nSun Feb 15 15:33:17 CET 2009\nfiredtv: allow build without input subsystem\n\n    !CONFIG_INPUT is very unlikely on systems on which firedtv is of\n    interest.  But we can easily support it.\n\nSun Feb 15 15:33:17 CET 2009\nfiredtv: replace EXTRA_CFLAGS by ccflags\n\n    The former are deprecated.\n    The latter can depend on Kconfig variables.\n\nSun Feb 15 15:33:17 CET 2009\nfiredtv: concentrate ieee1394 dependencies\n\n    Move the entire interface with drivers/ieee1394 to firedtv-1394.c.\n    Move 1394-independent module initialization code to firedtv-dvb.c.\n\n    This prepares interfacing with drivers/firewire.\n\nSun Feb 15 15:33:17 CET 2009\nfiredtv: amend Kconfig menu prompt\n\nSun Feb 15 15:33:17 CET 2009\nfiredtv: remove kernel version compatibility macro\n\nSun Feb 15 15:33:17 CET 2009\nfiredtv: combine header files\n\n    avc.h and firedtv-*.h are small and currently not shared with other\n    drivers, hence concatenate them all into firedtv.h.\n\nSun Feb 15 15:33:17 CET 2009\nfiredtv: misc style touch-ups\n\n    Standardize on lower-case hexadecimal constants.  Adjust whitespace.\n    Omit unnecessary pointer type casts and an unnecessary list head\n    initialization.  Use dev_printk.\n\nWed Feb 11 21:21:04 CET 2009\nfiredtv: avc, ci: remove unused constants\n\nWed Feb 11 21:21:04 CET 2009\nfiredtv: avc: remove bitfields from read descriptor response operands\n\n    Don\u0027t use bitfields in struct types of on-the-wire data.\n\nWed Feb 11 21:21:04 CET 2009\nfiredtv: avc: remove bitfields from DSD command operands\n\n    Don\u0027t use bitfields in struct types of on-the-wire data.\n\nWed Feb 11 21:21:04 CET 2009\nfiredtv: avc: header file cleanup\n\n    Remove unused constants and declarations.\n    Move privately used constants into .c files.\n\nWed Feb 11 21:21:04 CET 2009\nfiredtv: avc: remove bitfields from FCP frame types\n\n    Don\u0027t use bitfields in struct types of on-the-wire data.\n\n    Also move many privately used constants from avc.h to avc.c\n    and remove some unused constants.\n\nSun, 18 Jan 2009 16:30:00 +0100 (CET)\nfiredtv: avc: fix offset in avc_tuner_get_ts\n\n    The parentheses were wrong.  It didn\u0027t matter though because this code\n    only writes a 0 into an area which is already initialized to 0.\n\nSun, 18 Jan 2009 16:30:00 +0100 (CET)\nfiredtv: avc: reduce stack usage, remove two typedefs\n\n    It is safe to share a memory buffer for command frame and response frame\n    because the response data come in after the command frame was last used.\n\n    Even less stack would be required if only the actual required frame size\n    instead of the entire FCP register size was allocated.\n\n    Also, rename the defined types AVCCmdFrm and AVCRspFrm to\n    struct avc_command_frame and struct avc_response_frame.\n    TODO:  Remove the bitfields in these types.\n\nSun, 18 Jan 2009 16:30:00 +0100 (CET)\nfiredtv: cmp: move code to avc\n\nSun, 18 Jan 2009 16:30:00 +0100 (CET)\nfiredtv: iso: move code to firedtv-1394\n\nSun, 18 Jan 2009 16:30:00 +0100 (CET)\nfiredtv: iso: remove unnecessary struct type definitions\n\nSun, 18 Jan 2009 16:30:00 +0100 (CET)\nfiredtv: iso: style changes and fixlets\n\n    Add cleanup after failure in setup_iso_channel.\n    Replace printk() by dv_err().\n    Decrease indentation level in rawiso_activity_cb().\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a70f81c1c0dac113ac4705e7701e2676e67905cd",
      "tree": "2ff18425bc3b9a4cbf083c82e011a06a0f88f926",
      "parents": [
        "291f006efeebeeb2073289e44efb8f97cf157220"
      ],
      "author": {
        "name": "Rambaldi",
        "email": "Rambaldi@xs4all.nl",
        "time": "Sat Jan 17 14:47:34 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 24 14:51:29 2009 +0100"
      },
      "message": "firedtv: rename files, variables, functions from firesat to firedtv\n\nCombination of the following changes:\n\nSat, 17 Jan 2009 14:47:34 +0100\nfiredtv: rename variables and functions from firesat to firedtv\n\n    Signed-off-by: Rambaldi \u003cRambaldi@xs4all.nl\u003e\n\n    Additional changes by Stefan Richter:\n\n    Renamed struct firedtv *firedtv to struct firedtv *fdtv and\n    firedtv_foo_bar() to fdtv_foo_bar() for brevity.\n\nSat, 17 Jan 2009 13:07:44 +0100\nfiredtv: rename files from firesat to firedtv\n\n    Signed-off-by: Rambaldi \u003cRambaldi@xs4all.nl\u003e\n\n    Additional changes by Stefan Richter:\n\n    Name the directory \"firewire\" instead of \"firedtv\".\n    Standardize on \"-\" instead of \"_\" in file names, because that\u0027s what\n    drivers/firewire/ and drivers/media/dvb/dvb-usb/ use too.\n    Build fix.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "291f006efeebeeb2073289e44efb8f97cf157220",
      "tree": "0ec49d725fe5eac0a25d130a7111c404dbacbc68",
      "parents": [
        "a40bf5591681f707afcf550cdcb4cc1697a29504"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Thu Dec 25 15:34:25 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 24 14:51:29 2009 +0100"
      },
      "message": "firedtv: Use DEFINE_SPINLOCK\n\nSPIN_LOCK_UNLOCKED is deprecated.  The following makes the change suggested\nin Documentation/spinlocks.txt\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a40bf5591681f707afcf550cdcb4cc1697a29504",
      "tree": "6baddfae3483ae0c74feb5376e5f6e1bad122146",
      "parents": [
        "7199e523ef71d24cd8030ea454fca00bb52d58f0"
      ],
      "author": {
        "name": "Henrik Kurelid",
        "email": "henrik@kurelid.se",
        "time": "Mon Dec 15 08:17:12 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 24 14:51:28 2009 +0100"
      },
      "message": "firedtv: fix registration - adapter number could only be zero\n\nThere was a bug causing the initialization to fail if adapter number was\ngreater than zero. The adapter was however registered which caused the driver\nto oops the second time initialization was tried.\n\nSigned-off-by: Henrik Kurelid \u003chenrik@kurelid.se\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "7199e523ef71d24cd8030ea454fca00bb52d58f0",
      "tree": "2c705754996affa5e7d3a1d3624d5a0f3539b1ca",
      "parents": [
        "096edfbf167ab277608d26ba8b7978da116a4996"
      ],
      "author": {
        "name": "Henrik Kurelid",
        "email": "henrik@kurelid.se",
        "time": "Fri Dec 05 10:00:16 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 24 14:51:28 2009 +0100"
      },
      "message": "firedtv: use length_field() of PMT as length\n\nParsed and used the length_field() of the PMT message instead of using\nthe length field of the message struct, which does not seem to be filled\ncorrectly by e.g. MythTV.\n\nSigned-off-by: Henrik Kurelid \u003chenrik@kurelid.se\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "096edfbf167ab277608d26ba8b7978da116a4996",
      "tree": "46aaf081b22a7b9a588f8908187d35c24993c11b",
      "parents": [
        "8ae83cdf3297d7da301af36bdb6ff45bd331c6d0"
      ],
      "author": {
        "name": "Henrik Kurelid",
        "email": "henrik@kurelid.se",
        "time": "Thu Dec 04 22:40:52 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 24 14:51:28 2009 +0100"
      },
      "message": "firedtv: fix returned struct for ca_info\n\nThe SystemId of the ca_info message was filled with garbage.\nIt now returns what the card returns.\n\nSigned-off-by: Henrik Kurelid \u003chenrik@kurelid.se\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "8ae83cdf3297d7da301af36bdb6ff45bd331c6d0",
      "tree": "0363a01f1b3655507bdaf7e1f55af6a3ee9d26b7",
      "parents": [
        "00fc3072e484c1c6fdbd9c3b1851f866000a6cb9"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Nov 02 13:45:00 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 24 14:51:28 2009 +0100"
      },
      "message": "firedtv: cleanups and minor fixes\n\nCombination of the following changes:\n\nSun, 2 Nov 2008 13:45:00 +0100 (CET)\nfiredtv: increase FCP frame length for DVB-S2 tune QSPK\n\n    The last three bytes didn\u0027t go out to the wire.\n    Effect of the fix not yet tested.\n\nSun, 2 Nov 2008 13:45:00 +0100 (CET)\nfiredtv: replace mdelay by msleep\n\n    These functions can sleep (and in fact sleep for the duration of a whole\n    FCP transaction).  Hence msleep is more appropriate here.\n\nSun, 2 Nov 2008 13:45:00 +0100 (CET)\nfiredtv: trivial reorganization in avc_api\n\n    Reduce nesting level by factoring code out of avc_tuner_dsd() into\n    helper functions.\n\nSun, 2 Nov 2008 13:45:00 +0100 (CET)\nfiredtv: trivial cleanups in avc_api\n\n    Use dev_err(), no CamelCase function names, adjust comment style, put\n    #if 0 around unused code and add FIXME comments, standardize on\n    lower-case hexadecimal constants, use ALIGN() for some frame length\n    calculations, make a local function static...\n\n    The code which writes FCP command frames and reads FCP response frames\n    is not yet brought into canonical kernel coding style because this\n    involves changes of typedefs (on-the-wire bitfields).\n\nSun, 2 Nov 2008 13:45:00 +0100 (CET)\nfiredtv: don\u0027t retry oPCR updates endlessly\n\n    In the theoretical case that the target node wasn\u0027t handling the lock\n    transactions as expected or there was continued interference by other\n    initiating nodes, these functions wouldn\u0027t return for ages.\n\nSun, 2 Nov 2008 13:45:00 +0100 (CET)\nfiredtv: remove bitfield typedefs from cmp, fix for big endian CPUs\n\n    Use macros/ inline functions/ standard byte order accessors to read and\n    write oPCR register values (big endian bitfields, on-the-wire data).\n    The new code may not be the ultimate optimum, but it doesn\u0027t occur in a\n    hot path.\n\n    This fixes the CMP code for big endian CPUs.  So far I tested it only on\n    a little endian CPU though.\n\n    For now, include \u003casm/byteorder.h\u003e instead of \u003clinux/byteorder.h\u003e\n    because drivers/ieee1394/*.h also include the former.  I will fix this\n    in drivers/ieee1394 and firedtv later.\n\nSun, 2 Nov 2008 13:45:00 +0100 (CET)\nfiredtv: trivial cleanups in cmp\n\n    Reduce nesting level by means of early exit and goto.\n    Remove obsolete includes, use dev_err(), no CamelCase function names...\n\nSun, 2 Nov 2008 13:45:00 +0100 (CET)\nfiredtv: trivial cleanups in firesat-ci\n\n    Whitespace, variable names, comment style...\n\n    Also, use dvb_generic_open() and dvb_generic_release() directly as\n    our hooks in struct file_operations because firedtv\u0027s wrappers merely\n    called these generic functions.\n\nSun, 2 Nov 2008 13:45:00 +0100 (CET)\nfiredtv: remove CA debug code\n\n    This looks like it is not necessary to have available for endusers who\n    cannot patch kernels for bug reporting and tests of fixes.\n\nSun, 2 Nov 2008 13:45:00 +0100 (CET)\nfiredtv: remove AV/C debug code\n\n    This looks like it is not necessary to have available for endusers who\n    cannot patch kernels for bug reporting and tests of fixes.\n\nSun, 2 Nov 2008 13:45:00 +0100 (CET)\nfiredtv: remove various debug code\n\n    Most of this was already commented out.  And that which wasn\u0027t is not\n    relevant in normal use.\n\nMon, 29 Sep 2008 19:22:48 +0200 (CEST)\nfiredtv: register input device as child of a FireWire device\n\n    Instead of one virtual input device which exists for the whole lifetime\n    of the driver and receives events from all connected FireDTVs, register\n    one input device for each firedtv device.  These input devices will show\n    up as children of the respective firedtv devices in the sysfs hierarchy.\n\n    However, the implementation falls short because of a bug in userspace:\n    Udev\u0027s path_id script gets stuck with 100% CPU utilization, maybe\n    because of an assumption about the maximum ieee1394 device hierarchy\n    depth.\n\n    To avoid this bug, we use the fw-host device instead of the proper\n    unit_directory device as parent of the input device.\n\n    There is hope that the port to the new firewire stack won\u0027t be inhibited\n    by this userspace bug because there are no fw-host devices there.\n\nMon, 29 Sep 2008 19:21:52 +0200 (CEST)\nfiredtv: fix string comparison and a few sparse warnings\n\n    Sparse found a bug:\n    \twhile ((kv_buf + kv_len - 1) \u003d\u003d \u0027\\0\u0027)\n    should have been\n    \twhile (kv_buf[kv_len - 1] \u003d\u003d \u0027\\0\u0027)\n    We fix it by a better implementation without a temporary copy.\n\n    Also fix sparse warnings of 0 instead of NULL and signedness mismatches.\n\nMon, 29 Sep 2008 19:21:20 +0200 (CEST)\nfiredtv: remove unused struct members\n\n    and redefine an int as a bool.\n\nMon, 29 Sep 2008 19:20:36 +0200 (CEST)\nfiredtv: fix initialization of dvb_frontend.ops\n\n    There was a NULL pointer reference if no dvb_frontend_info was found.\n\n    Also, don\u0027t directly assign struct typed values to struct typed\n    variables.  Instead write out assignments to individual strcut members.\n    This reduces module size by about 1 kB.\n\nMon, 29 Sep 2008 19:19:41 +0200 (CEST)\nfiredtv: remove unused dual subunit code from initialization\n\n    No FireDTVs with more than one subunit exists, hence simplify the\n    initialization for the special case of one subunit.  The driver was able\n    to check for more than one subunit but was broken for more than two\n    subunits.\n\n    While we are at it, add several missing cleanups after failure, and\n    include a few dynamically allocated structures diretly into struct\n    firesat instead of allocating them separately.\n\nMon, 29 Sep 2008 19:19:08 +0200 (CEST)\nfiredtv: add vendor_id and version to driver match table\n\n    Now that nodemgr was enhanced to match against the root directory\u0027s\n    vendor ID if there isn\u0027t one in the unit directory, use this to\n    prevent firedtv to be bound to wrong devices by accident.\n\n    Also add the AV/C software version ID to the match flags for\n    completeness; specifier ID and software only make sense as a pair.\n\nMon, 29 Sep 2008 19:18:30 +0200 (CEST)\nfiredtv: use hpsb_node_read(), _write(), _lock()\n\n    because they are simpler and treat the node generation more correctly.\n    While we are at it, clean up and simplify surrounding code.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "00fc3072e484c1c6fdbd9c3b1851f866000a6cb9",
      "tree": "851689333bb3906537c371fec13984892e10189e",
      "parents": [
        "9c939e4df432fe4ed17bdbf7bc14111ec51ef7c9"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Feb 16 23:42:31 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 24 14:51:28 2009 +0100"
      },
      "message": "ieee1394: remove superfluous assertions\n\nhpsb_read, hpsb_write, hpsb_lock are sleeping functions which nobody is\nin danger to use in atomic context.  Besides, in_interrupt does not\ncover all types of atomic context.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "9c939e4df432fe4ed17bdbf7bc14111ec51ef7c9",
      "tree": "4d9efdfbd05ca34ae12bddd7ec14077b3b9339a3",
      "parents": [
        "b33fdd6ca576d6c476c6aebf350d4556294d74ac"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Aug 27 01:24:25 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 24 14:51:27 2009 +0100"
      },
      "message": "ieee1394: inherit ud vendor_id from node vendor_id\n\nWhile Module_Vendor_ID in the configuration ROM\u0027s root directory is\nmandatory, there often aren\u0027t vendor IDs in unit directories.  This\naffects the new firedtv driver which is meant to be auto-loaded and\nmatched only for vendor-specific devices.\n\nWe now always copy ne-\u003evendor_id into ud-\u003evendor_id before we scan a\nunit directory (and fill in a possibly present vendor ID from there).\nThis way, the root directory\u0027s vendor ID is used as fallback in the\n\"uevent\" environment for modprobe\u0027ing per module alias when a node was\nplugged in, and in the driver match routine when protocol drivers are\nbound to unit directories.  It will however not be used as sysfs\nattribute of a unit directory device.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b33fdd6ca576d6c476c6aebf350d4556294d74ac",
      "tree": "ae76d90ae3f103308d408e4a29c540c812b7d44b",
      "parents": [
        "29f8ea8ab09bad0c3c0d67964559d27643e97903"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Aug 27 13:40:02 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 24 14:51:27 2009 +0100"
      },
      "message": "ieee1394: add hpsb_node_read() and hpsb_node_lock()\n\nThese will be used by the firedtv driver.  Like hpsb_node_write() they\nare much better APIs for high-level drivers than hpsb_write() and its\nsiblings --- easier to use correctly and also terser.\n\nUnlike hspb_node_write(), the two new functions will only be used by\none call site.  Hence make them static inline instead of exported\nsymbols.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    }
  ],
  "next": "29f8ea8ab09bad0c3c0d67964559d27643e97903"
}
