)]}'
{
  "log": [
    {
      "commit": "2115ea94a2d11fbd228b049e667ec2d3e91ca371",
      "tree": "0584347308aa40af982f5f01d654a8186599b48c",
      "parents": [
        "88e490340ea4c3a2ebc0187a4339912e2fc1a081"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 21:03:39 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 21:03:39 2006 +0900"
      },
      "message": "[PATCH] libata-ncq: pass ata_scsi_translate() return value to SCSI midlayer\n\nata_scsi_translate() will need to return SCSI_ML_QUEUE_DEVICE_BUSY to\nachieve exlusion between NCQ and non-NCQ commands or among non-NCQ\ncommands.  Pass its return value upward to SCSI midlayer.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "88e490340ea4c3a2ebc0187a4339912e2fc1a081",
      "tree": "ab2604a796754a0fba301b4362dc649136b180c3",
      "parents": [
        "c17ea20d9a689d7335e97e09354865cdd9f873e1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 21:03:38 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 21:03:38 2006 +0900"
      },
      "message": "[PATCH] libata-ncq: add NCQ related ATA/libata constants and macros\n\nAdd NCQ related ATA/libata constants and macros.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "c17ea20d9a689d7335e97e09354865cdd9f873e1",
      "tree": "74b04b022513b66b5a84977b15296c1d8df97674",
      "parents": [
        "12436c30f4808e00fa008c6787c609bc6ae216ba"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:59:29 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:59:29 2006 +0900"
      },
      "message": "[PATCH] libata: fix irq-pio merge\n\n* kill ata_poll_qc_complete() and implement/use ata_hsm_qc_complete()\n  which completes qcs in new EH compliant manner from HSM\n\n* don\u0027t print error message from ata_hsm_move().  it\u0027s responsibility\n  of EH.\n\n* kill ATA_FLAG_NOINTR usage in bmdma EH\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "12436c30f4808e00fa008c6787c609bc6ae216ba",
      "tree": "22ddaad8def4f4a77637a3da62a8d8f422a95c29",
      "parents": [
        "88ce7550c38f46c8697f53727a571bf838bee398",
        "7894eaf291238a62a565e9e9777483beeb00eeae"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:59:15 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:59:15 2006 +0900"
      },
      "message": "Merge branch \u0027irq-pio\u0027\n\nConflicts:\n\n\tdrivers/scsi/libata-core.c\n\tinclude/linux/libata.h\n"
    },
    {
      "commit": "88ce7550c38f46c8697f53727a571bf838bee398",
      "tree": "58df8b1898eb2077a8fdb8c8a8ab8d00294ccbe8",
      "parents": [
        "2a3917a8bb40a2cb75b458da9c356e8557e8fbed"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:32 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:32 2006 +0900"
      },
      "message": "[PATCH] sata_sil24: convert to new EH\n\nConvert sata_sil24 to new EH.\n\n* When port is frozen, IRQ for the port is masked.\n\n* sil24_softreset() doesn\u0027t need to mangle with IRQ mask anymore.\n  libata ensures that the port is frozen during reset.\n\n* Only turn on interrupts which are handled by interrupt handler and\n  EH.  As we don\u0027t handle SDB notify yet, turn it off. DEV_XCHG and\n  UNK_FIS are handled by EH and thus turned on.\n\n* sil24_softreset() usually fails to recover the port after DEV_XCHG.\n  ATA_PORT_HARDRESET is used as recovery action for DEV_XCHG.\n\n* sil24 may be invoked without any active command.  e.g. DEV_XCHG irq\n  occuring while no qc in progress still triggers EH and will reset\n  the port and revalidate attached device.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "2a3917a8bb40a2cb75b458da9c356e8557e8fbed",
      "tree": "8899c9447b35c5fb00ce272837fd733df7c5aa35",
      "parents": [
        "78cd52d02fa0735949a9fa30a6b79bf02c94c250"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:30 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:30 2006 +0900"
      },
      "message": "[PATCH] ahci: add PIOS interim interrupt handling\n\nDuring multiblock PIO, multiple PIOS interrupts are generated before\nqc compltion.  Current code prints unnecessary message for such cases.\nThis is exposed when new EH slows down attached device into PIO mode.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "78cd52d02fa0735949a9fa30a6b79bf02c94c250",
      "tree": "f52d2053c5fd930357130c9bf6a00743920bf19c",
      "parents": [
        "f6aae27ed002ba9c0a98aff811dbde32ce749d28"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:29 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:29 2006 +0900"
      },
      "message": "[PATCH] ahci: convert to new EH\n\nConvert AHCI to new EH.  Unfortunately, ICH7 AHCI reacts badly if IRQ\nmask is diddled during operation.  So, freezing is implemented by\nunconditionally clearing interrupt conditions while frozen.\n\n* Interrupts are categorized according to required action.\n  e.g. Connection status or unknown FIS error requires freezing the\n  port while TF or HBUS_DATA don\u0027t.\n\n* Only CONNECT (reflects SErr.X) interrupt is taken into account not\n  PHYRDY (SErr.N), as CONNECT is better cue for starting EH.\n\n* AHCI may be invoked without any active command.  e.g. CONNECT irq\n  occuring while no qc in progress still triggers EH and will reset\n  the port and revalidate attached device.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "f6aae27ed002ba9c0a98aff811dbde32ce749d28",
      "tree": "8c3326657bb0917536d02d81c3d52f13590af7a8",
      "parents": [
        "3f037db0ba043022e43e8e7266e698d4af264851"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:27 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:27 2006 +0900"
      },
      "message": "[PATCH] sata_sil: convert to new EH\n\nConvert sata_sil to new EH.  As these controllers have hardware\ninterrupt mask and are known to have screaming interrupts issues, use\nhardware IRQ masking for freezing.  sil_freeze() masks interrupts for\nthe port and sil_thaw() unmasks them.  As ports are automatically\nfrozen before probing reset, there is no need to initialize interrupt\nmasks sil_init_onde().  Remove related code.\n\nOther than freezing, sata_sil uses stock BMDMA EH routines.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "3f037db0ba043022e43e8e7266e698d4af264851",
      "tree": "53b7222a08b60b028d91db3dd0689984abfb18b5",
      "parents": [
        "6d97dbd72da31a0e334f251fa9df4be9fab6fde2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:25 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:25 2006 +0900"
      },
      "message": "[PATCH] ata_piix: convert to new EH\n\nata_piix can use stock BMDMA EH routines.  Convert to new EH.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "6d97dbd72da31a0e334f251fa9df4be9fab6fde2",
      "tree": "f31e023080474ba91529d7e1b1468cc999e32c73",
      "parents": [
        "022bdb075b9e1f224088a0b268de56268d7bc5b6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:24 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:24 2006 +0900"
      },
      "message": "[PATCH] libata-eh: implement BMDMA EH\n\nImplement stock BMDMA error handling methods.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "022bdb075b9e1f224088a0b268de56268d7bc5b6",
      "tree": "05878e28202f0a86bdcc32ae5d995db9f15042da",
      "parents": [
        "f3e81b19aac23c0e8c55d5961324ef7de44c23bb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:22 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:22 2006 +0900"
      },
      "message": "[PATCH] libata-eh: implement new EH\n\nImplement new EH.  The exported interface is ata_do_eh() which is to\nbe called from -\u003eerror_handler and performs the following steps to\nrecover the failed port.\n\nata_eh_autopsy() : analyze SError/TF, determine the cause of failure\n\t\t   and required recovery actions and record it in\n\t\t   ap-\u003eeh_context\nata_eh_report()\t : report the failure to user\nata_eh_recover() : perform recovery actions described in ap-\u003eeh_context\nata_eh_finish()\t : finish failed qcs\n\nLLDDs can customize error handling by modifying eh_context before\ncalling ata_do_eh() or, if necessary, doing so inbetween each major\nsteps by calling each step explicitly.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "f3e81b19aac23c0e8c55d5961324ef7de44c23bb",
      "tree": "9ea0bf3c5ecabb855a78623236d07e7bc2976ca3",
      "parents": [
        "0c247c559cd70f85ba9f0764ce13ae00e20fcad8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:21 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:21 2006 +0900"
      },
      "message": "[PATCH] libata-eh: implement ata_eh_info and ata_eh_context\n\nstruct ata_eh_info serves as the communication channel between\nexecution path and EH.  Execution path describes detected error\ncondition in ap-\u003eeh_info and EH recovers the port using it.  To avoid\nmissing error conditions detected during EH, EH makes its own copy of\neh_info and clears it on entry allowing error info to accumulate\nduring EH.\n\nMost EH states including EH\u0027s copy of eh_info are stored in\nap-\u003eeh_context (struct ata_eh_context) which is owned by EH and thus\ndoesn\u0027t require any synchronization to access and alter.  This\nstandardized context makes it easy to integrate various parts of EH\nand extend EH to handle multiple links (for PM).\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "0c247c559cd70f85ba9f0764ce13ae00e20fcad8",
      "tree": "9b0d00b300ad9178438b9c7feba95ed62f540c1a",
      "parents": [
        "9be1e979f2e1e57a091a658fa88dac266f9fd6fe"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:19 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:19 2006 +0900"
      },
      "message": "[PATCH] libata-eh: implement dev-\u003eering\n\nThis patch implements ata_ering and uses it to define dev-\u003eering.\n\nata_ering is a ring buffer which records libata errors - whether a\ncommand was for normar IO request, err_mask and timestamp.  Errors are\nrecorded per-device in dev-\u003eering.  This will be used by EH to\ndetermine recovery actions.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "9be1e979f2e1e57a091a658fa88dac266f9fd6fe",
      "tree": "781b216ce5a2b39c711ee32d285f4455feba7d34",
      "parents": [
        "246619da308c6910a3ae30e7e5fbf46139619efe"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:17 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:17 2006 +0900"
      },
      "message": "[PATCH] libata-eh: add ATA and libata flags for new EH\n\nAdd ATA and libata flags to be used by new EH.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "246619da308c6910a3ae30e7e5fbf46139619efe",
      "tree": "65e408c907d3e6e80f71faa33313d0eb28313411",
      "parents": [
        "d95a717f579e81061830a308125c89f5858f740a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:16 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:16 2006 +0900"
      },
      "message": "[PATCH] libata-eh-fw: update SCSI command completion path for new EH\n\nSCSI command completion path used to do some part of EH including\nprinting messages and obtaining sense data.  With new EH, all these\nare responsibilities of the EH, update SCSI command completion path to\nreflect this.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "d95a717f579e81061830a308125c89f5858f740a",
      "tree": "efa4b35ffcd1f8f3eabe5cb27ffc128313378064",
      "parents": [
        "ad9e27624479bd167dd7eac0cea4bb3ad13bc926"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:14 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:14 2006 +0900"
      },
      "message": "[PATCH] libata-eh-fw: update ata_exec_internal() for new EH\n\nUpdate ata_exec_internal() such that it uses new EH framework.\n-\u003epost_internal_cmd() is always invoked regardless of completion\nstatus.  Also, when ata_exec_internal() detects a timeout condition\nand new EH is in place, it freezes the port as timeout for normal\ncommands would do.\n\nNote that ata_port_flush_task() is called regardless of\nwait_for_completion status.  This is necessary as exceptions unrelated\nto the qc can abort the qc, in which case PIO task could still be\nrunning after the wait for completion returns.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "ad9e27624479bd167dd7eac0cea4bb3ad13bc926",
      "tree": "47b863c91509a29c9b0f760faa52d60a95272ba6",
      "parents": [
        "dafadcde8d4dc5ea8c742faa7ff4403336b542b8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:12 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:12 2006 +0900"
      },
      "message": "[PATCH] libata-eh-fw: update ata_scsi_error() for new EH\n\nUpdate ata_scsi_error() for new EH.  ata_scsi_error() is responsible\nfor claiming timed out qcs and invoking -\u003eerror_handler in safe and\nsynchronized manner.  As the state of the controller is unknown if a\nqc has timed out, the port is frozen in such cases.\n\nNote that ata_scsi_timed_out() isn\u0027t used for new EH.  This is because\na timed out qc cannot be claimed by EH without freezing the port and\nfreezing the port in ata_scsi_timed_out() results in unnecessary\nabortion of other active qcs.  ata_scsi_timed_out() can be removed\nonce all drivers are converted to new EH.\n\nWhile at it, add \u0027TODO: kill\u0027 comments to old EH functions.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "dafadcde8d4dc5ea8c742faa7ff4403336b542b8",
      "tree": "0d24a079ece4b481fcd680c7056aa4e06974f41f",
      "parents": [
        "e318049949b07152d851dbfebbd93e560af45ebe"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:11 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:11 2006 +0900"
      },
      "message": "[PATCH] libata-eh-fw: implement new EH scheduling from PIO\n\nPIO executes without holding host_set lock, so it cannot be\nsynchronized using the same mechanism as interrupt driven execution.\nport_task framework makes sure that EH is not entered until PIO task\nis flushed, so PIO task can be sure the qc in progress won\u0027t go away\nunderneath it.  One thing it cannot be sure of is whether the qc has\nalready been scheduled for EH by another exception condition while\nhost_set lock was released.\n\nThis patch makes ata_poll_qc-complete() handle such conditions\nproperly and make it freeze the port if HSM violation is detected\nduring PIO execution.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "e318049949b07152d851dbfebbd93e560af45ebe",
      "tree": "cbc322c94717c9ac5d7e2c48a9f690a2e0145b81",
      "parents": [
        "7b70fc039824bc7303e4007a5f758f832de56611"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:09 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:09 2006 +0900"
      },
      "message": "[PATCH] libata-eh-fw: implement freeze/thaw\n\nFreezing is performed atomic w.r.t. host_set-\u003elock and once frozen\nLLDD is not allowed to access the port or any qc on it.  Also, libata\nmakes sure that no new qc gets issued to a frozen port.\n\nA frozen port is thawed after a reset operation completes\nsuccessfully, so reset methods must do its job while the port is\nfrozen.  During initialization all ports get frozen before requesting\nIRQ, so reset methods are always invoked on a frozen port.\n\nOptional -\u003efreeze and -\u003ethaw operations notify LLDD that the port is\nbeing frozen and thawed, respectively.  LLDD can disable/enable\nhardware interrupt in these callbacks if the controller\u0027s IRQ mask can\nbe changed dynamically.  If the controller doesn\u0027t allow such\noperation, LLDD can check for frozen state in the interrupt handler\nand ack/clear interrupts unconditionally while frozen.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "7b70fc039824bc7303e4007a5f758f832de56611",
      "tree": "d973a40055dec97fedc5ae87852667ed2d30ea71",
      "parents": [
        "f686bcb8078ac7505ec88818886c2c72639f4fc5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:07 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:07 2006 +0900"
      },
      "message": "[PATCH] libata-eh-fw: implement ata_port_schedule_eh() and ata_port_abort()\n\nata_port_schedule_eh() directly schedules EH for @ap without\nassociated qc.  Once EH scheduled, no further qc is allowed and EH\nkicks in as soon as all currently active qc\u0027s are drained.\n\nata_port_abort() schedules all currently active commands for EH by\nqc_completing them with ATA_QCFLAG_FAILED set.  If ata_port_abort()\ndoesn\u0027t find any qc to abort, it directly schedule EH using\nata_port_schedule_eh().\n\nThese two functions provide ways to invoke EH for conditions which\naren\u0027t directly related to any specfic qc.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "f686bcb8078ac7505ec88818886c2c72639f4fc5",
      "tree": "7c563e0032b2d85b631b617b8bb2a7a648607468",
      "parents": [
        "f69499f42caf74194df678c9c293f2ee0fe90bc3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:05 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:05 2006 +0900"
      },
      "message": "[PATCH] libata-eh-fw: implement new EH scheduling via error completion\n\nThere are several ways a qc can get schedule for EH in new EH.  This\npatch implements one of them - completing a qc with ATA_QCFLAG_FAILED\nset or with non-zero qc-\u003eerr_mask.  ALL such qc\u0027s are examined by EH.\n\nNew EH schedules a qc for EH from completion iff -\u003eerror_handler is\nimplemented, qc is marked as failed or qc-\u003eerr_mask is non-zero and\nthe command is not an internal command (internal cmd is handled via\n-\u003epost_internal_cmd).  The EH scheduling itself is performed by asking\nSCSI midlayer to schedule EH for the specified scmd.\n\nFor drivers implementing old-EH, nothing changes.  As this change\nmakes ata_qc_complete() rather large, it\u0027s not inlined anymore and\n__ata_qc_complete() is exported to other parts of libata for later\nuse.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "f69499f42caf74194df678c9c293f2ee0fe90bc3",
      "tree": "642f3d5792eb6561fd01116f6a247d26f9e3e304",
      "parents": [
        "2ab7db1ff1d64a2ba389d0692d532f42a15f1f72"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:03 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:03 2006 +0900"
      },
      "message": "[PATCH] libata-eh-fw: update ata_qc_from_tag() to enforce normal/EH qc ownership\n\nNew EH framework has clear distinction about who owns a qc.  Every qc\nstarts owned by normal execution path - PIO, interrupt or whatever.\nWhen an exception condition occurs which affects the qc, the qc gets\nscheduled for EH.  Note that some events (say, link lost and regained,\ncommand timeout) may schedule qc\u0027s which are not directly related but\ncould have been affected for EH too.  Scheduling for EH is atomic\nw.r.t. ap-\u003ehost_set-\u003elock and once schedule for EH, normal execution\npath is not allowed to access the qc in whatever way.  (PIO\nsynchronization acts a bit different and will be dealt with later)\n\nThis patch make ata_qc_from_tag() check whether a qc is active and\nowned by normal path before returning it.  If conditions don\u0027t match,\nNULL is returned and thus access to the qc is denied.\n__ata_qc_from_tag() is the original ata_qc_from_tag() and is used by\nlibata core/EH layers to access inactive/failed qc\u0027s.\n\nThis change is applied only if the associated LLDD implements new EH\nas indicated by non-NULL -\u003eerror_handler\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "2ab7db1ff1d64a2ba389d0692d532f42a15f1f72",
      "tree": "c676e2796896e6856fda6cc6598d5670d06b5c1c",
      "parents": [
        "dc2b3515868a254b3d653d77844bff93c5d4c095"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:02 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:02 2006 +0900"
      },
      "message": "[PATCH] libata-eh-fw: use special reserved tag and qc for internal commands\n\nNew EH may issue internal commands to recover from error while failed\nqc\u0027s are still hanging around.  To allow such usage, reserve tag\nATA_MAX_QUEUE-1 for internal command.  This also makes it easy to tell\nwhether a qc is for internal command or not.  ata_tag_internal() test\nimplements this test.\n\nTo avoid breaking existing drivers, ata_exec_internal() uses\nATA_TAG_INTERNAL only for drivers which implement -\u003eerror_handler.\nFor drivers using old EH, tag 0 is used.  Note that this makes\nata_tag_internal() test valid only when -\u003eerror_handler is\nimplemented.  This is okay as drivers on old EH should not and does\nnot have any reason to use ata_tag_internal().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "dc2b3515868a254b3d653d77844bff93c5d4c095",
      "tree": "9593b32b85cce3cc03802ed00d928f3b7ea65aa9",
      "parents": [
        "9ec957f2002bd2994be659bbc0ec28397fa251ee"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:00 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:58:00 2006 +0900"
      },
      "message": "[PATCH] libata-eh-fw: clear SError in ata_std_postreset()\n\nClear SError in ata_std_postreset().  This is to clear SError bits\nwhich get set during reset.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "9ec957f2002bd2994be659bbc0ec28397fa251ee",
      "tree": "26c920d57260ebd397f19dd597ab845b68d04d18",
      "parents": [
        "f15a1dafed22d5037e0feea7528e1eeb28a1a7a3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:58 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:58 2006 +0900"
      },
      "message": "[PATCH] libata-eh-fw: add flags and operations for new EH\n\nAdd ATA_FLAG_EH_{PENDING|FROZEN}, ATA_ATA_QCFLAG_{FAILED|SENSE_VALID}\nand ops-\u003efreeze, thaw, error_handler, post_internal_cmd() for new EH.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "f15a1dafed22d5037e0feea7528e1eeb28a1a7a3",
      "tree": "5bf5c98332036d62bd4cca3a104844faa318c712",
      "parents": [
        "61440db61fe4945ad9f7b32b4d6a22b17174aa1f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:56 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:56 2006 +0900"
      },
      "message": "[PATCH] libata: use ATA printk helpers\n\nUse ATA printk helpers.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "61440db61fe4945ad9f7b32b4d6a22b17174aa1f",
      "tree": "4c093d6c72facf6bc77fcedce7d8c1cb85415f5b",
      "parents": [
        "3373efd89dead4ce7818d685729e0431448357c9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:55 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:55 2006 +0900"
      },
      "message": "[PATCH] libata: implement ATA printk helpers\n\nImplement ata_{port|dev}_printk() which prefixes the message with\nproper identification string.  This change is necessary for later PM\nsupport because devices and links should be identified differently\ndepending on how they are attached.\n\nThis also helps unifying device id strings.  Currently, there are two\nforms in use (P is the port number D device number) - \u0027ataP(D):\u0027, and\n\u0027ataP: dev D \u0027.  These macros also make it harder to forget proper ID\nstring (e.g. printing only port number when a device is in question).\n\nDebug message handling can be integrated into these printk macros by\npassing debug type and level via @lv.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "3373efd89dead4ce7818d685729e0431448357c9",
      "tree": "d7e7a1afd83e269c3c0978f924cd8c54d9be7f5a",
      "parents": [
        "38d87234d6c47ca487fc6344100323d5adc6f32c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:53 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:53 2006 +0900"
      },
      "message": "[PATCH] libata: use dev-\u003eap\n\nUse dev-\u003eap where possible and eliminate superflous @ap from functions\nand structures.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "38d87234d6c47ca487fc6344100323d5adc6f32c",
      "tree": "5136dc203543954ab8340988c3a18fcec39bf533",
      "parents": [
        "a0ab51cefc95cb7756c4914603fea2b1a0f813c5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:51 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:51 2006 +0900"
      },
      "message": "[PATCH] libata: add dev-\u003eap\n\nAdd dev-\u003eap which points back to the port the device belongs to.  This\nmakes it unnecessary to pass @ap for silly reasons (e.g. printks).\nAlso, this change is necessary to accomodate later PM support which\nwill introduce ATA link inbetween port and device.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "a0ab51cefc95cb7756c4914603fea2b1a0f813c5",
      "tree": "8ad4be1bd8df959db434f83d33ced04dab211145",
      "parents": [
        "81952c5497b40ae56835bd0d6537f8c6bdea07e7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:49 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:49 2006 +0900"
      },
      "message": "[PATCH] libata: kill old SCR functions and sata_dev_present()\n\nKill now unused scr_{read|write|write_flush}() and sata_dev_present().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "81952c5497b40ae56835bd0d6537f8c6bdea07e7",
      "tree": "fa2db695c56e481c271c7249197ad3b4a98b6087",
      "parents": [
        "34bf21704c848fe00c516d1c8f163db08b70b137"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:47 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:47 2006 +0900"
      },
      "message": "[PATCH] libata: use new SCR and on/offline functions\n\nUse new SCR and on/offline functions.  Note that for LLDD which know\nit implements SCR callbacks, SCR functions are guaranteed to succeed\nand ata_port_online() \u003d\u003d !ata_port_offline().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "34bf21704c848fe00c516d1c8f163db08b70b137",
      "tree": "8482de3ddf6ff1b02ff9ddfd027d2478c7ecd7ac",
      "parents": [
        "838df6284c54447efae956fb9c243d8ba4ab0f47"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:46 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:46 2006 +0900"
      },
      "message": "[PATCH] libata: implement new SCR handling and port on/offline functions\n\nImplement ata_scr_{valid|read|write|write_flush}() and\nata_port_{online|offline}().  These functions replace\nscr_{read|write}() and sata_dev_present().\n\nMajor difference between between the new SCR functions and the old\nones is that the new ones have a way to signal error to the caller.\nThis makes handling SCR-available and SCR-unavailable cases in the\nsame path easier.  Also, it eases later PM implementation where SCR\naccess can fail due to various reasons.\n\nata_port_{online|offline}() functions return 1 only when they are\naffirmitive of the condition.  e.g.  if SCR is unaccessible or\npresence cannot be determined for other reasons, these functions\nreturn 0.  So, ata_port_online() !\u003d !ata_port_offline().  This\ndistinction is useful in many exception handling cases.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "838df6284c54447efae956fb9c243d8ba4ab0f47",
      "tree": "1bba23b1bf77f80facfc5c6046f357e237176d48",
      "parents": [
        "ce5f7f3d0cab82d6c16fcb64def8bfc0a3a85dd6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:44 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:44 2006 +0900"
      },
      "message": "[PATCH] libata: init ap-\u003ecbl to ATA_CBL_SATA early\n\nInit ap-\u003ecbl to ATA_CBL_SATA in ata_host_init().  This is necessary\nfor soon-to-follow SCR handling function changes.  LLDDs are free to\nchange ap-\u003ecbl during probing.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "ce5f7f3d0cab82d6c16fcb64def8bfc0a3a85dd6",
      "tree": "35a8af3090fef05001f931fee0c5e374433f5458",
      "parents": [
        "e61e067227bc76b4d9411a50d735c9d87f27b0e2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:42 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:42 2006 +0900"
      },
      "message": "[PATCH] sata_sil24: update TF image only when necessary\n\nUpdate TF image (pp-\u003etf) only when necessary.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "e61e067227bc76b4d9411a50d735c9d87f27b0e2",
      "tree": "007d22539b24aa6ae8e258af6e22a4187490a4c1",
      "parents": [
        "96bd39ec295e49443c8b0c25a6b69fdace18780f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:40 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:40 2006 +0900"
      },
      "message": "[PATCH] libata: implement qc-\u003eresult_tf\n\nAdd qc-\u003eresult_tf and ATA_QCFLAG_RESULT_TF.  This moves the\nresponsibility of loading result TF from post-compltion path to qc\nexecution path.  qc-\u003eresult_tf is loaded if explicitly requested or\nthe qc failsa.  This allows more efficient completion implementation\nand correct handling of result TF for controllers which don\u0027t have\nglobal TF representation such as sil3124/32.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "96bd39ec295e49443c8b0c25a6b69fdace18780f",
      "tree": "02b80f3a37f3b75b68f41e6243fab513aed30b32",
      "parents": [
        "3adcebb2b59d590d572844815c906ca30477b14a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:38 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:38 2006 +0900"
      },
      "message": "[PATCH] libata: remove postreset handling from ata_do_reset()\n\nMake ata_do_reset() deal only with reset.  postreset is now the\nresponsibility of the caller.  This is simpler and eases later\nprereset addition.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "3adcebb2b59d590d572844815c906ca30477b14a",
      "tree": "e3103126556b5363ae7a30fc967d1ea4645de5a6",
      "parents": [
        "fe635c7e91036282e4fd0cc5b4eebc712e43270d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:37 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:37 2006 +0900"
      },
      "message": "[PATCH] libata: move -\u003eset_mode() handling into ata_set_mode()\n\nMove -\u003eset_mode() handlng into ata_set_mode().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "fe635c7e91036282e4fd0cc5b4eebc712e43270d",
      "tree": "22054d039df52c19e729f30ceee836936a730ce6",
      "parents": [
        "158693031d7c58a355ec1852052a4fca75fd3bda"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:35 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:35 2006 +0900"
      },
      "message": "[PATCH] libata: use preallocated buffers\n\nIt\u0027s not a very good idea to allocate memory during EH.  Use\nstatically allocated buffer for dev-\u003eid[] and add 512byte buffer\nap-\u003esector_buf.  This buffer is owned by EH (or probing) and to be\nused as temporary buffer for various purposes (IDENTIFY, NCQ log page\n10h, PM GSCR block).\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "158693031d7c58a355ec1852052a4fca75fd3bda",
      "tree": "2afbc7cb635746b2b6f2a6b6b5c64e9c62777168",
      "parents": [
        "7401abf2f44695ef44eef47d5deba1c20214a063"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:33 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:33 2006 +0900"
      },
      "message": "[PATCH] libata: hold host_set lock while finishing internal qc\n\nHold host_set lock while finishing internal qc.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "7401abf2f44695ef44eef47d5deba1c20214a063",
      "tree": "582a02c76d1d975846bd779923d715cb617efef9",
      "parents": [
        "f8c2c4202d86e14ca03b7adc7ebcb30fc74b24e1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:32 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:32 2006 +0900"
      },
      "message": "[PATCH] libata: clear ap-\u003eactive_tag atomically w.r.t. command completion\n\nap-\u003eactive_tag was cleared in ata_qc_free().  This left ap-\u003eactive_tag\ndangling after ata_qc_complete().  Spurious interrupts inbetween could\nincorrectly access the qc.  Clear active_tag in ata_qc_complete().\nThis change is necessary for later EH changes.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "f8c2c4202d86e14ca03b7adc7ebcb30fc74b24e1",
      "tree": "acd1428c4cf8f6b2370db54f368309143774e72a",
      "parents": [
        "6cd727b14f1a6cdcb088d1067c1ba0ba124806a7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:30 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:30 2006 +0900"
      },
      "message": "[PATCH] libata: fix -\u003ephy_reset class code handling in ata_bus_probe()\n\nata_bus_probe() doesn\u0027t clear dev-\u003eclass after -\u003ephy_reset().  This\ncan result in falsely enabled devices if probing fails.  Clear\ndev-\u003eclass to ATA_DEV_UNKNOWN after fetching it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "6cd727b14f1a6cdcb088d1067c1ba0ba124806a7",
      "tree": "21ad0764c0f511b029e2f4548a5035a983d978e2",
      "parents": [
        "e23befe9018319dc218e2e51c20ce480e6b45eeb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:28 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:28 2006 +0900"
      },
      "message": "[PATCH] libata: kill duplicate prototypes\n\nKill duplicate prototypes for ata_eh_qc_complete/retry() in libata.h.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "e23befe9018319dc218e2e51c20ce480e6b45eeb",
      "tree": "2b0ca8ab4454ca5ecff93448699236e7687af133",
      "parents": [
        "e4fac92ae744cd5d5c3c1774825788e6b91a5965"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:27 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:27 2006 +0900"
      },
      "message": "[PATCH] libata: unexport ata_scsi_error()\n\nWhile moving ata_scsi_error() from LLDD sht to libata transportt,\nEXPORT_SYMBOL_GPL() entry was left out.  Kill it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "e4fac92ae744cd5d5c3c1774825788e6b91a5965",
      "tree": "26af28126d5051f6bd49763ff99a9e6945c87920",
      "parents": [
        "3c567b7d1137633f3ff67cd1df94abc5fd497a85"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:25 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:25 2006 +0900"
      },
      "message": "[PATCH] ahci: hardreset classification fix\n\nAHCI calls ata_dev_classify() even when no device is attached which\nresults in false class code.  Fix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "3c567b7d1137633f3ff67cd1df94abc5fd497a85",
      "tree": "085d98f696a0b8a2440bac4686929731769a6760",
      "parents": [
        "c44078c03f018c8cc9d7463b0db4c6c7fb316792"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:23 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:23 2006 +0900"
      },
      "message": "[PATCH] libata: rename ata_down_sata_spd_limit() and friends\n\nRename ata_down_sata_spd_limit() and friends to sata_down_spd_limit()\nand likewise for simplicity \u0026 consistency.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "c44078c03f018c8cc9d7463b0db4c6c7fb316792",
      "tree": "3f638ee85d7e1eb8e0951b581b51fdcec43ff9d6",
      "parents": [
        "ee7863bc68fa6ad6fe7cfcc0e5ebe9efe0c0664e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:21 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:21 2006 +0900"
      },
      "message": "[PATCH] libata: silly fix in ata_scsi_start_stop_xlat()\n\nDon\u0027t directly access \u0026qc-\u003etf when tf \u003d\u003d \u0026qc-\u003etf.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "ee7863bc68fa6ad6fe7cfcc0e5ebe9efe0c0664e",
      "tree": "2ca442445403be0101abf0592df3c625633dd49d",
      "parents": [
        "89f48c4d67dd875cf2216d4402bf77eda41fbdd9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:20 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:20 2006 +0900"
      },
      "message": "[PATCH] SCSI: implement shost-\u003ehost_eh_scheduled\n\nlibata needs to invoke EH without scmd.  This patch adds\nshost-\u003ehost_eh_scheduled to implement such behavior.\n\nCurrently the only user of this feature is libata and no general\ninterface is defined.  This patch simply adds handling for\nhost_eh_scheduled where needed and exports scsi_eh_wakeup() to\nmodules.  The rest is upto libata.  This is the result of the\nfollowing discussion.\n\nhttp://thread.gmane.org/gmane.linux.scsi/23853/focus\u003d9760\n\nIn short, SCSI host is not supposed to know about exceptions unrelated\nto specific device or command.  Such exceptions should be handled by\ntransport layer proper.  However, the distinction is not essential to\nATA and libata is planning to depart from SCSI, so, for the time\nbeing, libata will be using SCSI EH to handle such exceptions.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "89f48c4d67dd875cf2216d4402bf77eda41fbdd9",
      "tree": "72f8664d7029f0190557b1b9f437b35e047cfd95",
      "parents": [
        "acc696d93dcf993dec123d69d599979e1456ffec"
      ],
      "author": {
        "name": "Luben Tuikov",
        "email": "ltuikov@yahoo.com",
        "time": "Mon May 15 20:57:18 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:18 2006 +0900"
      },
      "message": "[PATCH] SCSI: Introduce scsi_req_abort_cmd (REPOST)\n\nIntroduce scsi_req_abort_cmd(struct scsi_cmnd *).\nThis function requests that SCSI Core start recovery for the\ncommand by deleting the timer and adding the command to the eh\nqueue.  It can be called by either LLDDs or SCSI Core.  LLDDs who\nimplement their own error recovery MAY ignore the timeout event if\nthey generated scsi_req_abort_cmd.\n\nFirst post:\nhttp://marc.theaimsgroup.com/?l\u003dlinux-scsi\u0026m\u003d113833937421677\u0026w\u003d2\n\nSigned-off-by: Luben Tuikov \u003cltuikov@yahoo.com\u003e\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "7894eaf291238a62a565e9e9777483beeb00eeae",
      "tree": "43c08830d2030d39d719f3f3d54a0e9b36554770",
      "parents": [
        "9e73972cef1c0961c78b0e0b61c4ecc275b29f04",
        "acc696d93dcf993dec123d69d599979e1456ffec"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Apr 27 04:55:53 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Apr 27 04:55:53 2006 -0400"
      },
      "message": "Merge branch \u0027upstream\u0027 into irq-pio\n"
    },
    {
      "commit": "acc696d93dcf993dec123d69d599979e1456ffec",
      "tree": "b860b80bb96bb5e3ea1f0347b92fbb1e8b15af36",
      "parents": [
        "bf2af2a2027e52b653882fbca840620e896ae081",
        "2be4d50295e2b6f62c07b614e1b103e280dddb84"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Apr 27 04:53:34 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Apr 27 04:53:34 2006 -0400"
      },
      "message": "Merge branch \u0027master\u0027 into upstream\n"
    },
    {
      "commit": "2be4d50295e2b6f62c07b614e1b103e280dddb84",
      "tree": "abaa85f23db1821a85c57e6473df2803e9dd8890",
      "parents": [
        "a82642fa190029a438c0d09edb0e5463a0fe9e1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 19:19:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 19:19:25 2006 -0700"
      },
      "message": "Linux v2.6.17-rc3\n"
    },
    {
      "commit": "a82642fa190029a438c0d09edb0e5463a0fe9e1e",
      "tree": "92919f355dbf3f401a5ad96359dd6a741cd24f6a",
      "parents": [
        "58f8236bed448273cd7f9ae02c09467853303484",
        "3d63abe56be2147891b3438cb3bd37a9be72bda7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 15:45:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 15:45:27 2006 -0700"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-mmc\n\n* master.kernel.org:/home/rmk/linux-2.6-mmc:\n  [MMC] pxamci: fix data timeout calculation\n"
    },
    {
      "commit": "58f8236bed448273cd7f9ae02c09467853303484",
      "tree": "5fd9f04dbdda368de31fa22d0f8d8b3fb317a0b7",
      "parents": [
        "83d722f7e198b034699b1500d98729beff930efd",
        "f13d241bc300802a2576dc3e2dfb51492a9a88b4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 15:45:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 15:45:02 2006 -0700"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-arm\n\n* master.kernel.org:/home/rmk/linux-2.6-arm:\n  [ARM] nommu: trivial fixups for head-nommu.S and the Makefile\n  [ARM] vfp: fix leak of VFP_NAN_FLAG into FPSCR\n  [ARM] 3484/1: Correct AEABI CFLAGS for correct enum handling\n"
    },
    {
      "commit": "f13d241bc300802a2576dc3e2dfb51492a9a88b4",
      "tree": "ddb0e3d218fcb3f9e421c4f36d4a16e90ab20597",
      "parents": [
        "928bd1b4709045355fad8bf858904884c0a1e87f",
        "3b920cef3470b7199acd2dc26e09fb9291131976"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Wed Apr 26 21:18:45 2006 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Apr 26 21:18:45 2006 +0100"
      },
      "message": "Merge nommu tree\n"
    },
    {
      "commit": "83d722f7e198b034699b1500d98729beff930efd",
      "tree": "7d790a2fd62165373ec7bacde704837288e0bec3",
      "parents": [
        "649bbaa484bcdce94f40a1b97a6a2ded0549e8a2"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Mon Apr 24 19:35:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 08:30:03 2006 -0700"
      },
      "message": "[PATCH] Remove __devinit and __cpuinit from notifier_call definitions\n\nFew of the notifier_chain_register() callers use __init in the definition\nof notifier_call.  It is incorrect as the function definition should be\navailable after the initializations (they do not unregister them during\ninitializations).\n\nThis patch fixes all such usages to _not_ have the notifier_call __init\nsection.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "649bbaa484bcdce94f40a1b97a6a2ded0549e8a2",
      "tree": "f24f05bf95ae9c4164266da87f36fed61c5c2206",
      "parents": [
        "e7edf9cdeddc0cff125e8e658216efb2ff2b2219"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Mon Apr 24 19:35:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 08:27:50 2006 -0700"
      },
      "message": "[PATCH] Remove __devinitdata from notifier block definitions\n\nFew of the notifier_chain_register() callers use __devinitdata in the\ndefinition of notifier_block data structure.  It is incorrect as the\ndata structure should be available after the initializations (they do\nnot unregister them during initializations).\n\nThis was leading to an oops when notifier_chain_register() call is\ninvoked for those callback chains after initialization.\n\nThis patch fixes all such usages to _not_ have the notifier_block data\nstructure in the init data section.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e7edf9cdeddc0cff125e8e658216efb2ff2b2219",
      "tree": "4a7c5c915a5d44a14f32261ada050021d91e3e56",
      "parents": [
        "a090d9132c1e53e3517111123680c15afb25c0a4"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Apr 26 02:45:03 2006 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 07:52:21 2006 -0700"
      },
      "message": "[PATCH] LSM: add missing hook to do_compat_readv_writev()\n\nThis patch addresses a flaw in LSM, where there is no mediation of readv()\nand writev() in for 32-bit compatible apps using a 64-bit kernel.\n\nThis bug was discovered and fixed initially in the native readv/writev\ncode [1], but was not fixed in the compat code.  Thanks to Al for spotting\nthis one.\n\n  [1] http://lwn.net/Articles/154282/\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a090d9132c1e53e3517111123680c15afb25c0a4",
      "tree": "7654cbd50a49d1140c71112ce79387bfbc6c0c86",
      "parents": [
        "6ad0013b316367671ef316cff91ab2d912e309c9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Apr 26 07:32:40 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 07:52:21 2006 -0700"
      },
      "message": "[PATCH] protect ext3 ioctl modifying append_only, immutable, etc. with i_mutex\n\nAll modifications of -\u003ei_flags in inodes that might be visible to\nsomebody else must be under -\u003ei_mutex.  That patch fixes ext3 ioctl()\nsetting S_APPEND and friends.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ad0013b316367671ef316cff91ab2d912e309c9",
      "tree": "ff07d7294b9aa8ff2ae11c91d214f0a424e9b180",
      "parents": [
        "de0bb97aff6743f71abb8ec581238e2bdae9cdd1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Apr 26 07:28:09 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 07:52:21 2006 -0700"
      },
      "message": "[PATCH] fix mips sys32_p{read,write}\n\nSwitched to use of sys_pread64()/sys_pwrite64() rather than keep duplicating\ntheir guts; among the little things that had been missing there were such as\n\tret \u003d security_file_permission (file, MAY_READ);\nGotta love the LSM robustness, right?\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "de0bb97aff6743f71abb8ec581238e2bdae9cdd1",
      "tree": "86bf40b0545ca3b125864065aeb1ec4b3791aabf",
      "parents": [
        "c82ffb07cd1aa356c599999c4f0dc5155a91d318"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Apr 26 07:26:09 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 07:52:21 2006 -0700"
      },
      "message": "[PATCH] forgotten -\u003eb_data in memcpy() call in ext3/resize.c (oopsable)\n\nsbi-\u003es_group_desc is an array of pointers to buffer_head.  memcpy() of\nbuffer size from address of buffer_head is a bad idea - it will generate\njunk in any case, may oops if buffer_head is close to the end of slab\npage and next page is not mapped and isn\u0027t what was intended there.\nIOW, -\u003eb_data is missing in that call.  Fortunately, result doesn\u0027t go\ninto the primary on-disk data structures, so only backup ones get crap\nwritten to them; that had allowed this bug to remain unnoticed until\nnow.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c82ffb07cd1aa356c599999c4f0dc5155a91d318",
      "tree": "09676dec03ae8ec5df1dc11102db24d9fa1ef393",
      "parents": [
        "7b97ebfb931887be63bfa29b6c143e9e9da3f5e8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Apr 26 07:20:48 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 07:52:21 2006 -0700"
      },
      "message": "[PATCH] fix leak in activate_ep_files()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7b97ebfb931887be63bfa29b6c143e9e9da3f5e8",
      "tree": "faaf77f68ef4192ac1a3c23f43fed122a080d341",
      "parents": [
        "07db8696f5d484485dde77138ff87d19c8628a75",
        "1ebd32fc54bd04de6b3944587f25513c0681f98e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 07:47:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 07:47:55 2006 -0700"
      },
      "message": "Merge branch \u0027splice\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n\n* \u0027splice\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block:\n  [PATCH] splice: add -\u003esplice_write support for /dev/null\n  [PATCH] splice: rearrange moving to/from pipe helpers\n  [PATCH] Add support for the sys_vmsplice syscall\n  [PATCH] splice: fix offset problems\n  [PATCH] splice: fix min() warning\n"
    },
    {
      "commit": "07db8696f5d484485dde77138ff87d19c8628a75",
      "tree": "df967ca4a68a3aafcba3cb9f41665b7e3367820e",
      "parents": [
        "bd5838b9ccdde2be18f61886c41ccd131414fb04",
        "86a0f04387bfa814618bf0c2c8b203899c4fa5d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 07:46:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 07:46:19 2006 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6\n\n* \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:\n  [PATCH] forcedeth: fix initialization\n  [PATCH] sky2: version 1.2\n  [PATCH] sky2: reset function can be devinit\n  [PATCH] sky2: use ALIGN() macro\n  [PATCH] sky2: add fake idle irq timer\n  [PATCH] sky2: reschedule if irq still pending\n  [PATCH] bcm43xx: make PIO mode usable\n  [PATCH] bcm43xx: add to MAINTAINERS\n  [PATCH] softmac: fix SIOCSIWAP\n  [PATCH] Fix crash on big-endian systems during scan\n  e1000: Update truesize with the length of the packet for packet split\n  [PATCH] Fix locking in gianfar\n"
    },
    {
      "commit": "bd5838b9ccdde2be18f61886c41ccd131414fb04",
      "tree": "0e74a2bf9033ef79b76d447bdc3de10839af1888",
      "parents": [
        "c86d90df2676d9d212c0ab1f3c64e0abdf5b4c09",
        "85ca719e5756d79ea0f10c469e3762462ac45e22"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 07:45:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 07:45:57 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [BRIDGE]: allow full size vlan packets\n"
    },
    {
      "commit": "1ebd32fc54bd04de6b3944587f25513c0681f98e",
      "tree": "cc68fe468c7b726fee37fa5e9058004382bae4d0",
      "parents": [
        "00522fb41a2a9bf0f98a007c0e2b516a3873148c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Apr 26 14:40:08 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Apr 26 14:40:08 2006 +0200"
      },
      "message": "[PATCH] splice: add -\u003esplice_write support for /dev/null\n\nUseful for testing.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "00522fb41a2a9bf0f98a007c0e2b516a3873148c",
      "tree": "18bcbfb598f0ad0a4745aaee25dab6dccc6449a1",
      "parents": [
        "912d35f86781e64d73be1ef358f703c08905ac37"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Apr 26 14:39:29 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Apr 26 14:39:29 2006 +0200"
      },
      "message": "[PATCH] splice: rearrange moving to/from pipe helpers\n\nWe need these for people writing their own -\u003esplice_read/write hooks.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "86a0f04387bfa814618bf0c2c8b203899c4fa5d2",
      "tree": "efc0739a5eb89d4374c7365ef2dcbee44004987e",
      "parents": [
        "bdf9c27d020ba50b42949c383c1956216c9fd522"
      ],
      "author": {
        "name": "Ayaz Abdulla",
        "email": "aabdulla@nvidia.com",
        "time": "Mon Apr 24 18:41:31 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Apr 26 06:19:46 2006 -0400"
      },
      "message": "[PATCH] forcedeth: fix initialization\n\nThis patch fixes the nic initialization. If the nic was in low power\nmode, it brings it back to normal power. Also, it utilizes a new\nhardware reset during the init.\n\nI am resending based on feedback, I corrected the register size mapping\nand delay after posted write.\n\nSigned-Off-By: Ayaz Abdulla \u003caabdulla@nvidia.com\u003e\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "bdf9c27d020ba50b42949c383c1956216c9fd522",
      "tree": "183b0b38a0ed147ce281c0b9fed628a46280b4fe",
      "parents": [
        "98712e5e3325247bf22a175d225526c9d5f8439b"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Tue Apr 25 10:58:54 2006 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Apr 26 06:19:46 2006 -0400"
      },
      "message": "[PATCH] sky2: version 1.2\n\nUpdate to version 1.2\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "98712e5e3325247bf22a175d225526c9d5f8439b",
      "tree": "f7440223107fb212715e5a9f4d932a4a40a11236",
      "parents": [
        "4a15d56f78936ec15a5d747546f25ace8fef9a03"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Tue Apr 25 10:58:53 2006 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Apr 26 06:19:46 2006 -0400"
      },
      "message": "[PATCH] sky2: reset function can be devinit\n\nThe sky2_reset function only called from sky2_probe.\nMaybe the compiler was smart enough to figure this out already.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4a15d56f78936ec15a5d747546f25ace8fef9a03",
      "tree": "042e2b7315c1536f29927637efa9f1c6c9930a35",
      "parents": [
        "d27ed38765d6e01eaab443a7909f53a37f090e99"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Tue Apr 25 10:58:52 2006 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Apr 26 06:19:45 2006 -0400"
      },
      "message": "[PATCH] sky2: use ALIGN() macro\n\nThe ALIGN() macro in kernel.h does the same math that the\nsky2 driver was using for padding.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d27ed38765d6e01eaab443a7909f53a37f090e99",
      "tree": "d4abd4a0364d0ba971dbde615cde8165d10bb905",
      "parents": [
        "734cbc363b159caee158d5a83408c72d98bcacf0"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Tue Apr 25 10:58:51 2006 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Apr 26 06:19:45 2006 -0400"
      },
      "message": "[PATCH] sky2: add fake idle irq timer\n\nAdd an fake NAPI schedule once a second. This is an attempt to work around\nfor broken configurations with edge-triggered interrupts.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "734cbc363b159caee158d5a83408c72d98bcacf0",
      "tree": "14d903eaf2b7580f791af9fd0d2800f1eb91723f",
      "parents": [
        "3b908870b8332dfd40be0e919e187aa4991536fb"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Tue Apr 25 10:58:50 2006 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Apr 26 06:19:45 2006 -0400"
      },
      "message": "[PATCH] sky2: reschedule if irq still pending\n\nThis is a workaround for the case edge-triggered irq\u0027s. Several users\nseem to have broken configurations sharing edge-triggered irq\u0027s. To avoid\nlosing IRQ\u0027s, reshedule if more work arrives.\n\nThe changes to netdevice.h are to extract the part that puts device\nback in list into separate inline.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "3b908870b8332dfd40be0e919e187aa4991536fb",
      "tree": "cb7cc30d04e647902b8c6cfac840626a4d09e770",
      "parents": [
        "3b85418bc998876ce46784fb49f243100b2dd909",
        "7c241d37fe0e6442c5cf3b5d73f7f58f2dc66352"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Apr 26 06:16:50 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Apr 26 06:16:50 2006 -0400"
      },
      "message": "Merge branch \u0027upstream-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes\n"
    },
    {
      "commit": "3b85418bc998876ce46784fb49f243100b2dd909",
      "tree": "0e03bc4867f442902f09c6c2951f90983f1bdb45",
      "parents": [
        "25f73891c3059e9ce6ff0a02670aa98baf6cbce9",
        "bcb49197ed9a2e8a0a8d990723dccfccffa7566f"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Apr 26 06:16:05 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Apr 26 06:16:05 2006 -0400"
      },
      "message": "Merge branch \u0027skb_truesize\u0027 of git://lost.foo-projects.org/~ahkok/git/linux-2.6 into upstream-fixes\n"
    },
    {
      "commit": "25f73891c3059e9ce6ff0a02670aa98baf6cbce9",
      "tree": "18a2ef934aa353ca695c3faaa3b7497fea22037a",
      "parents": [
        "fef6108d4556917c45cd9ba397c1c7597f3990e1",
        "4d5c34ec7b007cfb0771a36996b009f194acbb2f"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Apr 26 06:15:27 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Apr 26 06:15:27 2006 -0400"
      },
      "message": "Merge branch \u0027master\u0027 into upstream-fixes\n"
    },
    {
      "commit": "85ca719e5756d79ea0f10c469e3762462ac45e22",
      "tree": "d03324ade4c621b255fa1117a35a50b273d97437",
      "parents": [
        "4d5c34ec7b007cfb0771a36996b009f194acbb2f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Wed Apr 26 02:39:19 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 26 02:39:19 2006 -0700"
      },
      "message": "[BRIDGE]: allow full size vlan packets\n\nNeed to allow for VLAN header when bridging.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "912d35f86781e64d73be1ef358f703c08905ac37",
      "tree": "5863ad70f5cdccba0c1cd28f83d173deaf71fb83",
      "parents": [
        "016b661e2f717168e600f3c85f29e1a49f88e004"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Apr 26 10:59:21 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Apr 26 10:59:21 2006 +0200"
      },
      "message": "[PATCH] Add support for the sys_vmsplice syscall\n\nsys_splice() moves data to/from pipes with a file input/output. sys_vmsplice()\nmoves data to a pipe, with the input being a user address range instead.\n\nThis uses an approach suggested by Linus, where we can hold partial ranges\ninside the pages[] map. Hopefully this will be useful for network\nreceive support as well.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "c86d90df2676d9d212c0ab1f3c64e0abdf5b4c09",
      "tree": "ceb68fda3deb72cdeffdf0f1277385db98271bec",
      "parents": [
        "8aa09a50b5d9dbdf627f79e19d72d82994348089"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Apr 26 10:49:26 2006 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Apr 26 10:49:26 2006 +0200"
      },
      "message": "[doc] add paragraph about \u0027fs\u0027 subsystem to sysfs.txt\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\n"
    },
    {
      "commit": "8aa09a50b5d9dbdf627f79e19d72d82994348089",
      "tree": "5b50a1b62c8b95223023053595c452b0641f5767",
      "parents": [
        "6dbbcb120570d747b00783820ee02d1e1bcf63de"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Apr 26 10:49:16 2006 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Apr 26 10:49:16 2006 +0200"
      },
      "message": "[fuse] fix race between checking and setting file-\u003eprivate_data\n\nBKL does not protect against races if the task may sleep between\nchecking and setting a value.  So move checking of file-\u003eprivate_data\nnear to setting it in fuse_fill_super().\n\nFound by Al Viro.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\n"
    },
    {
      "commit": "6dbbcb120570d747b00783820ee02d1e1bcf63de",
      "tree": "9be2938cea30b1f2ce93ed59b8806fdfac62fd1e",
      "parents": [
        "5a5fb1ea74d8b82ca1461b885a1334fb21e037be"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Apr 26 10:49:06 2006 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Apr 26 10:49:06 2006 +0200"
      },
      "message": "[fuse] fix deadlock between fuse_put_super() and request_end(), try #2\n\nA deadlock was possible, when the last reference to the superblock was\nheld due to a background request containing a file reference.\n\nReleasing the file would release the vfsmount which in turn would\nrelease the superblock.  Since sbput_sem is held during the fput() and\nfuse_put_super() tries to acquire this same semaphore, a deadlock\nresults.\n\nThe solution is to move the fput() outside the region protected by\nsbput_sem.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\n"
    },
    {
      "commit": "5a5fb1ea74d8b82ca1461b885a1334fb21e037be",
      "tree": "f6e823d4a8e09ce0780d891f8f38f033ccbd7da2",
      "parents": [
        "4d5c34ec7b007cfb0771a36996b009f194acbb2f"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Apr 26 10:48:55 2006 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Apr 26 10:48:55 2006 +0200"
      },
      "message": "Revert \"[fuse] fix deadlock between fuse_put_super() and request_end()\"\n\nThis reverts 73ce8355c243a434524a34c05cc417dd0467996e commit.\n\nIt was wrong, because it didn\u0027t take into account the requirement,\nthat iput() for background requests must be performed synchronously\nwith -\u003eput_super(), otherwise active inodes may remain after unmount.\n\nThe right solution is to keep the sbput_sem and perform iput() within\nthe locked region, but move fput() outside sbput_sem.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\n"
    },
    {
      "commit": "016b661e2f717168e600f3c85f29e1a49f88e004",
      "tree": "3ddf0f8a49c752cdd1187b5633c04400fcf42619",
      "parents": [
        "ba5f5d90c45a30e4e9a1bd136acf1b3973c905c8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Apr 25 15:42:00 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Wed Apr 26 10:33:34 2006 +0200"
      },
      "message": "[PATCH] splice: fix offset problems\n\nMake the move_from_pipe() actors return number of bytes processed, then\nmove_from_pipe() can decide more cleverly when to move on to the next\nbuffer.\n\nThis fixes problems with pipe offset and differing file offset.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "ba5f5d90c45a30e4e9a1bd136acf1b3973c905c8",
      "tree": "5f4d3b830e401af51fd91afec3242067d0d88035",
      "parents": [
        "4d5c34ec7b007cfb0771a36996b009f194acbb2f"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Apr 25 15:33:34 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Wed Apr 26 10:33:34 2006 +0200"
      },
      "message": "[PATCH] splice: fix min() warning\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "bcb49197ed9a2e8a0a8d990723dccfccffa7566f",
      "tree": "a4148a9b2ef16cf8393e1e5f5eae08d4205e2c67",
      "parents": [
        "4d5c34ec7b007cfb0771a36996b009f194acbb2f"
      ],
      "author": {
        "name": "Auke Kok",
        "email": "auke-jan.h.kok@intel.com",
        "time": "Tue Apr 25 22:50:04 2006 -0700"
      },
      "committer": {
        "name": "Auke Kok",
        "email": "juke-jan.h.kok@intel.com",
        "time": "Tue Apr 25 22:50:04 2006 -0700"
      },
      "message": "e1000: Update truesize with the length of the packet for packet split\n\nUpdate skb with the real packet size.\n\n\nSigned-off-by: Jesse Brandeburg \u003cjesse.brandeburg@intel.com\u003e\nSigned-off-by: Auke Kok \u003cauke-jan.h.kok@intel.com\u003e\nSigned-off-by: John Ronciak \u003cjohn.ronciak@intel.com\u003e\n\n"
    },
    {
      "commit": "928bd1b4709045355fad8bf858904884c0a1e87f",
      "tree": "1875af1016e3057fd25fa7441877f8a0b97cffbe",
      "parents": [
        "c7fd84424f919740880d989cb0459c332da96013"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Tue Apr 25 20:41:27 2006 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Apr 25 20:41:27 2006 +0100"
      },
      "message": "[ARM] vfp: fix leak of VFP_NAN_FLAG into FPSCR\n\nThe VFP code can leak VFP_NAN_FLAG into the FPSCR. It doesn\u0027t correspond\nto any real FPSCR bit (and overlaps one of the exception flags).\n\nBug report from Daniel Jacobowitz\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "c7fd84424f919740880d989cb0459c332da96013",
      "tree": "b487783c3f02ea45a2248710a46e2f94e71910b9",
      "parents": [
        "454ac778459bc70f0a9818a6a8fd974ced11de66"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Tue Apr 25 20:36:04 2006 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Apr 25 20:36:04 2006 +0100"
      },
      "message": "[ARM] 3484/1: Correct AEABI CFLAGS for correct enum handling\n\nPatch from Richard Purdie\n\nThe AAPCS says that enums can be variably sized depending on the range\nof valid values. This is not the accepted behaviour under linux so for\ncompatibility gcc has an aapcs-linux target, the main difference being\nthat enums are always of type int. Change the ARM Makefile to use this\ntarget.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "4d5c34ec7b007cfb0771a36996b009f194acbb2f",
      "tree": "7658508b67f6aa03d5b38b68a197502068699ea8",
      "parents": [
        "454ac778459bc70f0a9818a6a8fd974ced11de66"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Tue Apr 25 13:45:19 2006 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 25 07:51:06 2006 -0700"
      },
      "message": "[PATCH] Alpha: strncpy() fix\n\nAs it turned out after recent SCSI changes, strncpy() was broken -\nit mixed up the return values from __stxncpy() in registers $24 and $27.\n\nThanks to Mathieu Chouquet-Stringer for tracking down the problem\nand providing an excellent test case.\n\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "454ac778459bc70f0a9818a6a8fd974ced11de66",
      "tree": "a1a7d7b6aaca16f48efa14e1d276fd2aeab4d884",
      "parents": [
        "18118cdbfd1f855e09ee511d764d6c9df3d4f952",
        "301dc3e6f6ea83703fa52919c00e60661da5a8fe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Apr 24 20:08:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Apr 24 20:08:08 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/sfrench/cifs-2.6-stable\n\n* master.kernel.org:/pub/scm/linux/kernel/git/sfrench/cifs-2.6-stable:\n  [CIFS] Fix compile error when CONFIG_CIFS_EXPERIMENTAL is undefined\n"
    },
    {
      "commit": "18118cdbfd1f855e09ee511d764d6c9df3d4f952",
      "tree": "8707ed855ddbe0b0bf98e661119df0ec08a3a8ea",
      "parents": [
        "91536b7ae67710ca888e03ea82c60f0ac073a015"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 24 17:18:59 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 24 17:27:34 2006 -0700"
      },
      "message": "[NETFILTER]: ipt action: use xt_check_target for basic verification\n\nThe targets don\u0027t do the basic verification themselves anymore so\nthe ipt action needs to take care of it.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "91536b7ae67710ca888e03ea82c60f0ac073a015",
      "tree": "84d7cae64287878e9dbfff5ec04e306e50982328",
      "parents": [
        "e4a79ef811505a8bf8d8edfda8602e23cb2fbdb0"
      ],
      "author": {
        "name": "Dmitry Mishin",
        "email": "dim@openvz.org",
        "time": "Mon Apr 24 17:18:25 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 24 17:27:33 2006 -0700"
      },
      "message": "[NETFILTER]: x_tables: move table-\u003elock initialization\n\nxt_table-\u003elock should be initialized before xt_replace_table() call, which\nuses it. This patch removes strict requirement that table should define\nlock before registering.\n\nSigned-off-by: Dmitry Mishin \u003cdim@openvz.org\u003e\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e4a79ef811505a8bf8d8edfda8602e23cb2fbdb0",
      "tree": "26e6fcd06059efc2d4d33040ed8d564aef789c0a",
      "parents": [
        "2c16b774c7a9b1684b0ff10121915903e9f0cf6c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 24 17:17:49 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 24 17:27:32 2006 -0700"
      },
      "message": "[NETFILTER]: ip6_tables: remove broken comefrom debugging\n\nThe introduction of x_tables broke comefrom debugging, remove it from\nip6_tables as well (ip_tables already got removed).\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c16b774c7a9b1684b0ff10121915903e9f0cf6c",
      "tree": "6244de026976bbe3239a6d2b839758d130a584e1",
      "parents": [
        "55fe5866366ae42f259f27ae5962eb267d9ce172"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Mon Apr 24 17:16:59 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 24 17:27:31 2006 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: kill unused callback init_conntrack\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55fe5866366ae42f259f27ae5962eb267d9ce172",
      "tree": "ff7b8f5b97a6d21b1f30ffd43f2e6955ff376c69",
      "parents": [
        "44adf28f4a27df626d50e54c8d0669df2dd1aa89"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 24 17:16:28 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 24 17:27:30 2006 -0700"
      },
      "message": "[NETFILTER]: Fix compat_xt_counters alignment for non-x86\n\nSome (?) non-x86 architectures require 8byte alignment for u_int64_t\neven when compiled for 32bit, using u_int32_t in compat_xt_counters\nbreaks on these architectures, use u_int64_t for everything but x86.\n\nReported by Andreas Schwab \u003cschwab@suse.de\u003e.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "44adf28f4a27df626d50e54c8d0669df2dd1aa89",
      "tree": "20abb0d95b08e58f8c5a7d653517737c4a6aa38b",
      "parents": [
        "e1bbdebdba615ddd957de81103aa2f7fa0581952"
      ],
      "author": {
        "name": "Thomas Voegtle",
        "email": "tv@lio96.de",
        "time": "Mon Apr 24 17:15:54 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 24 17:27:29 2006 -0700"
      },
      "message": "[NETFILTER]: ULOG target is not obsolete\n\nThe backend part is obsoleted, but the target itself is still needed.\n\nSigned-off-by: Thomas Voegtle \u003ctv@lio96.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1bbdebdba615ddd957de81103aa2f7fa0581952",
      "tree": "58db2991440cfeca18678bdeed5dd45d38b186bb",
      "parents": [
        "d8fe3f19203b1f5070358aaa292d33295258b448"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Mon Apr 24 17:15:17 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 24 17:27:28 2006 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: Fix module refcount dropping too far\n\nIf nf_ct_l3proto_find_get() fails to get the refcount of\nnf_ct_l3proto_generic, nf_ct_l3proto_put() will drop the refcount\ntoo far.\n\nThis gets rid of \u0027.me \u003d THIS_MODULE\u0027 of nf_ct_l3proto_generic so that\nnf_ct_l3proto_find_get() doesn\u0027t try to get refcount of it.\nIt\u0027s OK because its symbol is usable until nf_conntrack.ko is unloaded.\n\nThis also kills unnecessary NULL pointer check as well.\n__nf_ct_proto_find() allways returns non-NULL pointer.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8fe3f19203b1f5070358aaa292d33295258b448",
      "tree": "17710efc27ea3392d63ea22e3519f34762583d20",
      "parents": [
        "6b426e785cb81e53dc2fc4dcf997661472b470ef"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Mon Apr 24 13:48:51 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 24 13:48:51 2006 -0700"
      },
      "message": "[SPARC]: __NR_sys removal\n\n__NR_sys_sync_file_range part was lost somewhere...\n[glibc is already checking __NR_sync_file_range]\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c241d37fe0e6442c5cf3b5d73f7f58f2dc66352",
      "tree": "2172f8cd2947064be0fea940eace4d78697948c7",
      "parents": [
        "9eac8f95d1bb2cec96340505bed2d2387780821f"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Sun Apr 23 13:23:10 2006 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 24 15:20:24 2006 -0400"
      },
      "message": "[PATCH] bcm43xx: make PIO mode usable\n\nThis patch fixes PIO mode on the softmac bcm43xx\ndriver. (A dscape patch will follow).\nIt mainly fixes endianess issues.\nThis patch is tested on PowerPC32 and i386.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9eac8f95d1bb2cec96340505bed2d2387780821f",
      "tree": "44f9e9b091e7bccd05e4fdc9a4855120c1971e17",
      "parents": [
        "818667f7c40dd0bd14029b5ac1d0f5282e12310e"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Sat Apr 22 17:31:27 2006 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 24 15:20:23 2006 -0400"
      },
      "message": "[PATCH] bcm43xx: add to MAINTAINERS\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "818667f7c40dd0bd14029b5ac1d0f5282e12310e",
      "tree": "f270cfb4caeb26bceec7ea61ba93e268eae57324",
      "parents": [
        "dac322e39a2b82871cf514c9a533f24a1b4c7e19"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 20 20:02:03 2006 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 24 15:20:23 2006 -0400"
      },
      "message": "[PATCH] softmac: fix SIOCSIWAP\n\nThere are some bugs in the current implementation of the SIOCSIWAP wext,\nfor example that when you do it twice and it fails, it may still try\nanother access point for some reason. This patch fixes this by introducing\na new flag that tells the association code that the bssid that is in use\nwas fixed by the user and shouldn\u0027t be deviated from.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "dac322e39a2b82871cf514c9a533f24a1b4c7e19",
      "tree": "e64f39191f63e8c0dba6304890ad71b756e02990",
      "parents": [
        "6b426e785cb81e53dc2fc4dcf997661472b470ef"
      ],
      "author": {
        "name": "Pavel Roskin",
        "email": "proski@gnu.org",
        "time": "Mon Apr 17 11:36:43 2006 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 24 15:20:22 2006 -0400"
      },
      "message": "[PATCH] Fix crash on big-endian systems during scan\n\nThe original code was doing arithmetics on a little-endian value.\nReported by Stelios Koroneos \u003cstelios@stelioscellar.com\u003e\n\nSigned-off-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ],
  "next": "301dc3e6f6ea83703fa52919c00e60661da5a8fe"
}
