)]}'
{
  "log": [
    {
      "commit": "88fcd5627563722483427a55113c0a83f56e8080",
      "tree": "6a596e33d6497fbed58147e8fdb59b611d956c12",
      "parents": [
        "071f44b1d2c051641b62a3571223314737ccbe59"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:22 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:25 2008 -0400"
      },
      "message": "libata: make PMP support optional\n\nMake PMP support optional by adding CONFIG_SATA_PMP and leaving out\nlibata-pmp.c if it isn\u0027t set.  PMP helpers return constant values if\nPMP support is not enabled and PMP declarations alias non-PMP\ncounterparts.  This makes the compiler to leave out PMP related part\nout and LLDs to use non-PMP counterparts automatically.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "071f44b1d2c051641b62a3571223314737ccbe59",
      "tree": "a07794c8109e5d82a78223ae0159eadbf862c463",
      "parents": [
        "48515f6c006c2a9d7b624ee8ad068018c2d3fe0e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:22 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:25 2008 -0400"
      },
      "message": "libata: implement PMP helpers\n\nImplement helpers to test whether PMP is supported, attached and\ndetermine pmp number to use when issuing SRST to a link.  While at it,\nmove ata_is_host_link() so that it\u0027s together with the two new PMP\nhelpers.\n\nThis change simplifies LLDs and helps making PMP support optional.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "48515f6c006c2a9d7b624ee8ad068018c2d3fe0e",
      "tree": "0ade033552ccb297ac7736a6b2d77dd249be4eb8",
      "parents": [
        "127102aea2ea9ec4e9ca233e2b1a75c8d3b058c4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:21 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:25 2008 -0400"
      },
      "message": "libata: separate PMP support code from core code\n\nMost of PMP support code is already in libata-pmp.c.  All that are in\nlibata-core.c are sata_pmp_port_ops and EXPORTs.  Move them to\nlibata-pmp.c.  Also, collect PMP related prototypes and declarations\nin header files and move them right above of SFF stuff.\n\nThis change is to make PMP support optional.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "127102aea2ea9ec4e9ca233e2b1a75c8d3b058c4",
      "tree": "92fb528eac658adbc7307a009bd8a7558db2658a",
      "parents": [
        "350756f6dab6d37ef9ed3f18dec520e88969ddac"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:21 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:24 2008 -0400"
      },
      "message": "libata: make SFF support optional\n\nNow that SFF support is completely separated out from the core layer,\nit can be made optional.  Add CONFIG_ATA_SFF and let SFF drivers\ndepend on it.  If CONFIG_ATA_SFF isn\u0027t set, all codes in libata-sff.c\nand data structures for SFF support are disabled.  This saves good\nnumber of bytes for small systems.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "c9f75b04ed5ed65a058d18a8a8dda50632a96de8",
      "tree": "e0100eae3b10006a8618ddb32bdf971e20db0dd8",
      "parents": [
        "520d06f92b32d7abe5127d7cc46a819db0f384e6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:21 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:24 2008 -0400"
      },
      "message": "libata: kill ata_noop_dev_select()\n\nNow that SFF assumptions are separated out from non-SFF reset\nsequence, port_ops-\u003esff_dev_select() is no longer necessary for\nnon-SFF controllers.  Kill ata_noop_dev_select() and -\u003esff_dev_select\ninitialization from base and other non-SFF port_ops.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "79f97dadfe9b4b561634d202225ba2fa910dc225",
      "tree": "7bea39a135c7c87b7430d6c071288a05990b9309",
      "parents": [
        "22183bf569c8600ff414ac25f23134044e0ef453"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:20 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:23 2008 -0400"
      },
      "message": "libata: drop @finish_qc from ata_qc_complete_multiple()\n\nata_qc_complete_multiple() took @finish_qc and called it on every qc\nbefore completing it.  This was to give opportunity to update TF cache\nbefore ata_qc_complete() tries to fill result_tf.  Now that result TF\nis a separate operation, this is no longer necessary.\n\nUpdate sata_sil24, which was the only user of this mechanism, such\nthat it implements its own ops-\u003eqc_fill_rtf() and drop @finish_qc from\nata_qc_complete_multiple().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "22183bf569c8600ff414ac25f23134044e0ef453",
      "tree": "1dea79cdbe439637477e1c4214b600b6823cb866",
      "parents": [
        "305d2a1ab137d11d573319c315748a87060fe82d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:20 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:23 2008 -0400"
      },
      "message": "libata: add qc_fill_rtf port operation\n\nOn command completion, ata_qc_complete() directly called ops-\u003etf_read\nto fill qc-\u003eresult_tf.  This patch adds ops-\u003eqc_fill_rtf to replace\nhardcoded ops-\u003etf_read usage.\n\nata_sff_qc_fill_rtf() which uses ops-\u003etf_read to fill result_tf is\nimplemented and set in ata_base_port_ops and other ops tables which\ndon\u0027t inherit from ata_base_port_ops, so this patch doesn\u0027t introduce\nany behavior change.\n\nops-\u003eqc_fill_rtf() is similar to ops-\u003esff_tf_read() but can only be\ncalled when a command finishes.  As some non-SFF controllers don\u0027t\nhave TF registers defined unless they\u0027re associated with in-flight\ncommands, this limited operation makes life easier for those drivers\nand help lifting SFF assumptions from libata core layer.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "5958e3025fd9d97429163e074d9cfa3848f51f28",
      "tree": "f20492dc35fc2651452c871fbc812bd4f8379b40",
      "parents": [
        "ac371987a81c61c2efbd6931245cdcaf43baad89"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:20 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:23 2008 -0400"
      },
      "message": "libata: move PMP SCR access failure during reset to ata_eh_reset()\n\nIf PMP fan-out reset fails and SCR isn\u0027t accessible, PMP should be\nreset.  This used to be tested by sata_pmp_std_hardreset() and\ncommunicated to EH by -ERESTART.  However, this logic is generic and\ndoesn\u0027t really have much to do with specific hardreset implementation.\n\nThis patch moves SCR access failure detection logic to ata_eh_reset()\nwhere it belongs.  As this makes sata_pmp_std_hardreset() identical to\nsata_std_hardreset(), the function is killed and replaced with the\nstandard method.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "ac371987a81c61c2efbd6931245cdcaf43baad89",
      "tree": "f88970931b26d2ad344d7d67ddabc64d9b48181d",
      "parents": [
        "57c9efdfb3cee5d4564fcb5f70555e2edb1bc52a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:19 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:23 2008 -0400"
      },
      "message": "libata: clear SError after link resume\n\nSError used to be cleared in -\u003epostreset.  This has small hotplug race\ncondition.  If a device is plugged in after reset is complete but\npostreset hasn\u0027t run yet, its hotplug event gets lost when SError is\ncleared.  This patch makes sata_link_resume() clear SError.  This\nkills the race condition and makes a lot of sense as some PMP and host\nPHYs don\u0027t work properly without SError cleared.\n\nThis change makes sata_pmp_std_{pre|post}_reset()\u0027s unnecessary as\nthey become identical to ata_std counterparts.  It also simplifies\nsata_pmp_hardreset() and ahci_vt8251_hardreset().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "57c9efdfb3cee5d4564fcb5f70555e2edb1bc52a",
      "tree": "c2289500f093736853a94d2d9577036658676498",
      "parents": [
        "9dadd45b24145d6aee2fabb28d7aef972301892b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:19 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:23 2008 -0400"
      },
      "message": "libata: implement and use sata_std_hardreset()\n\nImplement sata_std_hardreset(), which simply wraps around\nsata_link_hardreset().  sata_std_hardreset() becomes new standard\nhardreset method for sata_port_ops and sata_sff_hardreset() moves from\nata_base_port_ops to ata_sff_port_ops, which is where it really\nbelongs.\n\nata_is_builtin_hardreset() is added so that both\nata_std_error_handler() and ata_sff_error_handler() skip both builtin\nhardresets if SCR isn\u0027t accessible.\n\npiix_sidpr_hardreset() in ata_piix.c is identical to\nsata_std_hardreset() in functionality and got replaced with the\nstandard function.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "9dadd45b24145d6aee2fabb28d7aef972301892b",
      "tree": "c97c323e2edd400bc94eaceddf20f84e9a6da005",
      "parents": [
        "a89611e8489ac24f371c9fd6fef6605b170b16ba"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:19 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:22 2008 -0400"
      },
      "message": "libata: move generic hardreset code from sata_sff_hardreset() to sata_link_hardreset()\n\nsata_sff_hardreset() contains link readiness wait logic which isn\u0027t\nSFF specific.  Move that part into sata_link_hardreset(), which now\ntakes two more parameters - @online and @check_ready.  Both are\noptional.  The former is out parameter for link onlineness after\nreset.  The latter is used to wait for link readiness after hardreset.\n\nUsers of sata_link_hardreset() is updated to use new funtionality and\nahci_hardreset() is updated to use sata_link_hardreset() instead of\nsata_sff_hardreset().  This doesn\u0027t really cause any behavior change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "aa2731ad9ad80ac3fca48bd1c4cf0eceede4810e",
      "tree": "db6d3327017b9b84355aba49a5ccd5c322d3f248",
      "parents": [
        "705e76beb90b97421e1f61e857c4246799781bb5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:19 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:22 2008 -0400"
      },
      "message": "libata: separate out ata_wait_ready() and implement ata_wait_after_reset()\n\nFactor out waiting logic (which is common to all ATA controllers) from\nata_sff_wait_ready() into ata_wait_ready().  ata_wait_ready() takes\n@check_ready function pointer and uses it to poll for readiness.  This\nallows non-SFF controllers to use ata_wait_ready() to wait for link\nreadiness.\n\nThis patch also implements ata_wait_after_reset() - generic version of\nata_sff_wait_after_reset() - using ata_wait_ready().\n\nata_sff_wait_ready() is reimplemented using ata_wait_ready() and\nata_sff_check_ready().  Functionality remains the same.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "705e76beb90b97421e1f61e857c4246799781bb5",
      "tree": "e571ad9229d469cd73d1388c76823922400823d5",
      "parents": [
        "203c75b8245c5386044721d9c5eda5c6b71b3d14"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:19 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:22 2008 -0400"
      },
      "message": "libata: restructure SFF post-reset readiness waits\n\nPreviously, post-softreset readiness is waited as follows.\n\n1. ata_sff_wait_after_reset() waits for 150ms and then for\n   ATA_TMOUT_FF_WAIT if status is 0xff and other conditions meet.\n\n2. ata_bus_softreset() finishes with -ENODEV if status is still 0xff.\n   If not, continue to #3.\n\n3. ata_bus_post_reset() waits readiness of dev0 and/or dev1 depending\n   on devmask using ata_sff_wait_ready().\n\nAnd for post-hardreset readiness,\n\n1. ata_sff_wait_after_reset() waits for 150ms and then for\n   ATA_TMOUT_FF_WAIT if status is 0xff and other conditions meet.\n\n2. sata_sff_hardreset waits for device readiness using\n   ata_sff_wait_ready().\n\nThis patch merges and unifies post-reset readiness waits into\nata_sff_wait_ready() and ata_sff_wait_after_reset().\n\nATA_TMOUT_FF_WAIT handling is merged into ata_sff_wait_ready().  If TF\nstatus is 0xff, link status is unknown and the port is SATA, it will\ncontinue polling till ATA_TMOUT_FF_WAIT.\n\nata_sff_wait_after_reset() is updated to perform the following steps.\n\n1. waits for 150ms.\n\n2. waits for dev0 readiness using ata_sff_wait_ready().  Note that\n   this is done regardless of devmask, as ata_sff_wait_ready() handles\n   0xff status correctly, this preserves the original behavior except\n   that it may wait longer after softreset if link is online but\n   status is 0xff.  This behavior change is very unlikely to cause any\n   actual difference and is intended.  It brings softreset behavior to\n   that of hardreset.\n\n3. waits for dev1 readiness just the same way ata_bus_post_reset() did.\n\nNow both soft and hard resets call ata_sff_wait_after_reset() after\nreset to wait for readiness after resets.  As\nata_sff_wait_after_reset() contains calls to -\u003esff_dev_select(),\nexplicit call near the end of sata_sff_hardreset() is removed.\n\nThis change makes reset implementation simpler and more consistent.\n\nWhile at it, make the magical 150ms wait post-reset wait duration a\nconstant and ata_sff_wait_ready() and ata_sff_wait_after_reset() take\n@link instead of @ap.  This is to make them consistent with other\nreset helpers and ease core changes.\n\npata_scc is updated accordingly.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "203c75b8245c5386044721d9c5eda5c6b71b3d14",
      "tree": "5a8c446c483a77dc86aca145b0b38c4a2b410dfa",
      "parents": [
        "0aa1113d544226bc2c4a20d6ac1d71170512a361"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:18 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:22 2008 -0400"
      },
      "message": "libata: separate out ata_std_postreset() from ata_sff_postreset()\n\nSeparate out generic ATA portion from ata_sff_postreset() into\nata_std_postreset() and implement ata_sff_postreset() using the std\nversion.\n\nata_base_port_ops now has ata_std_postreset() for its postreset and\nata_sff_port_ops overrides it to ata_sff_postreset().\n\nThis change affects pdc_adma, ahci, sata_fsl and sata_sil24.  pdc_adma\nnow specifies postreset to ata_sff_postreset() explicitly.  sata_fsl\nand sata_sil24 now use ata_std_postreset() which makes no difference\nto them.  ahci now calls ata_std_postreset() from its own postreset\nmethod, which causes no behavior difference.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "0aa1113d544226bc2c4a20d6ac1d71170512a361",
      "tree": "503b33b0805424d312abddd3535c941bb85c03bc",
      "parents": [
        "288623a06c652239d2f57d271af12bb024cf7218"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:18 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:22 2008 -0400"
      },
      "message": "libata: separate out ata_std_prereset() from ata_sff_prereset()\n\nSeparate out generic ATA portion from ata_sff_prereset() into\nata_std_prereset() and implement ata_sff_prereset() using the std\nversion.  Waiting for device readiness is the only SFF specific part.\n\nata_base_port_ops now has ata_std_prereset() for its prereset and\nata_sff_port_ops overrides it to ata_sff_prereset().  This change can\naffect pdc_adma, ahci, sata_fsl and sata_sil24.  pdc_adma implements\nits own prereset using ata_sff_prereset() and the rest has hardreset\nand thus are unaffected by this change.\n\nThis change reflects real world situation.  There is no generic way to\nwait for device readiness for non-SFF controllers and some of them\ndon\u0027t have any mechanism for that.  Non-sff drivers which don\u0027t have\nhardreset should wrap ata_std_prereset() and wait for device readiness\nitself but there\u0027s no such driver now and isn\u0027t likely to be popular\nin the future either.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "288623a06c652239d2f57d271af12bb024cf7218",
      "tree": "e693ca8a46cbedc522cb6f5ca3395d3dc692cfb3",
      "parents": [
        "5682ed33aae05d10a25c95633ef9d9c062825888"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:17 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:22 2008 -0400"
      },
      "message": "libata: clean up port_ops-\u003esff_irq_clear()\n\n-\u003esff_irq_clear() is called only from SFF interrupt handler, so there\nis no reason to initialize it for non-SFF controllers.  Also,\nata_sff_irq_clear() can handle both BMDMA and non-BMDMA SFF\ncontrollers.\n\nThis patch kills ata_noop_irq_clear() and removes it from base\nport_ops and sets -\u003esff_irq_clear to ata_sff_irq_clear() in sff\nport_ops instead of bmdma port_ops.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "5682ed33aae05d10a25c95633ef9d9c062825888",
      "tree": "1632d4d70f4fd2dc25596a5cde1183f70f162ac3",
      "parents": [
        "9363c3825ea9ad76561eb48a395349dd29211ed6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:16 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:22 2008 -0400"
      },
      "message": "libata: rename SFF port ops\n\nAdd sff_ prefix to SFF specific port ops.\n\nThis rename is in preparation of separating SFF support out of libata\ncore layer.  This patch strictly renames ops and doesn\u0027t introduce any\nbehavior difference.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "9363c3825ea9ad76561eb48a395349dd29211ed6",
      "tree": "abe89a0f7c82b805d84b1a211c97b317f6628d5f",
      "parents": [
        "b67a1064cb1c1d3b43e01e8b43a6a8dcdefed733"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:16 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:21 2008 -0400"
      },
      "message": "libata: rename SFF functions\n\nSFF functions have confusing names.  Some have sff prefix, some have\nbmdma, some std, some pci and some none.  Unify the naming by...\n\n* SFF functions which are common to both BMDMA and non-BMDMA are\n  prefixed with ata_sff_.\n\n* SFF functions which are specific to BMDMA are prefixed with\n  ata_bmdma_.\n\n* SFF functions which are specific to PCI but apply to both BMDMA and\n  non-BMDMA are prefixed with ata_pci_sff_.\n\n* SFF functions which are specific to PCI and BMDMA are prefixed with\n  ata_pci_bmdma_.\n\n* Drop generic prefixes from LLD specific routines.  For example,\n  bfin_std_dev_select -\u003e bfin_dev_select.\n\nThe following renames are noteworthy.\n\n  ata_qc_issue_prot() -\u003e ata_sff_qc_issue()\n  ata_pci_default_filter() -\u003e ata_bmdma_mode_filter()\n  ata_dev_try_classify() -\u003e ata_sff_dev_classify()\n\nThis rename is in preparation of separating SFF support out of libata\ncore layer.  This patch strictly renames functions and doesn\u0027t\nintroduce any behavior difference.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "83c063dd730cb56bf3fc89b70250ff9a398fec1e",
      "tree": "4447914e4957f678a3085d45824c132dfc5c8b8b",
      "parents": [
        "c30484d775eb0b899f2b6a8f5508a99ecaba59fc"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Thu Feb 28 21:43:13 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:21 2008 -0400"
      },
      "message": "use ATA_TAG_INTERNAL in ata_tag_internal()\n\nIt should be ATA_TAG_INTERNAL.\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "03faab7827e4e45823fd27c47b84c133e20a0cd0",
      "tree": "046b04c7e650f5318beb330d70e855a889750154",
      "parents": [
        "a5987e0a1b569146ed9cfa0a8c275a21b344fcaa"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Mar 27 19:14:24 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:20 2008 -0400"
      },
      "message": "libata: implement ATA_QCFLAG_RETRY\n\nCurrently whether a command should be retried after failure is\ndetermined inside ata_eh_finish().  Add ATA_QCFLAG_RETRY and move the\nlogic into ata_eh_autopsy().  This makes things clearer and helps\nextending retry determination logic.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "6fd36390117f7844ad147377878ddb52088f583a",
      "tree": "c25d9a8357ff173ce46eb057cc50370b87b9cca8",
      "parents": [
        "3d5a3d67a578d95ac3a11a862d16a054e2d4d9cd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 22:16:44 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:18 2008 -0400"
      },
      "message": "libata: kill ata_chk_status()\n\nata_chk_status() just calls ops-\u003echeck_status and it only adds\nconfusion with other status functions.  Kill it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "071ce34d57924edb76b76f7de460eb4991463959",
      "tree": "10400b05bd2649fe25a8c3aa4d41c08bd29c6347",
      "parents": [
        "624d5c514eed18d5a93062e9d86d67065175f30a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 22:16:42 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:18 2008 -0400"
      },
      "message": "libata: move ata_pci_default_filter() out of CONFIG_PCI\n\nata_pci_default_filter() doesn\u0027t really have anything to do with PCI.\nIt\u0027s generally applicable to BMDMA controllers.  Move it out of\nCONFIG_PCI.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "624d5c514eed18d5a93062e9d86d67065175f30a",
      "tree": "61f89b05b70e9b443cf09083b4ae3d102dd357b7",
      "parents": [
        "272f7884e8c0effe594e5537092b9c0ccc0140b0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 22:16:41 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:18 2008 -0400"
      },
      "message": "libata: reorganize SFF related stuff\n\n* Move SFF related functions from libata-core.c to libata-sff.c.\n\n  ata_[bmdma_]sff_port_ops, ata_devchk(), ata_dev_try_classify(),\n  ata_std_dev_select(), ata_tf_to_host(), ata_busy_sleep(),\n  ata_wait_after_reset(), ata_wait_ready(), ata_bus_post_reset(),\n  ata_bus_softreset(), ata_bus_reset(), ata_std_softreset(),\n  sata_std_hardreset(), ata_fill_sg(), ata_fill_sg_dumb(),\n  ata_qc_prep(), ata_dump_qc_prep(), ata_data_xfer(),\n  ata_data_xfer_noirq(), ata_pio_sector(), ata_pio_sectors(),\n  atapi_send_cdb(), __atapi_pio_bytes(), atapi_pio_bytes(),\n  ata_hsm_ok_in_wq(), ata_hsm_qc_complete(), ata_hsm_move(),\n  ata_pio_task(), ata_qc_issue_prot(), ata_host_intr(),\n  ata_interrupt(), ata_std_ports()\n\n* Make ata_pio_queue_task() global as it\u0027s now called from\n  libata-sff.c.\n\n* Move SFF related stuff in include/linux/libata.h and\n  drivers/ata/libata.h into one place.  While at it, move timing\n  constants into the global enum definition and fortify comments a\n  bit.\n\nThis patch strictly moves stuff around and as such doesn\u0027t cause any\nfunctional difference.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "a1efdaba2dbd6fb89e23a87b66d3f4dd92c9f5af",
      "tree": "6197c537892e0d887b2a90e369b74abf0500b9ac",
      "parents": [
        "959471936241bd83da7d0a76411cef6772140fe6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:50 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:18 2008 -0400"
      },
      "message": "libata: make reset related methods proper port operations\n\nCurrently reset methods are not specified directly in the\nata_port_operations table.  If a LLD wants to use custom reset\nmethods, it should construct and use a error_handler which uses those\nreset methods.  It\u0027s done this way for two reasons.\n\nFirst, the ops table already contained too many methods and adding\nfour more of them would noticeably increase the amount of necessary\nboilerplate code all over low level drivers.\n\nSecond, as -\u003eerror_handler uses those reset methods, it can get\nconfusing.  ie. By overriding -\u003eerror_handler, those reset ops can be\nmade useless making layering a bit hazy.\n\nNow that ops table uses inheritance, the first problem doesn\u0027t exist\nanymore.  The second isn\u0027t completely solved but is relieved by\nproviding default values - most drivers can just override what it has\nimplemented and don\u0027t have to concern itself about higher level\ncallbacks.  In fact, there currently is no driver which actually\nmodifies error handling behavior.  Drivers which override\n-\u003eerror_handler just wraps the standard error handler only to prepare\nthe controller for EH.  I don\u0027t think making ops layering strict has\nany noticeable benefit.\n\nThis patch makes -\u003eprereset, -\u003esoftreset, -\u003ehardreset, -\u003epostreset and\ntheir PMP counterparts propoer ops.  Default ops are provided in the\nbase ops tables and drivers are converted to override individual reset\nmethods instead of creating custom error_handler.\n\n* ata_std_error_handler() doesn\u0027t use sata_std_hardreset() if SCRs\n  aren\u0027t accessible.  sata_promise doesn\u0027t need to use separate\n  error_handlers for PATA and SATA anymore.\n\n* softreset is broken for sata_inic162x and sata_sx4.  As libata now\n  always prefers hardreset, this doesn\u0027t really matter but the ops are\n  forced to NULL using ATA_OP_NULL for documentation purpose.\n\n* pata_hpt374 needs to use different prereset for the first and second\n  PCI functions.  This used to be done by branching from\n  hpt374_error_handler().  The proper way to do this is to use\n  separate ops and port_info tables for each function.  Converted.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "959471936241bd83da7d0a76411cef6772140fe6",
      "tree": "abccf1d3931c17b581ee2c85cda05a603adcfb0f",
      "parents": [
        "887125e3740283be25564bfc6fb5d24974b651ab"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:49 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:17 2008 -0400"
      },
      "message": "libata: kill port_info-\u003esht and -\u003eirq_handler\n\nlibata core layer doesn\u0027t care about sht or -\u003eirq_handler.  Those are\nonly of interest to the LLD during initialization.  This is confusing\nand has caused several drivers to have duplicate unused initializers\nfor these fields.\n\nCurrently only sata_nv uses these fields.  Make sata_nv use\n-\u003eprivate_data, which is supposed to carry LLD-specific information,\ninstead and kill -\u003esht and -\u003eirq_handler.  nv_pi_priv structure is\ndefined and struct literals are used to initialize private_data.\nNotational overhead is negligible.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "887125e3740283be25564bfc6fb5d24974b651ab",
      "tree": "bd037e1c17a468fabe1834e707b70b4b43513e4a",
      "parents": [
        "1bd5b715a305f6f13455e89becbd839010dd14b5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:49 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:17 2008 -0400"
      },
      "message": "libata: stop overloading port_info-\u003eprivate_data\n\nport_info-\u003eprivate_data is currently used for two purposes - to record\nprivate data about the port_info or to specify host-\u003eprivate_data to\nuse when allocating ata_host.\n\nThis overloading is confusing and counter-intuitive in that\nport_info-\u003eprivate_data becomes host-\u003eprivate_data instead of\nport-\u003eprivate_data.  In addition, port_info and host don\u0027t correspond\nto each other 1-to-1.  Currently, the first non-NULL\nport_info-\u003eprivate_data is used.\n\nThis patch makes port_info-\u003eprivate_data just be what it is -\nprivate_data for the port_info where LLD can jot down extra info.\nlibata no longer sets host-\u003eprivate_data to the first non-NULL\nport_info-\u003eprivate_data, @host_priv argument is added to\nata_pci_init_one() instead.  LLDs which use ata_pci_init_one() can use\nthis argument to pass in pointer to host private data.  LLDs which\ndon\u0027t should use init-register model anyway and can initialize\nhost-\u003eprivate_data directly.\n\nAdding @host_priv instead of using init-register model for LLDs which\nuse ata_pci_init_one() is suggested by Alan Cox.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\n"
    },
    {
      "commit": "1bd5b715a305f6f13455e89becbd839010dd14b5",
      "tree": "22e74b38495c51cda92145b7ae31f504f80d9fd3",
      "parents": [
        "029cfd6b74fc5c517865fad78cf4a3ea8d9b664a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:49 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:17 2008 -0400"
      },
      "message": "libata: make ata_pci_init_one() not use ops-\u003eirq_handler and pi-\u003esht\n\nata_pci_init_one() is the only function which uses ops-\u003eirq_handler\nand pi-\u003esht.  Other initialization functions take the same information\nas arguments.  This causes confusion and duplicate unused entries in\nstructures.\n\nMake ata_pci_init_one() take sht as an argument and use ata_interrupt\nimplicitly.  All current users use ata_interrupt and if different irq\nhandler is necessary open coding ata_pci_init_one() using\nata_prepare_sff_host() and ata_activate_sff_host can be done under ten\nlines including error handling and driver which requires custom\ninterrupt handler is likely to require custom initialization anyway.\n\nAs ata_pci_init_one() was the last user of ops-\u003eirq_handler, this\npatch also kills the field.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "029cfd6b74fc5c517865fad78cf4a3ea8d9b664a",
      "tree": "4a40f44f29321e433497a51d2f6cfe1922ae1d58",
      "parents": [
        "68d1d07b510bb57a504588adc2bd2758adea0965"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:49 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:17 2008 -0400"
      },
      "message": "libata: implement and use ops inheritance\n\nlibata lets low level drivers build ata_port_operations table and\nregister it with libata core layer.  This allows low level drivers\nhigh level of flexibility but also burdens them with lots of\nboilerplate entries.\n\nThis becomes worse for drivers which support related similar\ncontrollers which differ slightly.  They share most of the operations\nexcept for a few.  However, the driver still needs to list all\noperations for each variant.  This results in large number of\nduplicate entries, which is not only inefficient but also error-prone\nas it becomes very difficult to tell what the actual differences are.\n\nThis duplicate boilerplates all over the low level drivers also make\nupdating the core layer exteremely difficult and error-prone.  When\ncompounded with multi-branched development model, it ends up\naccumulating inconsistencies over time.  Some of those inconsistencies\ncause immediate problems and fixed.  Others just remain there dormant\nmaking maintenance increasingly difficult.\n\nTo rectify the problem, this patch implements ata_port_operations\ninheritance.  To allow LLDs to easily re-use their own ops tables\noverriding only specific methods, this patch implements poor man\u0027s\nclass inheritance.  An ops table has -\u003einherits field which can be set\nto any ops table as long as it doesn\u0027t create a loop.  When the host\nis started, the inheritance chain is followed and any operation which\nisn\u0027t specified is taken from the nearest ancestor which has it\nspecified.  This operation is called finalization and done only once\nper an ops table and the LLD doesn\u0027t have to do anything special about\nit other than making the ops table non-const such that libata can\nupdate it.\n\nlibata provides four base ops tables lower drivers can inherit from -\nbase, sata, pmp, sff and bmdma.  To avoid overriding these ops\naccidentaly, these ops are declared const and LLDs should always\ninherit these instead of using them directly.\n\nAfter finalization, all the ops table are identical before and after\nthe patch except for setting .irq_handler to ata_interrupt in drivers\nwhich didn\u0027t use to.  The .irq_handler doesn\u0027t have any actual effect\nand the field will soon be removed by later patch.\n\n* sata_sx4 is still using old style EH and currently doesn\u0027t take\n  advantage of ops inheritance.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "68d1d07b510bb57a504588adc2bd2758adea0965",
      "tree": "94e8788a8ca40017b33044329f98bbe6552cc526",
      "parents": [
        "6bd99b4e0998571808fc1f09d5162348f21ff8c1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:49 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:17 2008 -0400"
      },
      "message": "libata: implement and use SHT initializers\n\nlibata lets low level drivers build scsi_host_template and register it\nto the SCSI layer.  This allows low level drivers high level of\nflexibility but also burdens them with lots of boilerplate entries.\n\nThis patch implements SHT initializers which can be used to initialize\nall the boilerplate entries in a sht.  Three variants of them are\nimplemented - BASE, BMDMA and NCQ - for different types of drivers.\nNote that entries can be overriden by putting individual initializers\nafter the helper macro.\n\nAll sht tables are identical before and after this patch.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "358f9a77a668660729e705fde9c3cf69f013aa98",
      "tree": "a249660fdd9f252925eff9eaac3ed7836c839f91",
      "parents": [
        "c1bc899f5805771926c9198e2ab4d77122c356a1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:47 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:16 2008 -0400"
      },
      "message": "libata: implement and use ata_noop_irq_clear()\n\n-\u003eirq_clear() is used to clear IRQ bit of a SFF controller and isn\u0027t\nuseful for drivers which don\u0027t use libata SFF HSM implementation.\nHowever, it\u0027s a required callback and many drivers implement their own\nnoop version as placeholder.  This patch implements ata_noop_irq_clear\nand use it to replace those custom placeholders.\n\nAlso, SFF drivers which don\u0027t support BMDMA don\u0027t need to use\nata_bmdma_irq_clear().  It becomes noop if BMDMA address isn\u0027t\ninitialized.  Convert them to use ata_noop_irq_clear().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "c1bc899f5805771926c9198e2ab4d77122c356a1",
      "tree": "008dc8c45d55477ba3fc7a9c9abe474ecb5027af",
      "parents": [
        "f08048e94564d009b19038cfbdd800aa83e79c7f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 25 12:22:47 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:16 2008 -0400"
      },
      "message": "libata: reorganize ata_port_operations\n\nOver the time, ops in ata_port_operations has become a bit confusing.\nReorganize.  SFF/BMDMA ops are separated into separate a group as they\nwill be taken out of ata_port_operations later.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "b558edddb1c42c70a30cfe494984d4be409f7b2b",
      "tree": "b03275d15675a519de7d4edde709892f885a5fa0",
      "parents": [
        "8cebf274dd1c955a6e03385a85fd6569ce445946"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jan 24 00:05:14 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:16 2008 -0400"
      },
      "message": "libata: kill ata_ehi_schedule_probe()\n\nata_ehi_schedule_probe() was created to hide details of link-resuming\nreset magic.  Now that all the softreset workarounds are gone,\nscheduling probe is very simple - set probe_mask and request RESET.\nKill ata_ehi_schedule_probe() and open code it.  This also increases\nconsistency as ata_ehi_schedule_probe() couldn\u0027t cover individual\ndevice probings so they were open-coded even when the helper existed.\n\nWhile at it, define ATA_ALL_DEVICES as mask of all possible devices on\na link and always use it when requesting probe on link level for\nsimplicity and consistency.  Setting extra bits in the probe_mask\ndoesn\u0027t hurt anybody.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "8cebf274dd1c955a6e03385a85fd6569ce445946",
      "tree": "c459cd20ef93413e063826bb99ca0bcaf67ec8d2",
      "parents": [
        "672b2d65ba83a6f3f801fd3d58851aa9c0725a54"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jan 24 00:05:14 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:16 2008 -0400"
      },
      "message": "libata: kill ATA_LFLAG_SKIP_D2H_BSY\n\nSome controllers can\u0027t reliably record the initial D2H FIS after SATA\nlink is brought online for whatever reason.  Advanced controllers\nwhich don\u0027t have traditional TF register based interface often have\nthis problem as they don\u0027t really have the TF registers to update\nwhile the controller and link are being initialized.\n\nSKIP_D2H_BSY works around the problem by skipping the wait for device\nreadiness before issuing SRST, so for such controllers libata issues\nSRST blindly and hopes for the best.\n\nNow that libata defaults to hardreset, this workaround is no longer\nnecessary.  For controllers which have support for hardreset, SRST is\nnever issued by itself.  It is only issued as follow-up SRST for\ndevice classification and PMP initialization, so there\u0027s no need to\nwait for it from prereset.\n\nKill ATA_LFLAG_SKIP_D2H_BSY.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "672b2d65ba83a6f3f801fd3d58851aa9c0725a54",
      "tree": "ed3a2fe8013bf8322df637838deccf9f2bc9c92c",
      "parents": [
        "d692abd92f22a81b38d52c39601871003262841c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jan 24 00:05:14 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:16 2008 -0400"
      },
      "message": "libata: kill ATA_EHI_RESUME_LINK\n\nATA_EHI_RESUME_LINK has two functions - promote reset to hardreset if\nATA_LFLAG_HRST_TO_RESUME is set and preventing EH from shortcutting\nreset action when probing is requested.  The former is gone now and\nthe latter can easily be achieved by making EH to perform at least one\nreset if reset is requested, which also makes more sense than\ndepending on RESUME_LINK flag.\n\nAs ATA_EHI_RESUME_LINK was the only EHI reset modifier, this also\nkills reset modifier handling.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "d692abd92f22a81b38d52c39601871003262841c",
      "tree": "4ff3f35d88762a52fb4d48adda1f39e1966b9f26",
      "parents": [
        "cf48062658e7ab3bc55e10c65676c3c73c16f8bf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jan 24 00:05:14 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:15 2008 -0400"
      },
      "message": "libata: kill ATA_LFLAG_HRST_TO_RESUME\n\nNow that hardreset is the preferred method of resetting, there\u0027s no\nneed for ATA_LFLAG_HRST_TO_RESUME flag.  Kill it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "cf48062658e7ab3bc55e10c65676c3c73c16f8bf",
      "tree": "9a50a016ceb6051d8a30a43ea39f2a4d3d25570e",
      "parents": [
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jan 24 00:05:14 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:15 2008 -0400"
      },
      "message": "libata: prefer hardreset\n\nWhen both soft and hard resets are available, libata preferred\nsoftreset till now.  The logic behind it was to be softer to devices;\nhowever, this doesn\u0027t really help much.  Rationales for the change:\n\n* BIOS may freeze lock certain things during boot and softreset can\u0027t\n  unlock those.  This by itself is okay but during operation PHY event\n  or other error conditions can trigger hardreset and the device may\n  end up with different configuration.\n\n  For example, after a hardreset, previously unlockable HPA can be\n  unlocked resulting in different device size and thus revalidation\n  failure.  Similar condition can occur during or after resume.\n\n* Certain ATAPI devices require hardreset to recover after certain\n  error conditions.  On PATA, this is done by issuing the DEVICE RESET\n  command.  On SATA, COMRESET has equivalent effect.  The problem is\n  that DEVICE RESET needs its own execution protocol.\n\n  For SFF controllers with bare TF access, it can be easily\n  implemented but more advanced controllers (e.g. ahci and sata_sil24)\n  require specialized implementations.  Simply using hardreset solves\n  the problem nicely.\n\n* COMRESET initialization sequence is the norm in SATA land and many\n  SATA devices don\u0027t work properly if only SRST is used.  For example,\n  some PMPs behave this way and libata works around by always issuing\n  hardreset if the host supports PMP.\n\n  Like the above example, libata has developed a number of mechanisms\n  aiming to promote softreset to hardreset if softreset is not going\n  to work.  This approach is time consuming and error prone.\n\n  Also, note that, dependingon how you read the specs, it could be\n  argued that PMP fan-out ports require COMRESET to start operation.\n  In fact, all the PMPs on the market except one don\u0027t work properly\n  if COMRESET is not issued to fan-out ports after PMP reset.\n\n* COMRESET is an integral part of SATA connection and any working\n  device should be able to handle COMRESET properly.  After all, it\u0027s\n  the way to signal hardreset during reboot.  This is the most used\n  and recommended (at least by the ahci spec) method of resetting\n  devices.\n\nSo, this patch makes libata prefer hardreset over softreset by making\nthe following changes.\n\n* Rename ATA_EH_RESET_MASK to ATA_EH_RESET and use it whereever\n  ATA_EH_{SOFT|HARD}RESET used to be used.  ATA_EH_{SOFT|HARD}RESET is\n  now only used to tell prereset whether soft or hard reset will be\n  issued.\n\n* Strip out now unneeded promote-to-hardreset logics from\n  ata_eh_reset(), ata_std_prereset(), sata_pmp_std_prereset() and\n  other places.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "c970d5a32ae1a90fba89892cc3432cf0b408cb8b",
      "tree": "1d8c3b5bf21249057efabfbb19abd63960a23a1d",
      "parents": [
        "6af74b03e00fc78806f75f6701b24b582bbb5c96",
        "da19566552315389370c40e690054a31b7623de5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 18:58:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 18:58:37 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:\n  it821x: do not describe noraid parameter with its value\n  Pb1200/DBAu1200: fix bad IDE resource size\n  Au1200: IDE driver build fix\n  Au1200: kill IDE driver function prototypes\n  avr32 mustn\u0027t select HAVE_IDE\n"
    },
    {
      "commit": "b4dcaea36b0376456c97698deba0089d2d67cbe7",
      "tree": "9dd0a07edf2f15b2a8caeade081915e9f770f256",
      "parents": [
        "fabd3a223a96de1a91b2148655f2ed09ca9d1c20"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Thu Apr 17 01:14:33 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Apr 17 01:14:33 2008 +0200"
      },
      "message": "Pb1200/DBAu1200: fix bad IDE resource size\n\nThe header files for the Pb1200/DBAu1200 boards have wrong definition for the\nIDE interface\u0027s decoded range length -- it should be 512 bytes according to\nwhat the IDE driver does.  In addition, the IDE platform device claims 1 byte\ntoo many for its memory resource -- fix the platform code and the IDE driver\nin accordance.\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "09a77441f27f51f5f9878c90c7ed67e303197a2a",
      "tree": "555f0e2ce1e433e57ad907a4ee1b60ddc33366b8",
      "parents": [
        "71fc4c0c441eab97630bf2b310e81ebff5e831d7"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Thu Apr 17 01:14:33 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Apr 17 01:14:33 2008 +0200"
      },
      "message": "Au1200: kill IDE driver function prototypes\n\nFix these warnings emitted when compiling drivers/ide/mips/au1xxx-ide.c:\n\ninclude/asm/mach-au1x00/au1xxx_ide.h:137: warning: \u0027auide_tune_drive\u0027 declared \n`static\u0027 but never defined\ninclude/asm/mach-au1x00/au1xxx_ide.h:138: warning: \u0027auide_tune_chipset\u0027 declared\n `static\u0027 but never defined\n\nby wiping out the whole \"function prototyping\" section from the header file\n\u003casm-mips/mach-au1x00/au1xxx_ide.h\u003e as it mostly declared functions that are\nalready dead in the IDE driver; move the only useful prototype into the driver.\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6af74b03e00fc78806f75f6701b24b582bbb5c96",
      "tree": "f2370760e5096b75c07baa98084576c6fb906191",
      "parents": [
        "1076bb40585dc3a4ae6143ecc5a1654495b84c42",
        "75ce6faccdbbea4465876a759917d4994660c025"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 07:45:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 07:45:45 2008 -0700"
      },
      "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  block: update git url for blktrace\n  io context: increment task attachment count in ioc_task_link()\n"
    },
    {
      "commit": "b4b8f57965e007afbbb0175ea28f733723c5260b",
      "tree": "7f4aeda48ada35771ea3e63bbbb36e52c47aeb62",
      "parents": [
        "424b00e2c0f0c38f2cf5331391742ec998f6d89f",
        "56f367bbfd5a7439961499ca6a2f0822d2074d83"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 07:44:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 07:44:27 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  [TCP]: Add return value indication to tcp_prune_ofo_queue().\n  PS3: gelic: fix the oops on the broken IE returned from the hypervisor\n  b43legacy: fix DMA mapping leakage\n  mac80211: remove message on receiving unexpected unencrypted frames\n  Update rt2x00 MAINTAINERS entry\n  Add rfkill to MAINTAINERS file\n  rfkill: Fix device type check when toggling states\n  b43legacy: Fix usage of struct device used for DMAing\n  ssb: Fix usage of struct device used for DMAing\n  MAINTAINERS: move to generic repository for iwlwifi\n  b43legacy: fix initvals loading on bcm4303\n  rtl8187: Add missing priv-\u003evif assignments\n  netconsole: only set CON_PRINTBUFFER if the user specifies a netconsole\n  [CAN]: Update documentation of struct sockaddr_can\n  MAINTAINERS: isdn4linux@listserv.isdn4linux.de is subscribers-only\n  [TCP]: Fix never pruned tcp out-of-order queue.\n  [NET_SCHED] sch_api: fix qdisc_tree_decrease_qlen() loop\n"
    },
    {
      "commit": "5f1a3f2ac4ddf966cd0555dc445c6df65709c580",
      "tree": "13359d9f56d11451d7ad01eda0eaba1c7e0dadf8",
      "parents": [
        "f0a37e008750ead1751b7d5e89d220a260a46147"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Tue Apr 15 14:34:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:41 2008 -0700"
      },
      "message": "acpi thermal trip points increased to 12\n\nThe THERMAL_MAX_TRIPS value is set to 10.  It is too few for the Compaq AP550\nmachine which has 12 trip points.\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Zhang Rui \u003crui.zhang@intel.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1e7780638a9192f15caf590e0081bf915fdef71",
      "tree": "82c5419927d9bfaf77aecede0054a815aea058f3",
      "parents": [
        "50f426b55d919dd017af35bb6a08753d1f262920"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Tue Apr 15 14:34:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:41 2008 -0700"
      },
      "message": "spi: spi_s3c24xx must initialize num_chipselect\n\nThe SPI core now expects num_chipselect to be set correctly as due to added\nchecks on the chip being selected before an transfer is allowed.  This patch\nadds a num_cs field to the platform data which needs to be set correctly\nbefore adding the SPI platform device.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "335e92e8a515420bd47a6b0f01cb9a206c0ed6e4",
      "tree": "1518f9afa7ac7047be2c86481b3dbc12f8cc9282",
      "parents": [
        "423bec43079a2942a3004034df7aad76469758d8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Apr 15 14:34:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:41 2008 -0700"
      },
      "message": "vfs: fix possible deadlock in ext2, ext3, ext4 when using xattrs\n\nmb_cache_entry_alloc() was allocating cache entries with GFP_KERNEL.  But\nfilesystems are calling this function while holding xattr_sem so possible\nrecursion into the fs violates locking ordering of xattr_sem and transaction\nstart / i_mutex for ext2-4.  Change mb_cache_entry_alloc() so that filesystems\ncan specify desired gfp mask and use GFP_NOFS from all of them.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f4deba80a0d9fa92832684e683335b742a530e8",
      "tree": "b9e04ac068aead7a2821e311fdad446d3b740c33",
      "parents": [
        "e115f2d89253490fb2dbf304b627f8d908df26f1"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Apr 15 14:34:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:40 2008 -0700"
      },
      "message": "uml: compile error fix\n\nThis patch fixes this error:\n\nIn file included from /home/wangcong/projects/linux-2.6/arch/um/kernel/smp.c:9:\ninclude2/asm/tlb.h: In function `tlb_remove_page\u0027:\ninclude2/asm/tlb.h:101: error: implicit declaration of function `page_cache_release\u0027\n\nAnd since including \u003clinux/pagemap.h\u003e in \u003clinux/swap.h\u003e will break sparc,\nwe add this #include in uml\u0027s own header.\n\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ac58469f13028e1eb97f8bc7b0fca5072591d8d",
      "tree": "c955e1b753e1f86c570d2d6f5f6095d1182d5c35",
      "parents": [
        "2d4543fdb487b1301ae48703dea3e66ead2d3c75"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Apr 11 11:59:00 2008 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 15 15:04:35 2008 -0400"
      },
      "message": "ssb: Fix usage of struct device used for DMAing\n\nThis fixes DMA on architectures where DMA is nontrivial, like PPC64.\nWe must use the host-device\u0027s (PCI) struct device for any DMA\noperation instead of the SSB device. For this we add a new\nstruct device pointer to the SSB device structure that will always\npoint to the right device for DMAing.\n\nWithout this patch b43 and b44 drivers won\u0027t work on complex-DMA\narchitectures, that for example need dev-\u003earchdata for DMA operations.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d237e5c7ce82b6c7e1aa50348520a0c5a47274fa",
      "tree": "7ba37198dea89e4168cb660175057058ebbf11f1",
      "parents": [
        "a985aabe4d7a720b109c2b63549f8641676a9c88"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 15 09:25:33 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 15 09:25:33 2008 +0200"
      },
      "message": "io context: increment task attachment count in ioc_task_link()\n\nThanks to Nikanth Karthikesan \u003cknikanth@suse.de\u003e for reporting this.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "533bb8a4d7388686243c37a414c4448ba3566f8a",
      "tree": "506ef946871e4499862ecc8513f49b69389ae865",
      "parents": [
        "4f3f8e94b7b079131f0faf641e8afd790a6537d1",
        "159d83363b629c91d020734207c1bc788b96af5a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 14 07:56:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 14 07:56:24 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (31 commits)\n  [BRIDGE]: Fix crash in __ip_route_output_key with bridge netfilter\n  [NETFILTER]: ipt_CLUSTERIP: fix race between clusterip_config_find_get and _entry_put\n  [IPV6] ADDRCONF: Don\u0027t generate temporary address for ip6-ip6 interface.\n  [IPV6] ADDRCONF: Ensure disabling multicast RS even if privacy extensions are disabled.\n  [IPV6]: Use appropriate sock tclass setting for routing lookup.\n  [IPV6]: IPv6 extension header structures need to be packed.\n  [IPV6]: Fix ipv6 address fetching in raw6_icmp_error().\n  [NET]: Return more appropriate error from eth_validate_addr().\n  [ISDN]: Do not validate ISDN net device address prior to interface-up\n  [NET]: Fix kernel-doc for skb_segment\n  [SOCK] sk_stamp: should be initialized to ktime_set(-1L, 0)\n  net: check for underlength tap writes\n  net: make struct tun_struct private to tun.c\n  [SCTP]: IPv4 vs IPv6 addresses mess in sctp_inet[6]addr_event.\n  [SCTP]: Fix compiler warning about const qualifiers\n  [SCTP]: Fix protocol violation when receiving an error lenght INIT-ACK\n  [SCTP]: Add check for hmac_algo parameter in sctp_verify_param()\n  [NET_SCHED] cls_u32: refcounting fix for u32_delete()\n  [DCCP]: Fix skb-\u003ecb conflicts with IP\n  [AX25]: Potential ax25_uid_assoc-s leaks on module unload.\n  ...\n"
    },
    {
      "commit": "e9df2e8fd8fbc95c57dbd1d33dada66c4627b44c",
      "tree": "a644a5ffc7ff46cdd781b1fde9cc0a6a47846ce8",
      "parents": [
        "7cd636fe9ce5de0051c11283911baca4291868c8"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sun Apr 13 23:40:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 23:40:51 2008 -0700"
      },
      "message": "[IPV6]: Use appropriate sock tclass setting for routing lookup.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7cd636fe9ce5de0051c11283911baca4291868c8",
      "tree": "1e914ceedffbc982af0afe207e6d7243d4bf922f",
      "parents": [
        "b45e9189c058bfa495073951ff461ee0eea968be"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sun Apr 13 23:33:52 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 23:33:52 2008 -0700"
      },
      "message": "[IPV6]: IPv6 extension header structures need to be packed.\n\nstruct ipv6_opt_hdr is the common structure for IPv6 extension\nheaders, and it is common to increment the pointer to get\nthe real content.  On the other hand, since the structure\nconsists only of 1-byte next-header field and 1-byte length\nfield, size of that structure depends on architecture; 2 or 4.\nAdd \"packed\" attribute to get 2.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14daa02139dcb3193b2b0250c0720a23ef610c49",
      "tree": "cc83e98b48f62363f2295c39d03b8a40a180924a",
      "parents": [
        "a40a7d15ba602b547f56b7b19e0282fe4fc3dee3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Apr 12 18:48:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 12 18:48:58 2008 -0700"
      },
      "message": "net: make struct tun_struct private to tun.c\n\nThere\u0027s no reason for this to be in the header, and it just hurts\nrecompile time.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Max Krasnyanskiy \u003cmaxk@qualcomm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab38fb04c9f8928cfaf6f4966633d783419906a1",
      "tree": "e7025f9cc3979a509081eb7ad93f5f6a39610c71",
      "parents": [
        "f4ad85ca3ef8a1ede76c5020a28a8f4057b4d24f"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Sat Apr 12 18:40:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 12 18:40:06 2008 -0700"
      },
      "message": "[SCTP]: Fix compiler warning about const qualifiers\n\nFix 3 warnings about discarding const qualifiers:\n\nnet/sctp/ulpevent.c:862: warning: passing argument 1 of \u0027sctp_event2skb\u0027 discards qualifiers from pointer target type\nnet/sctp/sm_statefuns.c:4393: warning: passing argument 1 of \u0027SCTP_ASOC\u0027 discards qualifiers from pointer target type\nnet/sctp/socket.c:5874: warning: passing argument 1 of \u0027cmsg_nxthdr\u0027 discards qualifiers from pointer target type\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f4ad85ca3ef8a1ede76c5020a28a8f4057b4d24f",
      "tree": "cfab9dcd7b29eb150bd6168cf40c375bd9006bbe",
      "parents": [
        "72da7b3860cabf427590b4982bc880bafab4d5c8"
      ],
      "author": {
        "name": "Gui Jianfeng",
        "email": "guijianfeng@cn.fujitsu.com",
        "time": "Sat Apr 12 18:39:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 12 18:39:34 2008 -0700"
      },
      "message": "[SCTP]: Fix protocol violation when receiving an error lenght INIT-ACK\n\nWhen receiving an error length INIT-ACK during COOKIE-WAIT,\na 0-vtag ABORT will be responsed. This action violates the\nprotocol apparently. This patch achieves the following things.\n1 If the INIT-ACK contains all the fixed parameters, use init-tag\n  recorded from INIT-ACK as vtag.\n2 If the INIT-ACK doesn\u0027t contain all the fixed parameters,\n  just reflect its vtag.\n\nSigned-off-by: Gui Jianfeng \u003cguijianfeng@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14897e35fdc045fff9baabf0354570da22386706",
      "tree": "32cf1fcd7696e2018a05f2e4f8d5d20166af21ab",
      "parents": [
        "b0fac02370cffad956ff3de5e8ed4df7e7b875d7",
        "14dadf1d5eb5bea2dd115852cfee880505c1c169"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 11 13:24:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 11 13:24:16 2008 -0700"
      },
      "message": "Merge branch \u0027docs\u0027 of git://git.lwn.net/linux-2.6\n\n* \u0027docs\u0027 of git://git.lwn.net/linux-2.6:\n  Add additional examples in Documentation/spinlocks.txt\n  Move sched-rt-group.txt to scheduler/\n  Documentation: move rpc-cache.txt to filesystems/\n  Documentation: move nfsroot.txt to filesystems/\n  Spell out behavior of atomic_dec_and_lock() in kerneldoc\n  Fix a typo in highres.txt\n  Fixes to the seq_file document\n  Fill out information on patch tags in SubmittingPatches\n  Add the seq_file documentation\n"
    },
    {
      "commit": "dc07e721a26ec7e0adb66340f1763d220cfbbd0c",
      "tree": "b31b5d9d826c4b2e161a0f3e833dab95abb5f6c1",
      "parents": [
        "b40b5162ac4e5b94d16cd9fb0a87168b1633c7dd"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 07 15:59:05 2008 -0400"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Fri Apr 11 13:17:46 2008 -0600"
      },
      "message": "Spell out behavior of atomic_dec_and_lock() in kerneldoc\n\nA little more detail here wouldn\u0027t hurt.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "b0fac02370cffad956ff3de5e8ed4df7e7b875d7",
      "tree": "f7db1d196a065398bfa3376a15ced67cda3f6a8c",
      "parents": [
        "099ce8f4712dcff975ed7619f831b4df95aac773"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Apr 11 13:46:54 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 11 08:29:13 2008 -0700"
      },
      "message": "Fix \"$(AS) -traditional\" compile breakage caused by asmlinkage_protect\n\ngit commit 54a015104136974262afa4b8ddd943ea70dec8a2 (\"asmlinkage_protect\nreplaces prevent_tail_call\") causes this build failure on s390:\n\n    AS      arch/s390/kernel/entry64.o\n  In file included from arch/s390/kernel/entry64.S:14:\n  include/linux/linkage.h:34: error: syntax error in macro parameter list\n  make[1]: *** [arch/s390/kernel/entry64.o] Error 1\n  make: *** [arch/s390/kernel] Error 2\n\nand some other architectures.  The reason is that some architectures add\nthe \"-traditional\" flag to the invocation of $(AS), which disables\nvariadic macro argument support.\n\nSo just surround the new define with an #ifndef __ASSEMBLY__ to prevent\nany side effects on asm code.\n\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "90768c09bca4f306c00a0cdbcb2f82601231e93e",
      "tree": "e1f59bf95e7457e4aee4534d16998a7a146c1b82",
      "parents": [
        "3f0635016246e2fee6e80b4741299833c68b065e",
        "7951f0b03a63d657c72c7d54d306ef3357e7e604"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 11 08:10:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 11 08:10:24 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  [NETNS][IPV6] tcp - assign the netns for timewait sockets\n  [IPV4]: Fix byte value boundary check in do_ip_getsockopt().\n  BNX2X: Correct bringing chip out of reset\n  [NETFILTER]: nf_nat: autoload IPv4 connection tracking\n  [NETFILTER]: xt_hashlimit: fix mask calculation\n  [XFRM]: xfrm_user: fix selector family initialization\n  rt61pci: rt61pci_beacon_update do not free skb twice\n  ssb-mipscore: Fix interrupt vectors\n  ssb-pcicore: Fix IRQ TPS flag handling\n  mac80211: use short_preamble mode from capability if ERP IE not present\n  [NET]: Undo code bloat in hot paths due to print_mac().\n  [TCP]: Don\u0027t allow FRTO to take place while MTU is being probed\n  [TCP]: tcp_simple_retransmit can cause S+L\n  [TCP]: Fix NewReno\u0027s fast rexmit/recovery problems with GSOed skb\n  [TCP]: Restore 2.6.24 mark_head_lost behavior for newreno/fack\n  nl80211: fix STA AID bug\n  b43legacy: fix bcm4303 crash\n  iwlwifi: fix n-band association problem\n  ipw2200: set MAC address on radiotap interface\n  libertas: fix mode initialization problem\n"
    },
    {
      "commit": "544451a1a36b06f43fc67112ede3b92e6203eb9d",
      "tree": "3ae32c7f59291b963770ae8017ac37943077f7ac",
      "parents": [
        "bd2ab67030e9116f1e4aae1289220255412b37fd"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Apr 10 21:29:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 11 08:06:44 2008 -0700"
      },
      "message": "pnp: increase number of devices supported per protocol\n\nIncrease the PNP \"number of devices\" limit.  We currently use an unsigned\nchar, which limits us to 256 devices per protocol.  This patch changes that to\nan unsigned int.\n\nNot all backends can take advantage of this: we limit ISAPNP to 10 devices in\nisapnp_cfg_begin(), and PNPBIOS is limited to 256 devices because the BIOS\ninterfaces use a one-byte device node number.\n\nBut there is no limit on the number of PNPACPI devices we may have.  Large HP\nIntegrity machines have more than 256, which causes the current \"unsigned char\nnumber\" to wrap around.  This causes errors like this:\n\n    pnp: PnP ACPI init\n    kobject_add failed for 00:00 with -EEXIST, don\u0027t try to register things with the same name in the same directory.\n\n    Call Trace:\n     [\u003ca000000100010720\u003e] show_stack+0x40/0xa0\n     [\u003ca0000001000107b0\u003e] dump_stack+0x30/0x60\n     [\u003ca0000001001dbdf0\u003e] kobject_add+0x290/0x2c0\n     [\u003ca0000001002bfd40\u003e] device_add+0x160/0x860\n     [\u003ca0000001002c0470\u003e] device_register+0x30/0x60\n     [\u003ca00000010026ba70\u003e] __pnp_add_device+0x130/0x180\n     [\u003ca00000010026bb70\u003e] pnp_add_device+0xb0/0xe0\n     [\u003ca0000001007f2730\u003e] pnpacpi_add_device+0x510/0x5a0\n     [\u003ca0000001007f2810\u003e] pnpacpi_add_device_handler+0x50/0x80\n\nThis patch increases the limit to fix this PNPACPI problem.  It should not\nhave any adverse effect on ISAPNP or PNPBIOS because their limits are still\nenforced in the backends.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d10d89ec78114f925f63c5126a2b2490f501a462",
      "tree": "16b617325619c841ec1de6fe11b3f8f8f92fdd04",
      "parents": [
        "598af051a79d05b751fe793f1fe09fcf74763e02"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 17:35:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 17:35:23 2008 -0700"
      },
      "message": "Add commentary about the new \"asmlinkage_protect()\" macro\n\nIt\u0027s really a pretty ugly thing to need, and some day it will hopefully\nbe obviated by teaching gcc about the magic calling conventions for the\nlow-level system call code, but in the meantime we can at least add big\nhonking comments about why we need these insane and strange macros.\n\nI took my comments from my version of the macro, but I ended up deciding\nto just pick Roland\u0027s version of the actual code instead (with his\nprettier syntax that uses vararg macros).  Thus the previous two commits\nthat actually implement it.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54a015104136974262afa4b8ddd943ea70dec8a2",
      "tree": "713f0c1f4d0afe62e5c568a424e309f70388cf7f",
      "parents": [
        "783e391b7b5b273cd20856d8f6f4878da8ec31b3"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Apr 10 15:37:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 17:28:26 2008 -0700"
      },
      "message": "asmlinkage_protect replaces prevent_tail_call\n\nThe prevent_tail_call() macro works around the problem of the compiler\nclobbering argument words on the stack, which for asmlinkage functions\nis the caller\u0027s (user\u0027s) struct pt_regs.  The tail/sibling-call\noptimization is not the only way that the compiler can decide to use\nstack argument words as scratch space, which we have to prevent.\nOther optimizations can do it too.\n\nUntil we have new compiler support to make \"asmlinkage\" binding on the\ncompiler\u0027s own use of the stack argument frame, we have work around all\nthe manifestations of this issue that crop up.\n\nMore cases seem to be prevented by also keeping the incoming argument\nvariables live at the end of the function.  This makes their original\nstack slots attractive places to leave those variables, so the compiler\ntends not clobber them for something else.  It\u0027s still no guarantee, but\nit handles some observed cases that prevent_tail_call() did not.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f17520e1f19172057328e50ffed01a42534921e9",
      "tree": "34d23d8bfff4511687b91c93d9bb09b4fa9d931f",
      "parents": [
        "ed9b949f55bc8a6bb6083ce0eddb53d06aee302a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Apr 10 16:11:05 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 13:41:29 2008 -0700"
      },
      "message": "FRV: Don\u0027t make smp_{r, w, }mb() interpolate MEMBAR when CONFIG_SMP\u003dn [try #2]\n\nDon\u0027t make smp_{r,w,}mb() interpolate a MEMBAR instruction when CONFIG_SMP\u003dn as\nSMP memory barries on UP systems should interpolate a compiler barrier only.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e31c243f984628d02f045dc4b622f1e2827860dc",
      "tree": "cd2ac2f33c7da86b515087260d93179b31fd1671",
      "parents": [
        "0c93d8e4d342b1b5cda1037f2527fcf443c80fbc"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Apr 10 16:10:55 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 13:41:29 2008 -0700"
      },
      "message": "FRV: Add support for emulation of userspace atomic ops [try #2]\n\nUse traps 120-126 to emulate atomic cmpxchg32, xchg32, and XOR-, OR-, AND-, SUB-\nand ADD-to-memory operations for userspace.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c93d8e4d342b1b5cda1037f2527fcf443c80fbc",
      "tree": "910ab6c14e23b16add829df8a81ece5e0363af94",
      "parents": [
        "a31b9dd8edc6e4e75b5299fee6093b3c54548446"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Apr 10 16:10:50 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 13:41:28 2008 -0700"
      },
      "message": "FRV: Move STACK_TOP_MAX up [try #2]\n\nMove STACK_TOP_MAX up so that we don\u0027t try moving the stack above it as that\ncauses setup_arg_pages() to malfunction.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a31b9dd8edc6e4e75b5299fee6093b3c54548446",
      "tree": "f1f8fe2c4e98e80c505e869cd1c98caef259a079",
      "parents": [
        "5d69a029ab13ddef5bdad69174fabafada4a87fd"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Apr 10 16:10:45 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 13:41:28 2008 -0700"
      },
      "message": "FRV: Handle update_mmu_cache() being called when current-\u003emm is NULL [try #2]\n\nHandle update_mmu_cache() being called when current-\u003emm is NULL.\n\nWe cache static TLB mappings for the current page table in DAMPR4 and DAMPR5\non the theory that the next data lookup is likely to be in the same general\nregion, and thus is likely to be mapped by the same page table.  However, we\ncan\u0027t get this information if we can\u0027t access the appropriate mm_struct.\n\nIf current-\u003emm is NULL, we just clear the cache in the knowledge that the TLB\nmiss handlers will load it.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "882bebaaca4bb1484078d44ef011f918c0e1e14e",
      "tree": "d6542dd9fc3d941ecc5f418b66ea09e91f47b71f",
      "parents": [
        "c137f3dda04b0aee1bc6889cdc69185f53df8a82"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Apr 07 22:33:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 07 22:33:07 2008 -0700"
      },
      "message": "[TCP]: tcp_simple_retransmit can cause S+L\n\nThis fixes Bugzilla #10384\n\ntcp_simple_retransmit does L increment without any checking\nwhatsoever for overflowing S+L when Reno is in use.\n\nThe simplest scenario I can currently think of is rather\ncomplex in practice (there might be some more straightforward\ncases though). Ie., if mss is reduced during mtu probing, it\nmay end up marking everything lost and if some duplicate ACKs\narrived prior to that sacked_out will be non-zero as well,\nleading to S+L \u003e packets_out, tcp_clean_rtx_queue on the next\ncumulative ACK or tcp_fastretrans_alert on the next duplicate\nACK will fix the S counter.\n\nMore straightforward (but questionable) solution would be to\njust call tcp_reset_reno_sack() in tcp_simple_retransmit but\nit would negatively impact the probe\u0027s retransmission, ie.,\nthe retransmissions would not occur if some duplicate ACKs\nhad arrived.\n\nSo I had to add reno sacked_out reseting to CA_Loss state\nwhen the first cumulative ACK arrives (this stale sacked_out\nmight actually be the explanation for the reports of left_out\noverflows in kernel prior to 2.6.23 and S+L overflow reports\nof 2.6.24). However, this alone won\u0027t be enough to fix kernel\nbefore 2.6.24 because it is building on top of the commit\n1b6d427bb7e ([TCP]: Reduce sacked_out with reno when purging\nwrite_queue) to keep the sacked_out from overflowing.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nReported-by: Alessandro Suardi \u003calessandro.suardi@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c5a3d729cf430609d091ff610a7db363aafcd47",
      "tree": "29f56334c48e2b9aeb80880813e045a7be6e4688",
      "parents": [
        "950b0d28378c4ee63a30dad732a8319c8a41c95d"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Apr 05 15:13:23 2008 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 07 22:31:04 2008 +0100"
      },
      "message": "[MIPS] Handle aliases in vmalloc correctly.\n\nflush_cache_vmap / flush_cache_vunmap were calling flush_cache_all which -\nhaving been deprecated - turned into a nop ...\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "950b0d28378c4ee63a30dad732a8319c8a41c95d",
      "tree": "e7e8a41ac5b11b650180a84c92f517d15907a9ba",
      "parents": [
        "2557a933b795c1988c721ebb871cd735128bb9cb",
        "871de939030c903fd5ed50a7c4c88e02998e1cbc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 07 13:14:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 07 13:14:37 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:\n  x86: fix 64-bit asm NOPS for CONFIG_GENERIC_CPU\n  x86: fix call to set_cyc2ns_scale() from time_cpufreq_notifier()\n  revert \"x86: tsc prevent time going backwards\"\n"
    },
    {
      "commit": "2557a933b795c1988c721ebb871cd735128bb9cb",
      "tree": "96581bd5acac44bbe0399aa445197509d9ae60ff",
      "parents": [
        "4cac04dd63fa3b202ee313ed1afbbd135ab887ee"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Apr 07 14:30:28 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 07 13:14:22 2008 -0700"
      },
      "message": "virtio: remove overzealous BUG_ON.\n\nThe \u0027disable_cb\u0027 callback is designed as an optimization to tell the host\nwe don\u0027t need callbacks now.  As it is not reliable, the debug check is\noverzealous: it can happen on two CPUs at the same time.  Document this.\n\nEven if it were reliable, the virtio_net driver doesn\u0027t disable\ncallbacks on transmit so the START_USE/END_USE debugging reentrance\nprotection can be easily tripped even on UP.\n\nThanks to Balaji Rao for the bug report and testing.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCC: Balaji Rao \u003cbalajirrao@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "871de939030c903fd5ed50a7c4c88e02998e1cbc",
      "tree": "c5b28852954ed70025b12053452d1909640f514e",
      "parents": [
        "4f41c94d5c24e3b3453e9df03c0a80ca1acf00d2"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Apr 07 11:56:34 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 07 21:09:14 2008 +0200"
      },
      "message": "x86: fix 64-bit asm NOPS for CONFIG_GENERIC_CPU\n\nASM_NOP\u0027s for 64-bit kernel with CONFIG_GENERIC_CPU is broken\nwith the recent x86 nops merge. They were using GENERIC_NOPS\nwhich will truncate the upper 32bits of %rsi, because of the missing\n64bit rex prefix.\n\nFor now, fall back ASM NOPS for generic cpu to K8 NOPS, similar\nto the code before the wrong x86 nop merge.\n\nThis should resolve the crash seen by Ingo on a test-system:\n\nBUG: unable to handle kernel paging request at 00000000d80d8ee8\nIP: [\u003cffffffff802121af\u003e] save_i387_ia32+0x61/0xd8\nPGD b8e0067 PUD 51490067 PMD 0\nOops: 0000 [1] SMP\nCPU 2\nModules linked in:\nPid: 3871, comm: distcc Not tainted 2.6.25-rc7-sched-devel.git-x86-latest.git #359\nRIP: 0010:[\u003cffffffff802121af\u003e]  [\u003cffffffff802121af\u003e] save_i387_ia32+0x61/0xd8\nRSP: 0000:ffff81003abd3cb8  EFLAGS: 00010246\nRAX: ffff810082e93400 RBX: 00000000ffc37f84 RCX: ffff8100d80d8ee0\nRDX: 0000000000000000 RSI: 00000000d80d8ee0 RDI: ffff810082e93400\nRBP: 00000000ffc37fdc R08: 00000000ffc37f88 R09: 0000000000000008\nR10: ffff81003abd2000 R11: 0000000000000000 R12: ffff810082e93400\nR13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000\nFS:  0000000000000000(0000) GS:ffff81011fb12dc0(0063) knlGS:00000000f7f1a6c0\nCS:  0010 DS: 002b ES: 002b CR0: 0000000080050033\nCR2: 00000000d80d8ee8 CR3: 0000000076922000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess distcc (pid: 3871, threadinfo ffff81003abd2000, task ffff8100d80d8ee0)\nStack:  ffff8100bb670380 ffffffff8026de50 0000000000000118 0000000000000002\n 0000000000000002 ffff81003abd3e68 ffff81003abd3ed8 ffff81003abd3de8\n ffff81003abd3d18 ffffffff80229785 ffff8100d80d8ee0 ffff810001041280\nCall Trace:\n [\u003cffffffff8026de50\u003e] ? __generic_file_aio_write_nolock+0x343/0x377\n [\u003cffffffff80229785\u003e] ? update_curr+0x54/0x64\n [\u003cffffffff80227cd3\u003e] ? ia32_setup_sigcontext+0x125/0x1d2\n [\u003cffffffff8022839f\u003e] ? ia32_setup_frame+0x73/0x1a5\n [\u003cffffffff8020b2a5\u003e] ? do_notify_resume+0x1aa/0x7db\n [\u003cffffffff8024ae8c\u003e] ? getnstimeofday+0x31/0x85\n [\u003cffffffff80249858\u003e] ? ktime_get_ts+0x17/0x48\n [\u003cffffffff80249933\u003e] ? ktime_get+0xc/0x41\n [\u003cffffffff8024973e\u003e] ? hrtimer_nanosleep+0x75/0xd5\n [\u003cffffffff80249261\u003e] ? hrtimer_wakeup+0x0/0x21\n [\u003cffffffff8020bfbc\u003e] ? int_signal+0x12/0x17\n [\u003cffffffff8030e6b3\u003e] ? dummy_file_free_security+0x0/0x1\n\nCode: a6 08 05 00 00 f6 40 14 01 74 34 4c 89 e7 48 0f ae 07 48 8b 86 08 05 00 00 80 78 02 00 79 02 db e2 90 8d b4 26 00 00 00 00 89 f6 \u003c48\u003e 8b 46 08 83 60 14 fe 0f 20 c0 48 83 c8 08 0f 22 c0 eb 07 c6 \n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6fdf5e67fe8d3c83500dad9acae985132c2459a3",
      "tree": "c6cb9c0b22c4d22e4c65a40c0851aff5eedf7cd5",
      "parents": [
        "abd24df828f1a72971db29d1b74fefae104ea9e2",
        "e64a3cfcd929d093a2f076bcace9afa7ba5a2e32"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 04 15:09:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 04 15:09:44 2008 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ralf/upstream-linus\n\n* \u0027upstream\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ralf/upstream-linus:\n  [MIPS] Make KGDB compile on UP\n  [MIPS] Pb1200: Fix header breakage\n"
    },
    {
      "commit": "8bab8dded67d026c39367bbd5e27d2f6c556c38e",
      "tree": "d80f8f85f1da496c56bfa8575f0b59eba7c2ef55",
      "parents": [
        "3a143125ddc4e2e0ca1e67fb4bedd45c36e59cc7"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Fri Apr 04 14:29:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 04 14:46:26 2008 -0700"
      },
      "message": "cgroups: add cgroup support for enabling controllers at boot time\n\nThe effects of cgroup_disable\u003dfoo are:\n\n- foo isn\u0027t auto-mounted if you mount all cgroups in a single hierarchy\n- foo isn\u0027t visible as an individually mountable subsystem\n\nAs a result there will only ever be one call to foo-\u003ecreate(), at init time;\nall processes will stay in this group, and the group will never be mounted on\na visible hierarchy.  Any additional effects (e.g.  not allocating metadata)\nare up to the foo subsystem.\n\nThis doesn\u0027t handle early_init subsystems (their \"disabled\" bit isn\u0027t set be,\nbut it could easily be extended to do so if any of the early_init systems\nwanted it - I think it would just involve some nastier parameter processing\nsince it would occur before the command-line argument parser had been run.\n\nHugh said:\n\n  Ballpark figures, I\u0027m trying to get this question out rather than\n  processing the exact numbers: CONFIG_CGROUP_MEM_RES_CTLR adds 15% overhead\n  to the affected paths, booting with cgroup_disable\u003dmemory cuts that back to\n  1% overhead (due to slightly bigger struct page).\n\n  I\u0027m no expert on distros, they may have no interest whatever in\n  CONFIG_CGROUP_MEM_RES_CTLR\u003dy; and the rest of us can easily build with or\n  without it, or apply the cgroup_disable\u003dmemory patches.\n\nUnix bench\u0027s execl test result on x86_64 was\n\n\u003d\u003d just after boot without mounting any cgroup fs.\u003d\u003d\nmem_cgorup\u003doff : Execl Throughput       43.0     3150.1      732.6\nmem_cgroup\u003don  : Execl Throughput       43.0     2932.6      682.0\n\u003d\u003d\n\n[lizf@cn.fujitsu.com: fix boot option parsing]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Sudhir Kumar \u003cskumar@linux.vnet.ibm.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "865ab8753837b73fe1e800fc88462c5914eec549",
      "tree": "c91f2a48e593a38e765b0450beb901b3ba02d2fe",
      "parents": [
        "a9edadbf790d72adf6ebed476cb5caf7743e7e4a"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Wed Apr 02 23:53:19 2008 +0400"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Apr 04 22:43:47 2008 +0100"
      },
      "message": "[MIPS] Pb1200: Fix header breakage\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "3a143125ddc4e2e0ca1e67fb4bedd45c36e59cc7",
      "tree": "0e5bc6fcc66b4cbfef909646b8a6b8f7f9d08956",
      "parents": [
        "a1aa758d0019f2ac4ea558b3987a07c12fa19f61",
        "5761d64b277c287a7520b868c32d656ef03374b4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 04 14:42:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 04 14:42:58 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:\n  x86: revert assign IRQs to hpet timer\n  x86: tsc prevent time going backwards\n  xen: Clear PG_pinned in release_{pt,pd}()\n  xen: Do not pin/unpin PMD pages\n  xen: refactor xen_{alloc,release}_{pt,pd}()\n  x86, agpgart: scary messages are fortunately obsolete\n  xen: fix grant table bug\n  x86: fix breakage of vSMP irq operations\n  x86: print message if nmi_watchdog\u003d2 cannot be enabled\n  x86: fix nmi_watchdog\u003d2 on Pentium-D CPUs\n"
    },
    {
      "commit": "5761d64b277c287a7520b868c32d656ef03374b4",
      "tree": "9fb217efd1a50ed4d5fbf5c313cae586604d6f2f",
      "parents": [
        "47001d603375f857a7fab0e9c095d964a1ea0039"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Apr 04 16:26:10 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 04 18:36:49 2008 +0200"
      },
      "message": "x86: revert assign IRQs to hpet timer\n\nThe commits:\n\ncommit 37a47db8d7f0f38dac5acf5a13abbc8f401707fa\nAuthor: Balaji Rao \u003cbalajirrao@gmail.com\u003e\nDate:   Wed Jan 30 13:30:03 2008 +0100\n\n    x86: assign IRQs to HPET timers, fix\n\nand\n\ncommit e3f37a54f690d3e64995ea7ecea08c5ab3070faf\nAuthor: Balaji Rao \u003cbalajirrao@gmail.com\u003e\nDate:   Wed Jan 30 13:30:03 2008 +0100\n\n    x86: assign IRQs to HPET timers\n\nhave been identified to cause a regression on some platforms due to\nthe assignement of legacy IRQs which makes the legacy devices\nconnected to those IRQs disfunctional.\n\nRevert them.\n\nThis fixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d10382\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bae1d2507e44417455eda76d4435352fee14cf51",
      "tree": "74ea2353ff103bd132a7a85c33785ce8855b0e4b",
      "parents": [
        "9c9b81f77330ddc003a2de2f35fa6a20410c1a62"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Fri Apr 04 03:06:29 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 04 18:36:46 2008 +0200"
      },
      "message": "x86: fix breakage of vSMP irq operations\n\n25-rc* stopped working with CONFIG_X86_VSMP on vSMP machines.\n\nLooks like the vsmp irq ops got accidentally removed during merge of x86_64\npvops in 2.6.25. -- commit 6abcd98ffafbff81f0bfd7ee1d129e634af13245 removed\nvsmp irq ops.\n\nTested with both CONFIG_X86_VSMP and without CONFIG_X86_VSMP, on vSMP and non\nvSMP x86_64 machines.\n\nPlease apply.\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e52dcc4899cf1b7601379c31542bd91cd2997a64",
      "tree": "40bce50f8f912bbd2d988526f3f5c5763f67af62",
      "parents": [
        "436d34b36202ef724778ded1e9cb10f8c37b32bc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Apr 02 17:35:19 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Apr 04 02:43:36 2008 -0400"
      },
      "message": "libata: ATA_12/16 doesn\u0027t fall into ATAPI_MISC\n\nSAT passthrus don\u0027t really fit into ATAPI_MISC class.  SAT passthru\ncommands always transfer multiple of 512 bytes and variable length\nresponse is not allowed.  This patch creates a separate category -\nATAPI_PASS_THRU - for these.\n\nThis fixes HSM violation on \"hdparm -I\".\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "436d34b36202ef724778ded1e9cb10f8c37b32bc",
      "tree": "45671994cf049263a25e7f540ae488b97bb7d01f",
      "parents": [
        "a4ba7fe2a6c2b61419b290035bff398ab2591c54"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Apr 02 17:28:46 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Apr 04 02:43:35 2008 -0400"
      },
      "message": "libata: uninline atapi_cmd_type()\n\nUninline atapi_cmd_type().  It doesn\u0027t really have to be inline and\nmore case will be added which need to access unexported libata\nvariable.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "06f11f37aa84e83b48cdf36037c4414f5a83c13f",
      "tree": "013433fd26c382070b984aa519542ebbe951e3a5",
      "parents": [
        "6496968e6cc3f01faafa63a5a28549a708539ac0"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Apr 02 13:04:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 02 15:28:20 2008 -0700"
      },
      "message": "alpha: get_current(): don\u0027t add zero to current_thread_info()-\u003etask\n\nA nasty compile error:\n\nIn file included from security/keys/internal.h:16,\n                 from security/keys/sysctl.c:14:\ninclude/linux/key-ui.h: In function \u0027key_permission\u0027:\ninclude/linux/key-ui.h:51: error: invalid use of undefined type \u0027struct task_struct\u0027\n\napparently the compiler has decided that it needs to know sizeof(task_struct)\nso that it can add zero to a task_struct* (which is rather dumb of it).\n\nGetting task_struct in scope in these deeply-nested headers is scary-looking,\nso let\u0027s just remove the \"+ 0\".\n\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c143d43aa3149b83e4b40624a27aa2b18638afec",
      "tree": "e179afebfec65a61e2d71d87a35b27950256daaf",
      "parents": [
        "39d4c922b596633da86878b1a5cc881785b8e5fa"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Wed Apr 02 13:04:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 02 15:28:19 2008 -0700"
      },
      "message": "alpha: fix ALSA DMA mmap crash\n\nMake dma_alloc_coherent respect gfp flags (__GFP_COMP is one that\nmatters).\n\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nTested-by: Michael Cree \u003cmcree@orcon.net.nz\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Jaroslav Kysela \u003cperex@perex.cz\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd135ebbd2a6b5e07dadb66c4dd033bb69531051",
      "tree": "8f8bf987ed9594d5ac0df40fbb34258aa9310179",
      "parents": [
        "8eb224cd45239714c2be104f17d5ca16b6b5d7ac"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed Apr 02 13:04:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 02 15:28:18 2008 -0700"
      },
      "message": "kvm: provide kvm.h for all architecture: fixes headers_install\n\nCurrently include/linux/kvm.h is not considered by make headers_install,\nbecause Kbuild cannot handle \" unifdef-$(CONFIG_FOO) +\u003d foo.h.  This problem\nwas introduced by\n\ncommit fb56dbb31c4738a3918db81fd24da732ce3b4ae6\nAuthor: Avi Kivity \u003cavi@qumranet.com\u003e\nDate:   Sun Dec 2 10:50:06 2007 +0200\n\n    KVM: Export include/linux/kvm.h only if $ARCH actually supports KVM\n\n    Currently, make headers_check barfs due to \u003casm/kvm.h\u003e, which \u003clinux/kvm.h\u003e\n    includes, not existing.  Rather than add a zillion \u003casm/kvm.h\u003es, export kvm.\n    only if the arch actually supports it.\n\n    Signed-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n\nwhich makes this an 2.6.25 regression.\n\nOne way of solving the issue is to enhance Kbuild, but Avi and David conviced\nme, that changing headers_install is not the way to go.  This patch changes\nthe definition for linux/kvm.h to unifdef-y.\n\nIf  unifdef-y is used for linux/kvm.h \"make headers_check\" will fail on all\narchitectures without asm/kvm.h.  Therefore, this patch also provides\nasm/kvm.h on all architectures.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f819ae8816990aaad46dd6d1748a096d136df68",
      "tree": "65891bf45d2d0e4e7884c4cc69beb9c27b67be95",
      "parents": [
        "d40c2f29f3b0f5937bace575722598dac474c478",
        "802fb176d8c635ae42da31b80841c26e8c7338a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 02 07:46:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 02 07:46:18 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (45 commits)\n  [VLAN]: Proc entry is not renamed when vlan device name changes.\n  [IPV6]: Fix ICMP relookup error path dst leak\n  [ATM] drivers/atm/iphase.c: compilation warning fix\n  IPv6: do not create temporary adresses with too short preferred lifetime\n  IPv6: only update the lifetime of the relevant temporary address\n  bluetooth : __rfcomm_dlc_close lock fix\n  bluetooth : use lockdep sub-classes for diffrent bluetooth protocol\n  [ROSE/AX25] af_rose: rose_release() fix\n  mac80211: correct use_short_preamble handling\n  b43: Fix PCMCIA IRQ routing\n  b43: Add DMA mapping failure messages\n  mac80211: trigger ieee80211_sta_work after opening interface\n  [LLC]: skb allocation size for responses\n  [IP] UDP: Use SEQ_START_TOKEN.\n  [NET]: Remove Documentation/networking/sk98lin.txt\n  [ATM] atm/idt77252.c: Make 2 functions static\n  [ATM]: Make atm/he.c:read_prom_byte() static\n  [IPV6] MCAST: Ensure to check multicast listener(s).\n  [LLC]: Kill llc_station_mac_sa symbol export.\n  forcedeth: fix locking bug with netconsole\n  ...\n"
    },
    {
      "commit": "34e6bbf23c8f43e8713d9bd092680f1660494b4a",
      "tree": "908e97ac3d43882cb42bf57c41926852d3bc2f6e",
      "parents": [
        "00d61e3e8c12d5f395b167856d2b3c430816afb0"
      ],
      "author": {
        "name": "Fabio Checconi",
        "email": "fabio@gandalf.sssup.i",
        "time": "Wed Apr 02 14:31:02 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 02 15:42:20 2008 +0200"
      },
      "message": "cfq-iosched: fix rcu freeing of cfq io contexts\n\nSLAB_DESTROY_BY_RCU is not a direct substitute for normal call_rcu()\nfreeing, since it\u0027ll page freeing but NOT object freeing. So change\ncfq to do the freeing on its own.\n\nSigned-off-by: Fabio Checconi \u003cfabio@gandalf.sssup.it\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "10027471a305c5491d23add394041120720e8a11",
      "tree": "9e3c91a56ba45d4beb26f8ae84021b1897da460d",
      "parents": [
        "61434392f797cf89872bda87dff8b3395edf4108",
        "26b63e995113dd48fde66c0d0d65eecc6df53172"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 01 11:45:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 01 11:45:48 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.25\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.25:\n  sh: Fix up uImage compression type\n  remove include/asm-sh/floppy.h\n  sh: Fix TIF_USEDFPU clearing under FPU emulation.\n  sh: Fix occasional FPU register corruption under preempt.\n"
    },
    {
      "commit": "61434392f797cf89872bda87dff8b3395edf4108",
      "tree": "489e344b0a5142dd4dc74ba3f4972592b90bacec",
      "parents": [
        "0e45adb8f5371f3d20a6df21cd13ce32fbe9bf15",
        "f9e8b782608021c0cbd936923cc0e509521b594d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 01 11:31:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 01 11:31:31 2008 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ralf/upstream-linus\n\n* \u0027upstream\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ralf/upstream-linus:\n  [MIPS] XSS1500: Fix compilation\n  [MIPS] Bigsur: make defconfig more useful.\n  [MIPS] Alchemy: work around clock misdetection on early Au1000\n  [MIPS] Add missing 4KEC TLB refill handler\n  [MIPS] BCM1480: Fix PCI/HT IO access\n  [MIPS] Fix the installation condition of MIPS clocksource\n  [MIPS] Check for GCC r10k-cache-barrier support\n  [MIPS] I8253: Export i2853_lock to modules.\n  [MIPS] VPE loader: Check result of memory allocation.\n"
    },
    {
      "commit": "758e285faca4db948ecddefb523007255b29cdb7",
      "tree": "530fb34442234b04afe0972d6765bbc7f17ba0f6",
      "parents": [
        "b1ec4c8e483d0d00d3114eafdb2c85c1cf3ed4ae"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Thu Mar 27 16:09:31 2008 +0300"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Apr 01 15:46:34 2008 +0100"
      },
      "message": "[MIPS] Alchemy: work around clock misdetection on early Au1000\n\nWork around the CPU clock miscalculation on Au1000DA/HA/HB due the\nsys_cpupll register being write-only, i.e. actually do what the comment\nbefore cal_r4off() function advertised for years but the code failed at.\nThis is achieved by just giving user a chance to define the clock\nexplicitly  in the board config. via CONFIG_SOC_AU1000_FREQUENCY option,\ndefaulting to 396 MHz if the option is not given...\n\nThe patch is based on the AMD\u0027s big unpublished patch, the issue seems to\nbe an undocumented errata (or feature :-)...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "a7097ff89c3204737a07eecbc83f9ae6002cc534",
      "tree": "11fe55cbfb3651fc57e59fc838d1e084f5e63749",
      "parents": [
        "399f486286f44d55c4fff0e9cc5d712f2b443489"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Apr 01 00:22:53 2008 -0400"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Apr 01 00:22:53 2008 -0400"
      },
      "message": "Input: make sure input interfaces pin parent input devices\n\nRecent driver core change causes references to parent devices being\ndropped early, at device_del() time, as opposed to when all children\nare freed. This causes oops in evdev with grabbed devices. Take the\nreference to the parent input device ourselves to ensure that it\nstays around long enough.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "f83f1768f833cb45bc93429fdc552252a4f55ac3",
      "tree": "15de7d2df2fc3a35e0a6b933bb37aefcba2cc3ef",
      "parents": [
        "b50660f1fe4ebd6129064e4fba0bd882b60c2425"
      ],
      "author": {
        "name": "Joonwoo Park",
        "email": "joonwpark81@gmail.com",
        "time": "Mon Mar 31 21:02:47 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 31 21:02:47 2008 -0700"
      },
      "message": "[LLC]: skb allocation size for responses\n\nAllocate the skb for llc responses with the received packet size by\nusing the size adjustable llc_frame_alloc.\nDon\u0027t allocate useless extra payload.\nCleanup magic numbers.\n\nSo, this fixes oops.\nReported by Jim Westfall:\nkernel: skb_over_panic: text:c0541fc7 len:1000 put:997 head:c166ac00 data:c166ac2f tail:0xc166b017 end:0xc166ac80 dev:eth0\nkernel: ------------[ cut here ]------------\nkernel: kernel BUG at net/core/skbuff.c:95!\n\nSigned-off-by: Joonwoo Park \u003cjoonwpark81@gmail.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d7f7c3ed2c519a462a4ae989ad3d55cc7f7f6ec",
      "tree": "7b8ead40d9d2c117927f94527a9fc3bae6831e7b",
      "parents": [
        "138bed154eab2205b4ef93f02f5feb1edf6d8552"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Mar 31 01:53:43 2008 +0300"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon Mar 31 16:16:02 2008 +0900"
      },
      "message": "remove include/asm-sh/floppy.h\n\nThis patch removes the unused include/asm-sh/floppy.h\n(ARCH_MAY_HAVE_PC_FDC was not enabled).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "a77df5cd1cde203ef11c8e5a3ca47def5f5a1687",
      "tree": "b509b7eaec506cccdadb125c104b76c796c0151a",
      "parents": [
        "62ad36a8a6541de82984e4f1a6cff09535d68098",
        "3ec25ebd69dc120d0590e64caaf1477aa88c8a93"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:26:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:26:27 2008 -0700"
      },
      "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: ATA_EHI_LPM should be ATA_EH_LPM\n  pata_sil680: only enable MMIO on Cell blades\n"
    },
    {
      "commit": "62ad36a8a6541de82984e4f1a6cff09535d68098",
      "tree": "b395d88e2a0e6fe561b385fde097dff7cb3b92f6",
      "parents": [
        "8b9fc8ae6517086637dd227b7490ec027c867e48",
        "729d4de96a5c090e40a918a41f63b7fb1b27c240"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:24:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:24:32 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:\n  ide: fix defining SUPPORT_VLB_SYNC\n  Revert \"ide: change master/slave IDENTIFY order\"\n"
    },
    {
      "commit": "b2ddb9019ea13fb7b62d8e45adcc468376af0de7",
      "tree": "c01b69aeaf16eb84989a9011ec85e03f3fdec83e",
      "parents": [
        "2b210adcb08c7966feeb8574cd90514f1e797ae9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Mar 29 03:09:38 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:20:23 2008 -0700"
      },
      "message": "dma_page_list -\u003ebase_address is a userland pointer\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d61c4596d11d624efb4bbcbad01f9cf2b321162",
      "tree": "6cc3fca917f013d05ec8d3abc2e614ad41820a0d",
      "parents": [
        "782a6de47b97d5c5f16c84f7868606fa25781fec"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Mar 29 03:09:28 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:20:23 2008 -0700"
      },
      "message": "compat_sys_wait4() prototype misannotation\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c43f2b888f9ca1fcb7b07abc4cbff4ca1b8e03b",
      "tree": "8e80976149d383d18506e4fe9ca0a8a503e60edb",
      "parents": [
        "91e916cffec7c0153c5cbaa447151862a7a9a047"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Mar 29 03:08:18 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:20:23 2008 -0700"
      },
      "message": "NULL noise: frv cmpxchg()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "729d4de96a5c090e40a918a41f63b7fb1b27c240",
      "tree": "1152d7cd8028524fb27331f5e41c7337f42af110",
      "parents": [
        "f367bed005b06db7067fc378a5f2253fac54e5d9"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Mar 29 19:55:17 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Mar 29 19:55:17 2008 +0100"
      },
      "message": "ide: fix defining SUPPORT_VLB_SYNC\n\nWe need to check for CONFIG_{CRIS,FRV} not {CRIS,FRV}.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "3ec25ebd69dc120d0590e64caaf1477aa88c8a93",
      "tree": "e0ea13a1f1e1fb5b2fa158fdd2f5122d09ae1d7f",
      "parents": [
        "0f436eff54f90419ac1b8accfb3e6e17c4b49a4e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Mar 27 18:37:14 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Mar 29 12:21:31 2008 -0400"
      },
      "message": "libata: ATA_EHI_LPM should be ATA_EH_LPM\n\nEH actions are ATA_EH_* not ATA_EHI_*.  Rename ATA_EHI_LPM to\nATA_EH_LPM.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "0ef4730927c54cac5006759fa0cf50fbeff9d191",
      "tree": "a52e975ce5060f0d25a5fb1db44cc08105469616",
      "parents": [
        "a5a04819c5740cb1aa217af2cc8f5ef26f33d744"
      ],
      "author": {
        "name": "Matti Linnanvuori",
        "email": "mattilinnanvuori@yahoo.com",
        "time": "Fri Mar 28 16:33:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 28 16:33:00 2008 -0700"
      },
      "message": "net: Comment dev_kfree_skb_irq and dev_kfree_skb_any better\n\nComment dev_kfree_skb_irq and dev_kfree_skb_any better.\n\nSigned-off-by: Matti Linnanvuori \u003cmattilinnanvuori@yahoo.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5a04819c5740cb1aa217af2cc8f5ef26f33d744",
      "tree": "044d51abecaf80e0488d2f43df2c512952687bca",
      "parents": [
        "27785d83e4256fedeff45256d4c827fdcb47f2ce"
      ],
      "author": {
        "name": "Joonwoo Park",
        "email": "joonwpark81@gmail.com",
        "time": "Fri Mar 28 16:28:36 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 28 16:28:36 2008 -0700"
      },
      "message": "[LLC]: station source mac address\n\nkill unnecessary llc_station_mac_sa.\n\nSigned-off-by: Joonwoo Park \u003cjoonwpark81@gmail.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af8be4e4b316df36a00c1e52a9970c253783b57e",
      "tree": "6d56665916e601ed6a933d6f85c22ee8512c6531",
      "parents": [
        "d478376cb0dc9ab16a2b6e02fd8cd1174e724c64",
        "6758f953d05378d907a164c67934cd86183d9c88"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 15:23:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 15:23:01 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  [PATCH] mnt_expire is protected by namespace_sem, no need for vfsmount_lock\n  [PATCH] do shrink_submounts() for all fs types\n  [PATCH] sanitize locking in mark_mounts_for_expiry() and shrink_submounts()\n  [PATCH] count ghost references to vfsmounts\n  [PATCH] reduce stack footprint in namespace.c\n"
    },
    {
      "commit": "5ac7ec85bcc70ef605657fb2d1106d27ab3bd131",
      "tree": "bda1842ef8f14c53ba50dc2668953b7b9a0bfce3",
      "parents": [
        "3afe3925987adc3fc052abe404e44520c2072fc8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Mar 28 14:16:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 14:45:22 2008 -0700"
      },
      "message": "ext3: don\u0027t export ext3_fs.h and jbd.h\n\nNeither of the headers actually compiles when included from userpsace nor\nshould it be made available as userspace tools should be using the libraries\nor at least headers from e2fsprogs.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3afe3925987adc3fc052abe404e44520c2072fc8",
      "tree": "cf77c295869b10591865898857d5adaae000415c",
      "parents": [
        "589499c04b9929ce3de9a9cc591f8a24cf1ebc91"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Mar 28 14:16:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 14:45:22 2008 -0700"
      },
      "message": "kernel: add bit rotation helpers for 16 and 8 bit\n\nWill replace open-coded variants elsewhere.  Done in the same\nstyle as the 32-bit versions.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: John W. Linville \u003clinville@tuxdriver.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Jiri Benc \u003cjbenc@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "8c703d35fa91911dd92a18c31a718853f483ad80"
}
