)]}'
{
  "log": [
    {
      "commit": "c1dcb4bb1e3e16e9baee578d9bb040e5fba1063e",
      "tree": "1bba995740aed8ef9a47111c1ee6ceeda84af836",
      "parents": [
        "60f8a8d4c6c46bb080e8e65d30be31b172a39a78",
        "6fdb2ee243404c7cbf530387bf904ad1841ebf5b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 08:08:44 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 08:08:44 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (23 commits)\n  firewire: ohci: extend initialization log message\n  firewire: ohci: fix IR/IT context mask mixup\n  firewire: ohci: add module parameter to activate quirk fixes\n  firewire: ohci: use an ID table for quirks detection\n  firewire: ohci: reorder struct fw_ohci for better cache efficiency\n  firewire: ohci: remove unused dualbuffer IR code\n  firewire: core: combine a bit of repeated code\n  firewire: core: change type of a data buffer\n  firewire: cdev: increment ABI version number\n  firewire: cdev: add more flexible cycle timer ioctl\n  firewire: core: rename an internal function\n  firewire: core: fix an information leak\n  firewire: core: increase stack size of config ROM reader\n  firewire: core: don\u0027t fail device creation in case of too large config ROM blocks\n  firewire: core: fix \"giving up on config rom\" with Panasonic AG-DV2500\n  firewire: remove incomplete Bus_Time CSR support\n  firewire: get_cycle_timer optimization and cleanup\n  firewire: ohci: enable cycle timer fix on ALi and NEC controllers\n  firewire: ohci: work around cycle timer bugs on VIA controllers\n  firewire: make PCI device id constant\n  ...\n"
    },
    {
      "commit": "086fa5ff0854c676ec333760f4c0154b3b242616",
      "tree": "ee63fb3c7c7d964bd799355b7cde18ba95f91f07",
      "parents": [
        "eb28d31bc97e6374d81f404da309401ffaed467b"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Feb 26 00:20:38 2010 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 26 13:58:08 2010 +0100"
      },
      "message": "block: Rename blk_queue_max_sectors to blk_queue_max_hw_sectors\n\nThe block layer calling convention is blk_queue_\u003climit name\u003e.\nblk_queue_max_sectors predates this practice, leading to some confusion.\nRename the function to appropriately reflect that its intended use is to\nset max_hw_sectors.\n\nAlso introduce a temporary wrapper for backwards compability.  This can\nbe removed after the merge window is closed.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "13b302d0a217580c0129b0641b0ca8b592e437b0",
      "tree": "aa895bb410b4262d9942a0f77fe623c7d610da0c",
      "parents": [
        "3c2c58cb33b3b15a2c4871babeec8fe1456e1db6"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Dec 26 01:44:10 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Dec 29 19:58:17 2009 +0100"
      },
      "message": "firewire: qualify config ROM cache pointers as const pointers\n\nSeveral config ROM related functions only peek at the ROM cache; mark\ntheir arguments as const pointers.  Ditto fw_device.config_rom and\nfw_unit.directory, as the memory behind them is meant to be write-once.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "9fb551bf72929b316abb6d96cfb2ec05e896042a",
      "tree": "63c52c2b3c6ee05b11176ce16fa3eb9c7b69edad",
      "parents": [
        "7e44c0b56b07a5e34de9943cfb2fee72e71a9f0e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Oct 08 00:41:10 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 14 23:10:48 2009 +0200"
      },
      "message": "firewire: normalize style of queue_work wrappers\n\nA few stylistic changes to unify some code patterns in the subsystem:\n\n  - The similar queue_delayed_work helpers fw_schedule_bm_work,\n    schedule_iso_resource, and sbp2_queue_work now have the same call\n    convention.\n  - Two conditional calls of schedule_iso_resource are factored into\n    another small helper.\n  - An sbp2_target_get helper is added as counterpart to\n    sbp2_target_put.\n\nObject size of firewire-core is decreased a little bit, object size of\nfirewire-sbp2 remains unchanged.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "eaf76e0d027a917a013ad8a88a94132d0feab622",
      "tree": "3a6a97af6160688b94a673e08ad77e3e3d032c77",
      "parents": [
        "544df55d6c1590bc21c86119b89a1689b1eb5e75"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Oct 08 00:39:31 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 14 21:55:19 2009 +0200"
      },
      "message": "firewire: sbp2: provide fallback if mgt_ORB_timeout is missing\n\nThe Unit_Characteristics entry of an SBP-2 unit directory is not\nmandatory as far as I can tell.  If it is missing, we would probably\nfail to log in into the target because firewire-sbp2 would not wait for\nstatus after it sent the login request.\n\nThe fix moves the cleanup of tgt-\u003emgt_orb_timeout into a place where it\nis executed exactly once before login, rather than 0..n times depending\non the target\u0027s config ROM.  With targets with one or more\nUnit_Characteristics entries, the result is the same as before.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "3c5f80357c3fb3170e39e5d0ae87ddd6652f36ac",
      "tree": "acec232dac1d945e79f9382783c05440389704f5",
      "parents": [
        "094614fc14966bc6a6259ade55f051fe17f36122"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Sep 06 19:33:50 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 12 14:48:40 2009 +0200"
      },
      "message": "firewire: sbp2: remove a workaround for Momobay FX-3A\n\nThe inquiry delay does more harm than good in tests on a recent kernel.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "094614fc14966bc6a6259ade55f051fe17f36122",
      "tree": "36ccc96edeb9dff1f947de727599b3d33a2efdd4",
      "parents": [
        "85cb9b68640cf467a99d4b6d518f1293222dbc9e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Sep 06 18:51:27 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 12 14:48:40 2009 +0200"
      },
      "message": "firewire: sbp2: fix status reception\n\nPer SBP-2 clause 5.3, a target shall store 8...32 bytes of status\ninformation.  Trailing zeros after the first 8 bytes don\u0027t need to be\nstored, they are implicit.  Fix the status write handler to clear all\nunwritten status data.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f815c335d21f9965f8dbe142fd168aaba1baf98e",
      "tree": "4e9a65b7810de10141595125cc65f2b0e7533dfc",
      "parents": [
        "74a01180db4bbfd61304ae0ba1f60af55ffc803d",
        "baed6b82d9f160184c1c14cdb4accb08f3eb6b87"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:59:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:59:00 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: sbp2: fix freeing of unallocated memory\n  firewire: ohci: fix Ricoh R5C832, video reception\n  firewire: ohci: fix Agere FW643 and multiple cameras\n  firewire: core: fix crash in iso resource management\n"
    },
    {
      "commit": "baed6b82d9f160184c1c14cdb4accb08f3eb6b87",
      "tree": "eaeee0797d802462447d5aefbb09ddbdefa69986",
      "parents": [
        "4fe0badd5882c64dc2dcd8893f9b85db63339736"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Sep 03 23:07:35 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 05 15:59:34 2009 +0200"
      },
      "message": "firewire: sbp2: fix freeing of unallocated memory\n\nIf a target writes invalid status (typically status of a command that\nalready timed out), firewire-sbp2 attempts to put away an ORB that\ndoesn\u0027t exist.  https://bugzilla.redhat.com/show_bug.cgi?id\u003d519772\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f63bafe55654caf3a62f73500eafd1b89ca6f7ff",
      "tree": "d8c80b71e1197fb805c07282139377e9542421ea",
      "parents": [
        "4148df9b0f38bdd362dd91d52076926c11cbe5a9",
        "ebbb16bffa646f853899ef3fdc0ac7abab888703"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 06 14:03:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 06 14:03:44 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  ieee1394: sbp2: add support for disks \u003e2 TB (and 16 bytes long CDBs)\n  firewire: sbp2: add support for disks \u003e2 TB (and 16 bytes long CDBs)\n  firewire: core: do not DMA-map stack addresses\n"
    },
    {
      "commit": "af2719415a5ceae06f2a6d33e78b555e64697fc8",
      "tree": "30c3a6a5b2dd100e8ecf06d722032f1190cc6710",
      "parents": [
        "6fdc03709433ccc2005f0f593ae9d9dd04f7b485"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jun 30 20:27:59 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jul 02 21:27:01 2009 +0200"
      },
      "message": "firewire: sbp2: add support for disks \u003e2 TB (and 16 bytes long CDBs)\n\nIncrease the command ORB data structure to transport up to 16 bytes long\nCDBs (instead of 12 bytes), and tell the SCSI mid layer about it.  This\nis notably necessary for READ CAPACITY(16) and friends, i.e. support of\nlarge disks.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f83b1e616f2f68b56b09b2f5116591981fee0c1c",
      "tree": "d8c423502853b46ec82c58ee31b695552579f7da",
      "parents": [
        "2f38d70fb4e97e7d00e12eaac45790cf6ebd7b22",
        "1e626fdcef61460dc75fe7377f38bb019722b848"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 14:29:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 14:29:46 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: core: use more outbound tlabels\n  firewire: core: don\u0027t update Broadcast_Channel if RFC 2734 conditions aren\u0027t met\n  firewire: core: prepare for non-core children of card devices\n  firewire: core: include linux/uaccess.h instead of asm/uaccess.h\n  firewire: add parent-of-unit accessor\n  firewire: rename source files\n  firewire: reorganize header files\n  firewire: clean up includes\n  firewire: ohci: access bus_seconds atomically\n  firewire: also use vendor ID in root directory for driver matches\n  firewire: share device ID table type with ieee1394\n  firewire: core: add sysfs attribute for easier udev rules\n  firewire: core: check for missing struct update at build time, not run time\n  firewire: core: improve check for local node\n"
    },
    {
      "commit": "e5110d011e03030926872457f05e49e3d5031737",
      "tree": "09037ffddcea6f5b8b18ab20035904408d2869ea",
      "parents": [
        "e71d31da062095d8b0b02a26fb5e8879e8d3d0de"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jun 06 18:35:27 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jun 06 21:45:50 2009 +0200"
      },
      "message": "firewire: add parent-of-unit accessor\n\nRetrieval of an fw_unit\u0027s parent is a common pattern in high-level code.\nWrap it up as device \u003d fw_parent_device(unit).\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e71d31da062095d8b0b02a26fb5e8879e8d3d0de",
      "tree": "6d45660ec489d9d58bad51a02d8d8877b534e81b",
      "parents": [
        "77c9a5daa9c4d9b37812c9c69c7bcbb3f9399c3c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:18 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:18 2009 +0200"
      },
      "message": "firewire: rename source files\n\nThe source files of firewire-core, firewire-ohci, firewire-sbp2, i.e.\n \"drivers/firewire/fw-*.c\"\nare renamed to\n \"drivers/firewire/core-*.c\",\n \"drivers/firewire/ohci.c\",\n \"drivers/firewire/sbp2.c\".\n\nThe old fw- prefix was redundant to the directory name.  The new core-\nprefix distinguishes the files according to which driver they belong to.\n\nThis change comes a little late, but still before further firewire\ndrivers are added as anticipated RSN.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "77c9a5daa9c4d9b37812c9c69c7bcbb3f9399c3c",
      "tree": "54ea3c48e0663ef1b9f227ffff7710f0ea03f9a1",
      "parents": [
        "e8ca97021c8eb127bb04aec4e2420e1d66be371d"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:18 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:18 2009 +0200"
      },
      "message": "firewire: reorganize header files\n\nThe three header files of firewire-core, i.e.\n \"drivers/firewire/fw-device.h\",\n \"drivers/firewire/fw-topology.h\",\n \"drivers/firewire/fw-transaction.h\",\nare replaced by\n \"drivers/firewire/core.h\",\n \"include/linux/firewire.h\".\n\nThe latter includes everything which a firewire high-level driver (like\nfirewire-sbp2) needs besides linux/firewire-constants.h, while core.h\ncontains the rest which is needed by firewire-core itself and by low-\nlevel drivers (card drivers) like firewire-ohci.\n\nHigh-level drivers can now also reside outside of drivers/firewire\nwithout having to add drivers/firewire to the header file search path in\nmakefiles.  At least the firedtv driver will be such a driver.\n\nI also considered to spread the contents of core.h over several files,\none for each .c file where the respective implementation resides.  But\nit turned out that most core .c files will end up including most of the\ncore .h files.  Also, the combined core.h isn\u0027t unreasonably big, and it\nwill lose more of its contents to linux/firewire.h anyway soon when more\nfirewire drivers are added.  (IP-over-1394, firedtv, and there are plans\nfor one or two more.)\n\nFurthermore, fw-ohci.h is renamed to ohci.h.  The name of core.h and\nohci.h is chosen with regard to name changes of the .c files in a\nfollow-up change.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e8ca97021c8eb127bb04aec4e2420e1d66be371d",
      "tree": "bc9e6c3597eff48632f57903e5cd0d3456fe8d7a",
      "parents": [
        "3dcdc50079bc2c9dbc6524518976353f743f7ec8"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 04 21:09:38 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:17 2009 +0200"
      },
      "message": "firewire: clean up includes\n\nInclude required headers which were only indirectly included.\nRemove unused includes and an unused constant.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b3b2988841ac6215e137e34e38b71acc915d1f00",
      "tree": "a79df9327881a789f22f97ccebb4618008bf8529",
      "parents": [
        "0210b66dd88a2a1e451901b00378a2068b6ccb35"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 15 23:12:34 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:17 2009 +0200"
      },
      "message": "firewire: share device ID table type with ieee1394\n\nThat way, the new firedtv driver will be able to use a single ID table\nin builds against ieee1394 core and/or against firewire core.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "53dca51175cc2f66d21aeb1e70146cca65c53dad",
      "tree": "da729da20cc4ca1cb994fa6659be7f23259f7097",
      "parents": [
        "2dbd7d7e2327b0c2cc4e2de903e1cfa19980a504"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 14 21:47:04 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:40 2009 +0100"
      },
      "message": "firewire: remove line breaks before function names\n\ntype\n    function_name(parameters);\n\nis nice to look at but was not used consistently.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c8c4707cf7ca8ff7dcc1653447e48cb3de0bf114",
      "tree": "ec762cadd6708c5fb309e53dab6763c14b6f822c",
      "parents": [
        "5e2125677fd72d36396cc537466e07ffcbbd4b2b"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jan 29 00:11:59 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jan 29 20:19:48 2009 +0100"
      },
      "message": "firewire: sbp2: add workarounds for 2nd and 3rd generation iPods\n\nAccording to https://bugs.launchpad.net/bugs/294391\n  - 3rd generation iPods need the \"fix capacity\" workaround after all\n    (apparently they crash after the last sector was accessed),\n  - 2nd generation iPods need the \"128 kB maximum request size\"\n    workaround.\n\nAlas both iPod generations feature the same model ID in the config ROM,\nhence we can only define a shared quirks list entry for them.  Luckily\nthe fix capacity workaround did not show a negative effect in Jarod\u0027s\ntests with 2nd gen. iPod.\n\nA side note:  Apple computers in target mode (or at least an x86 Mac\nmini) don\u0027t have firmware_version and model_id, hence none of the iPod\nquirks list entries is active for them.\n\nTested-by: Jarod Wilson \u003cjarod@redhat.com\u003e\nAcked-by: Jarod Wilson \u003cjarod@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5e2125677fd72d36396cc537466e07ffcbbd4b2b",
      "tree": "ad20a0cf11e5cafa83064412ccf91c05baba6e2e",
      "parents": [
        "f746072abc12d0e10ecd7847f1846157fde15987"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 28 01:03:34 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 28 20:31:08 2009 +0100"
      },
      "message": "firewire: sbp2: fix DMA mapping leak on the failure path\n\nReported-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nwho also provided a first version of the fix.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f746072abc12d0e10ecd7847f1846157fde15987",
      "tree": "b58abd8312e1fe845f99aaa6a6071d1d04cd6d24",
      "parents": [
        "a08e100aece16e33a45b82924ad85f4066c4ed1c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jan 24 19:41:46 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 28 20:31:07 2009 +0100"
      },
      "message": "firewire: sbp2: define some magic numbers as macros\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a08e100aece16e33a45b82924ad85f4066c4ed1c",
      "tree": "7d231251c6b8abdf14614098954f49c6cb5843f6",
      "parents": [
        "c1fbdd78517a9323ea5f5767c8ceb10aabc40fc2"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jan 24 19:41:46 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 28 20:31:07 2009 +0100"
      },
      "message": "firewire: sbp2: fix payload limit at S1600 and S3200\n\n1394-2008 clause 16.3.4.1 (1394b-2002 clause 16.3.1.1) defines tighter\nlimits than 1394-2008 clause 6.2.2.3 (1394a-2000 clause 6.2.2.3).\n\nOur previously too large limit doesn\u0027t matter though if the controller\nreports its max_receive correctly.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "621f6dd715209d3c3c27841943ae71fc2c75c9f5",
      "tree": "469765325836481fc06d1954ed8265e0020149d9",
      "parents": [
        "c82cdea1e1cb3790788d04ef5cab33488e1455c9"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Oct 26 11:04:20 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 23:50:36 2009 +0100"
      },
      "message": "firewire: fw-sbp2: remove unnecessary locking\n\nWhat was I thinking when I added sbp2_set_generation()?  Its locking did\nnothing (except for implicitly providing the necessary barrier between\nnode IDs update and generation update).\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "031bb27c4bf77c2f60b3f3dea8cce63ef0d1fba9",
      "tree": "2b6bca69ee4ee53366dcd8797b764a19caf2c3f7",
      "parents": [
        "9e0de91011ef6fe6eb3bb63f7ea15f586955660a"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Nov 22 12:38:58 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Nov 25 21:38:31 2008 +0100"
      },
      "message": "firewire: fw-sbp2: another iPod mini quirk entry\n\nAdd another model ID of a broken firmware to prevent early I/O errors\nby acesses at the end of the disk.  Reported at linux1394-user,\nhttp://marc.info/?t\u003d122670842900002\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a1f64819fe9f136c98d572794a35a7e377c951ef",
      "tree": "9e5c7b3c4d45c319838b75cb014cc03d8c29cd65",
      "parents": [
        "cd1f70fdb4823c97328a1f151f328eb36fafd579"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Oct 30 01:41:56 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Oct 31 08:48:25 2008 +0100"
      },
      "message": "firewire: struct device - replace bus_id with dev_name(), dev_set_name()\n\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "cd1f70fdb4823c97328a1f151f328eb36fafd579",
      "tree": "43810548ecebf6bc8329a1c6454584d81151c758",
      "parents": [
        "0dcfeb7e3c8695c5aa3677dda8efb9bef2e7e64d"
      ],
      "author": {
        "name": "Jay Fenlason",
        "email": "fenlason@redhat.com",
        "time": "Fri Oct 24 15:26:20 2008 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Oct 26 10:27:01 2008 +0100"
      },
      "message": "firewire: fw-sbp2: fix races\n\n1: There is a small race between queue_delayed_work() and its\n   corresponding kref_get().  Do the kref_get first, and _put it again\n   if the queue_delayed_work() failed, so there is no chance of the\n   kref going to zero while the work is scheduled.\n2: An SBP2_LOGOUT_REQUEST could be sent out with a login_id full of\n   garbage.  Initialize it to an invalid value so we can tell if we\n   ever got a valid login_id.\n3: The node ID and generation may have changed but the new values may\n   not yet have been recorded in lu and tgt when the final logout is\n   attempted.  Use the latest values from the device in\n   sbp2_release_target().\n\nSigned-off-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "0dcfeb7e3c8695c5aa3677dda8efb9bef2e7e64d",
      "tree": "1b810e6cec5bc303c16806d4e33b2923a122a1ee",
      "parents": [
        "7007a0765e33bf89182e069e35ec6009fa54f610"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 22 00:28:36 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Oct 26 10:27:01 2008 +0100"
      },
      "message": "firewire: fw-sbp2: delay first login to avoid retries\n\nThis optimizes firewire-sbp2\u0027s device probe for the case that the local\nnode and the SBP-2 node were discovered at the same time.  In this case,\nfw-core\u0027s bus management work and fw-sbp2\u0027s login and SCSI probe work\nare scheduled in parallel (in the globally shared workqueue and in\nfw-sbp2\u0027s workqueue, respectively).  The bus reset from fw-core may then\ndisturb and extremely delay the login and SCSI probe because the latter\nfails with several command timeouts and retries and has to be retried\nfrom scratch.\n\nWe avoid this particular situation of sbp2_login() and fw_card_bm_work()\nrunning in parallel by delaying the first sbp2_login() a little bit.\n\nThis is meant to be a short-term fix for\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d466679.  In the long run,\nthe SCSI probe, i.e. fw-sbp2\u0027s call of __scsi_add_device(), should be\nparallelized with sbp2_reconnect().\n\nProblem reported and fix tested and confirmed by Alex Kanavin.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "4bbc1bdd010cbfcb749e4f947161ec3ab3337893",
      "tree": "77478b6c1bc693ba4dbddd4bd14c063846ec63c9",
      "parents": [
        "09b12dd4e3caff165a0f17a2f3ebd2bbc8544cc6"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 09 20:22:17 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 15 22:21:10 2008 +0200"
      },
      "message": "firewire: fw-sbp2: fix another small generation access bug\n\nqueuecommand() looked at the remote and local node IDs before it read\nthe bus generation.  The corresponding race with sbp2_reconnect updating\nthese data was probably impossible to happen though because the current\ncode blocks the SCSI layer during reconnection.  However, better safe\nthan sorry, especially if someone later improves the code to not block\nthe SCSI layer.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "09b12dd4e3caff165a0f17a2f3ebd2bbc8544cc6",
      "tree": "877cbb8887a2b2d0f2b8a512cce3bacf4643e48c",
      "parents": [
        "1e119fa9950dfe0e6d97470098db776110ca47a9"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Aug 14 21:47:21 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 15 22:21:10 2008 +0200"
      },
      "message": "firewire: fw-sbp2: enforce s/g segment size limit\n\n1. We don\u0027t need to round the SBP-2 segment size limit down to a\n   multiple of 4 kB (0xffff -\u003e 0xf000).  It is only necessary to\n   ensure quadlet alignment (0xffff -\u003e 0xfffc).\n\n2. Use dma_set_max_seg_size() to tell the DMA mapping infrastructure\n   and the block IO layer about the restriction.  This way we can\n   remove the size checks and segment splitting in the queuecommand\n   path.\n\n   This assumes that no other code in the firewire stack uses\n   dma_map_sg() with conflicting requirements.  It furthermore assumes\n   that the controller device\u0027s platform actually allows us to set the\n   segment size to our liking.  Assert the latter with a BUG_ON().\n\n3. Also use blk_queue_max_segment_size() to tell the block IO layer\n   about it.  It cannot know it because our scsi_add_host() does not\n   point to the FireWire controller\u0027s device.\n\nThanks to Grant Grundler and FUJITA Tomonori for advice.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1e119fa9950dfe0e6d97470098db776110ca47a9",
      "tree": "02ad70ddae6d5cf4869c628e44dae97686a03d97",
      "parents": [
        "fc392fe83176cefbab99f9d12e6e27395aa2b5d0"
      ],
      "author": {
        "name": "Jay Fenlason",
        "email": "fenlason@redhat.com",
        "time": "Sun Jul 20 14:20:53 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 15 22:21:09 2008 +0200"
      },
      "message": "firewire: fw_send_request_sync()\n\nShare code between fw_send_request + wait_for_completion callers.\n\nSigned-off-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\n\nAddendum:\nRemoves an unnecessary struct and an ununsed retry loop.\nCalls it fw_run_transaction() instead of fw_send_request_sync().\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "8d8bb39b9eba32dd70e87fd5ad5c5dd4ba118e06",
      "tree": "64090a84f4c4466f9f30ff46c993e0cede379052",
      "parents": [
        "c485b465a031b6f9b9a51300e0ee1f86efc6db87"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Jul 25 19:44:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:03 2008 -0700"
      },
      "message": "dma-mapping: add the device argument to dma_mapping_error()\n\nAdd per-device dma_mapping_ops support for CONFIG_X86_64 as POWER\narchitecture does:\n\nThis enables us to cleanly fix the Calgary IOMMU issue that some devices\nare not behind the IOMMU (http://lkml.org/lkml/2008/5/8/423).\n\nI think that per-device dma_mapping_ops support would be also helpful for\nKVM people to support PCI passthrough but Andi thinks that this makes it\ndifficult to support the PCI passthrough (see the above thread).  So I\nCC\u0027ed this to KVM camp.  Comments are appreciated.\n\nA pointer to dma_mapping_ops to struct dev_archdata is added.  If the\npointer is non NULL, DMA operations in asm/dma-mapping.h use it.  If it\u0027s\nNULL, the system-wide dma_ops pointer is used as before.\n\nIf it\u0027s useful for KVM people, I plan to implement a mechanism to register\na hook called when a new pci (or dma capable) device is created (it works\nwith hot plugging).  It enables IOMMUs to set up an appropriate\ndma_mapping_ops per device.\n\nThe major obstacle is that dma_mapping_error doesn\u0027t take a pointer to the\ndevice unlike other DMA operations.  So x86 can\u0027t have dma_mapping_ops per\ndevice.  Note all the POWER IOMMUs use the same dma_mapping_error function\nso this is not a problem for POWER but x86 IOMMUs use different\ndma_mapping_error functions.\n\nThe first patch adds the device argument to dma_mapping_error.  The patch\nis trivial but large since it touches lots of drivers and dma-mapping.h in\nall the architecture.\n\nThis patch:\n\ndma_mapping_error() doesn\u0027t take a pointer to the device unlike other DMA\noperations.  So we can\u0027t have dma_mapping_ops per device.\n\nNote that POWER already has dma_mapping_ops per device but all the POWER\nIOMMUs use the same dma_mapping_error function.  x86 IOMMUs use device\nargument.\n\n[akpm@linux-foundation.org: fix sge]\n[akpm@linux-foundation.org: fix svc_rdma]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix bnx2x]\n[akpm@linux-foundation.org: fix s2io]\n[akpm@linux-foundation.org: fix pasemi_mac]\n[akpm@linux-foundation.org: fix sdhci]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix sparc]\n[akpm@linux-foundation.org: fix ibmvscsi]\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2635f96f9086409de0ec882a210f374c012bffc3",
      "tree": "4c8418db42a6fa20cda7154c77426e8b0acf6642",
      "parents": [
        "3719122a520af2957031859317e74858ab4d3f4b"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun May 11 00:36:47 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jul 14 13:00:18 2008 +0200"
      },
      "message": "firewire: fw-sbp2: spin disks down on suspend and shutdown\n\nThis instructs sd_mod to send START STOP UNIT on suspend and resume,\nand on driver unbinding or unloading (including when the system is shut\ndown).\n\nWe don\u0027t do this though if multiple initiators may log in to the target.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nTested-by: Tino Keitel \u003ctino.keitel@gmx.de\u003e\n"
    },
    {
      "commit": "ffcaade3109c3a4c0a2c601cf2a44d55b4c3af37",
      "tree": "8288472adbff8a5dc0ac8d8e0a556fcf13359b8d",
      "parents": [
        "d2886ea368a67704ecc13e69075f18a9d74cb12b"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun May 11 00:35:04 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jul 14 13:00:17 2008 +0200"
      },
      "message": "firewire: fw-sbp2: fix spindown for PL-3507 and TSB42AA9 firmwares\n\nReported by Tino Keitel:  PL-3507 with firmware from Prolific does not\nspin down the disk on START STOP UNIT with power condition \u003d 0 and start\n\u003d 0.  It does however work with power condition \u003d 2 or 3.\n\nAlso found while investigating this:  DViCO Momobay CX-1 and FX-3A (TI\nTSB42AA9/A based) become unresponsive after START STOP UNIT with power\ncondition \u003d 0 and start \u003d 0.  They stay responsive if power condition is\nset when stopping the motor.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nTested-by: Tino Keitel \u003ctino.keitel@gmx.de\u003e\n"
    },
    {
      "commit": "0e3e2eabf4fbc0162e1f1eb4fd90cb3e9513a554",
      "tree": "89691ff7227cc09dcb32c72cd7295c16665aaa34",
      "parents": [
        "543cf4cb3fe6f6cae3651ba918b9c56200b257d0"
      ],
      "author": {
        "name": "Richard Sharpe",
        "email": "realrichardsharpe@gmail.com",
        "time": "Tue Jun 24 19:11:13 2008 -0700"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 27 20:55:00 2008 +0200"
      },
      "message": "firewire: fw-sbp2: fix parsing of logical unit directories\n\nThere is a small off-by-one bug in firewire-sbp2. This causes problems\nwhen a device exports multiple LUN Directories. I found it when trying\nto talk to a SONY DVD Jukebox.\n\nSigned-off-by: Richard Sharpe \u003crealrichardsharpe@gmail.com\u003e\nAcked-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (op. order, changelog)\n"
    },
    {
      "commit": "d626e3bf728c47746f2129aa00c775d4e8c2a73b",
      "tree": "551a8c362c7b9833e7848bc6167cf322f75563a1",
      "parents": [
        "b66e1f11ebc429569a3784aaf64123633d9e3ed1",
        "7ad4a485002c141f156a014e89542e01e7f8e36a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 02 13:52:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 02 13:52:35 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6:\n  [SCSI] aic94xx: fix section mismatch\n  [SCSI] u14-34f: Fix 32bit only problem\n  [SCSI] dpt_i2o: sysfs code\n  [SCSI] dpt_i2o: 64 bit support\n  [SCSI] dpt_i2o: move from virt_to_bus/bus_to_virt to dma_alloc_coherent\n  [SCSI] dpt_i2o: use standard __init / __exit code\n  [SCSI] megaraid_sas: fix suspend/resume sections\n  [SCSI] aacraid: Add Power Management support\n  [SCSI] aacraid: Fix jbod operations scan issues\n  [SCSI] aacraid: Fix warning about macro side-effects\n  [SCSI] add support for variable length extended commands\n  [SCSI] Let scsi_cmnd-\u003ecmnd use request-\u003ecmd buffer\n  [SCSI] bsg: add large command support\n  [SCSI] aacraid: Fix down_interruptible() to check the return value correctly\n  [SCSI] megaraid_sas; Update the Version and Changelog\n  [SCSI] ibmvscsi: Handle non SCSI error status\n  [SCSI] bug fix for free list handling\n  [SCSI] ipr: Rename ipr\u0027s state scsi host attribute to prevent collisions\n  [SCSI] megaraid_mbox: fix Dell CERC firmware problem\n"
    },
    {
      "commit": "64a87b244b9297667ca80264aab849a36f494884",
      "tree": "554d78d1cfe594b92409a19b3ed1d32efcbd31cc",
      "parents": [
        "9f5de6b105bfa45911d46566df0b36720b648c42"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Apr 30 11:19:47 2008 +0300"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri May 02 10:18:22 2008 -0500"
      },
      "message": "[SCSI] Let scsi_cmnd-\u003ecmnd use request-\u003ecmd buffer\n\n - struct scsi_cmnd had a 16 bytes command buffer of its own.\n   This is an unnecessary duplication and copy of request\u0027s\n   cmd. It is probably left overs from the time that scsi_cmnd\n   could function without a request attached. So clean that up.\n\n - Once above is done, few places, apart from scsi-ml, needed\n   adjustments due to changing the data type of scsi_cmnd-\u003ecmnd.\n\n - Lots of drivers still use MAX_COMMAND_SIZE. So I have left\n   that #define but equate it to BLK_MAX_CDB. The way I see it\n   and is reflected in the patch below is.\n   MAX_COMMAND_SIZE - means: The longest fixed-length (*) SCSI CDB\n                      as per the SCSI standard and is not related\n                      to the implementation.\n   BLK_MAX_CDB.     - The allocated space at the request level\n\n - I have audit all ISA drivers and made sure none use -\u003ecmnd in a DMA\n   Operation. Same audit was done by Andi Kleen.\n\n(*)fixed-length here means commands that their size can be determined\n   by their opcode and the CDB does not carry a length specifier, (unlike\n   the VARIABLE_LENGTH_CMD(0x7f) command). This is actually not exactly\n   true and the SCSI standard also defines extended commands and\n   vendor specific commands that can be bigger than 16 bytes. The kernel\n   will support these using the same infrastructure used for VARLEN CDB\u0027s.\n   So in effect MAX_COMMAND_SIZE means the maximum size command\n   scsi-ml supports without specifying a cmd_len by ULD\u0027s\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "f32ddaddf95d8a30be5a41cf681bc8792bc42ec7",
      "tree": "84dc50bb608427bf26151cc6670def9b54d0ef50",
      "parents": [
        "07c7224cf74c3977c69c7c9a0b0fba264f2df36a"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Apr 24 23:17:47 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 01 19:55:24 2008 +0200"
      },
      "message": "firewire: fw-sbp2: log scsi_target ID at release\n\nMakes the good-by message more informative.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "c9755e14a01987ada4063e8b4c50c2b6738d879e",
      "tree": "41a593c4b9ac10ccc4ad031510438e4551e51b5b",
      "parents": [
        "1dadff71d6356ebb804c3f4f1d3049247e16111c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Mar 24 20:54:28 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:36 2008 +0200"
      },
      "message": "firewire: reread config ROM when device reset the bus\n\nWhen a device changes its configuration ROM, it announces this with a\nbus reset.  firewire-core has to check which node initiated a bus reset\nand whether any unit directories went away or were added on this node.\n\nTested with an IOI FWB-IDE01AB which has its link-on bit set if bus\npower is available but does not respond to ROM read requests if self\npower is off.  This implements\n  - recognition of the units if self power is switched on after fw-core\n    gave up the initial attempt to read the config ROM,\n  - shutdown of the units when self power is switched off.\n\nAlso tested with a second PC running Linux/ieee1394.  When the eth1394\ndriver is inserted and removed on that node, fw-core now notices the\naddition and removal of the IPv4 unit on the ieee1394 node.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "17cff9ff871bb5081cade4f99a9e9382b9f1c01c",
      "tree": "f6bd2d184722b5796c1ada8a2b7790d615a6f194",
      "parents": [
        "a5fd9ec7a29202f388fc011a11cfb0101d9f9a34"
      ],
      "author": {
        "name": "Jarod Wilson",
        "email": "jwilson@redhat.com",
        "time": "Fri Mar 07 01:43:31 2008 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:33 2008 +0200"
      },
      "message": "firewire: fw-sbp2: set dual-phase cycle_limit\n\nTry to write dual-phase retry protocol limits to BUSY_TIMEOUT register.\n- The dual-phase retry protocol is optional to implement, and if not \n  supported, writes to the dual-phase portion of the register will be\n  ignored. We try to write the original 1394-1995 default here.\n- In the case of devices that are also SBP-3-compliant, all writes are \n  ignored, as the register is read-only, but contains single-phase retry of\n  15, which is what we\u0027re trying to set for all SBP-2 device anyway, so this\n  write attempt is safe and yields more consistent behavior for all devices.\n\nSee section 8.3.2.3.5 of the 1394-1995 spec, section 6.2 of the SBP-2 spec,\nand section 6.4 of the SBP-3 spec for further details.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a5fd9ec7a29202f388fc011a11cfb0101d9f9a34",
      "tree": "619a741876cca9bebc8f7527c99a744fde03182b",
      "parents": [
        "6f73100cbbb9728c098bd05e9363d206b9eeab47"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Feb 28 20:53:45 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:32 2008 +0200"
      },
      "message": "firewire: fw-sbp2: reduce log noise\n\nThe block/unblock logic is now sufficiently tested.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "6f73100cbbb9728c098bd05e9363d206b9eeab47",
      "tree": "79ae3757d8a07880705b180b24574b51dd42724b",
      "parents": [
        "0d7dcbf2a3b6042351948ecf1f171eb3f1d72cd3"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Feb 28 20:52:43 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:32 2008 +0200"
      },
      "message": "firewire: fw-sbp2: remove unnecessary memset\n\norb came from kzalloc.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "0d7dcbf2a3b6042351948ecf1f171eb3f1d72cd3",
      "tree": "e9d029fe7bc10224ce760321d7a875c78e3e3ada",
      "parents": [
        "71ee9f01f2bc2b717dacc69c85f257e1efff12ee"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Feb 28 20:52:02 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:32 2008 +0200"
      },
      "message": "firewire: fw-sbp2: simplify some macros\n\nHow hard can it be to switch on one bit? :-)\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "71ee9f01f2bc2b717dacc69c85f257e1efff12ee",
      "tree": "069af5c0544d200ffffc5c7c274e51fbcceac459",
      "parents": [
        "8ac3a47cab32e5e5a40de4bc210b5b0063bf6e84"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Feb 28 20:51:11 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:32 2008 +0200"
      },
      "message": "firewire: fw-sbp2: remove usages of fw_memcpy_to_be32\n\nWrite directly in big endian instead of byte-swapping after the fact.\nThis saves a few conversions, lets gcc use constant endianess\nconversions where possible, and enables deeper endianess annotation.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "8ac3a47cab32e5e5a40de4bc210b5b0063bf6e84",
      "tree": "0bbc0b630c25f5d326db973e4bb103393fe69b88",
      "parents": [
        "1dc3bea78b6cd71c2017aa5da076684c049d8b98"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 27 22:31:27 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:32 2008 +0200"
      },
      "message": "firewire: fw-sbp2: relax SCSI DMA alignment\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1dc3bea78b6cd71c2017aa5da076684c049d8b98",
      "tree": "7bbdc2ca8204d48701e2d0b895da217bde49c711",
      "parents": [
        "7c1fca336661aaeb70b9094c4b8eaae389027509"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 24 19:01:21 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:32 2008 +0200"
      },
      "message": "firewire: refactor fw_unit reference counting\n\nAdd wrappers for getting and putting a unit.\nRemove some line breaks.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "7c1fca336661aaeb70b9094c4b8eaae389027509",
      "tree": "42280426496b607a08d3fa5689a2107bf5f1738b",
      "parents": [
        "bd7dee6311156b7cdf884344feb34628909398ad"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 24 19:00:51 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:31 2008 +0200"
      },
      "message": "firewire: fw-sbp2: fix reference counting\n\nThe reference count of the unit dropped too low in an error path in\nsbp2_probe.  Fixed by moving the _get further up.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "2aa9ff7fc5bc41d4b77c2da02086259a86f3d472",
      "tree": "8341570b097f64418079152fac840cdbae1dcd95",
      "parents": [
        "0a8da30dc7bd6828f42d9f0585367731f634a0c8"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 11 22:32:03 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 14 00:56:59 2008 +0100"
      },
      "message": "firewire: fw-sbp2: fix for SYM13FW500 bridge (Datafab disk)\n\nFix I/O errors due to SYM13FW500\u0027s inability to handle larger request\nsizes.  Reported by Piergiorgio Sartor \u003cpiergiorgio.sartor@nexgo.de\u003e in\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d436879\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "51f9dbef5be41f3ff6000c874741a3a357f9bad7",
      "tree": "9ee2f70c6ce881624fc35aabc0129cafeb8fee0c",
      "parents": [
        "11bf20ad028880a56689f086bfbabfd88b2af38b"
      ],
      "author": {
        "name": "Jarod Wilson",
        "email": "jwilson@redhat.com",
        "time": "Fri Mar 07 01:43:01 2008 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 14 00:56:59 2008 +0100"
      },
      "message": "firewire: fw-sbp2: set single-phase retry_limit\n\nPer the SBP-2 specification, all SBP-2 target devices must have a BUSY_TIMEOUT\nregister. Per the 1394-1995 specification, the retry_limt portion of the\nregister should be set to 0x0 initially, and set on the target by a logged in\ninitiator (i.e., a Linux host w/firewire controller(s)).\n\nWell, as it turns out, lots of devices these days have actually moved on to\nstarting to implement SBP-3 compliance, which says that retry_limit should\ndefault to 0xf instead (yes, SBP-3 stomps directly on 1394-1995, oops).\n\nPrior to this change, the firewire driver stack didn\u0027t touch retry_limit, and\nany SBP-3 compliant device worked fine, while SBP-2 compliant ones were unable\nto retransmit when the host returned an ack_busy_X, which resulted in stalled\nout I/O, eventually causing the SCSI layer to give up and offline the device.\n\nThe simple fix is for us to set retry_limit to 0xf in the register for all\ndevices (which actually matches what the old ieee1394 stack did).\n\nPrior to this change, a hard disk behind an SBP-2 Prolific PL-3507 bridge chip\nwould routinely encounter buffer I/O errors and wind up offlined by the SCSI\nlayer. With this change, I\u0027ve encountered zero I/O failures moving tens of GB\nof data around.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "855c603d61ede7e2810217f15f0d574b4f29c891",
      "tree": "fb5c1ad387a48fb659da98aff66058a7d94fa4c0",
      "parents": [
        "15803478fdea964e5f76079851fcd13068208d5d"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 27 22:14:27 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 02 12:35:46 2008 +0100"
      },
      "message": "firewire: fix crash in automatic module unloading\n\n\"modprobe firewire-ohci; sleep .1; modprobe -r firewire-ohci\" used to\nresult in crashes like this:\n\n    BUG: unable to handle kernel paging request at ffffffff8807b455\n    IP: [\u003cffffffff8807b455\u003e]\n    PGD 203067 PUD 207063 PMD 7c170067 PTE 0\n    Oops: 0010 [1] PREEMPT SMP\n    CPU 0\n    Modules linked in: i915 drm cpufreq_ondemand acpi_cpufreq freq_table applesmc input_polldev led_class coretemp hwmon eeprom snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss button thermal processor sg snd_hda_intel snd_pcm snd_timer snd snd_page_alloc sky2 i2c_i801 rtc [last unloaded: crc_itu_t]\n    Pid: 9, comm: events/0 Not tainted 2.6.25-rc2 #3\n    RIP: 0010:[\u003cffffffff8807b455\u003e]  [\u003cffffffff8807b455\u003e]\n    RSP: 0018:ffff81007dcdde88  EFLAGS: 00010246\n    RAX: ffff81007dc95040 RBX: ffff81007dee5390 RCX: 0000000000005e13\n    RDX: 0000000000008c8b RSI: 0000000000000001 RDI: ffff81007dee5388\n    RBP: ffff81007dc5eb40 R08: 0000000000000002 R09: ffffffff8022d05c\n    R10: ffffffff8023b34c R11: ffffffff8041a353 R12: ffff81007dee5388\n    R13: ffffffff8807b455 R14: ffffffff80593bc0 R15: 0000000000000000\n    FS:  0000000000000000(0000) GS:ffffffff8055a000(0000) knlGS:0000000000000000\n    CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\n    CR2: ffffffff8807b455 CR3: 0000000000201000 CR4: 00000000000006e0\n    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n    Process events/0 (pid: 9, threadinfo ffff81007dcdc000, task ffff81007dc95040)\n    Stack:  ffffffff8023b396 ffffffff88082524 0000000000000000 ffffffff8807d9ae\n    ffff81007dc5eb40 ffff81007dc9dce0 ffff81007dc5eb40 ffff81007dc5eb80\n    ffff81007dc9dce0 ffffffffffffffff ffffffff8023be87 0000000000000000\n    Call Trace:\n    [\u003cffffffff8023b396\u003e] ? run_workqueue+0xdf/0x1df\n    [\u003cffffffff8023be87\u003e] ? worker_thread+0xd8/0xe3\n    [\u003cffffffff8023e917\u003e] ? autoremove_wake_function+0x0/0x2e\n    [\u003cffffffff8023bdaf\u003e] ? worker_thread+0x0/0xe3\n    [\u003cffffffff8023e813\u003e] ? kthread+0x47/0x74\n    [\u003cffffffff804198e0\u003e] ? trace_hardirqs_on_thunk+0x35/0x3a\n    [\u003cffffffff8020c008\u003e] ? child_rip+0xa/0x12\n    [\u003cffffffff8020b6e3\u003e] ? restore_args+0x0/0x3d\n    [\u003cffffffff8023e68a\u003e] ? kthreadd+0x14c/0x171\n    [\u003cffffffff8023e68a\u003e] ? kthreadd+0x14c/0x171\n    [\u003cffffffff8023e7cc\u003e] ? kthread+0x0/0x74\n    [\u003cffffffff8020bffe\u003e] ? child_rip+0x0/0x12\n\n    Code:  Bad RIP value.\n    RIP  [\u003cffffffff8807b455\u003e]\n    RSP \u003cffff81007dcdde88\u003e\n    CR2: ffffffff8807b455\n    ---[ end trace c7366c6657fe5bed ]---\n\nNote that this crash happened _after_ firewire-core was unloaded.  The\nshared workqueue tried to run firewire-core\u0027s device initialization jobs\nor similar jobs.\n\nThe fix makes sure that firewire-ohci and hence firewire-core is not\nunloaded before all device shutdown jobs have been completed.  This is\ndetermined by the count of device initializations minus device releases.\n\nAlso skip useless retries in the node initialization job if the node is\nto be shut down.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "f8436158b1d76e6842856048f287799468b56eb2",
      "tree": "45f1b707668819b83fee5a8d82a7c5333b989f0f",
      "parents": [
        "d395991c117d43bfca97101a931a41d062a93852"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 26 23:30:02 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 02 12:35:46 2008 +0100"
      },
      "message": "firewire: fw-sbp2: better fix for NULL pointer dereference in scsi_remove_device\n\nPatch \"firewire: fw-sbp2: fix NULL pointer deref. in scsi_remove_device\"\nhad the unintended effect that firewire-sbp2 could not be unloaded\nanymore until all SBP-2 devices were unplugged.\n\nWe now fix the NULL pointer bug by reacquiring a reference to the sdev\ninstead of holding a reference to the sdev (and to the module) all the\ntime.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nTested-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "33f1c6c3529f5f279e2e98e5cca0c5bac152153b",
      "tree": "5eceff887057fb621e4e96c1eb51665ff6d91669",
      "parents": [
        "5513c5f6f9bd8c8ad3727130910fa288c62526a7"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 19 09:05:49 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 19 19:57:23 2008 +0100"
      },
      "message": "firewire: fw-sbp2: fix NULL pointer deref. in scsi_remove_device\n\nFix a kernel bug when unplugging an SBP-2 device after having its\nscsi_device already removed via the \"delete\" sysfs attribute.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5513c5f6f9bd8c8ad3727130910fa288c62526a7",
      "tree": "0212d6211a5d8e6429b340c19448c2654efc50f1",
      "parents": [
        "2e2705bdcb959372d54bf7f79dd9a555ec2adfb4"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 17 14:56:19 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 19 19:57:23 2008 +0100"
      },
      "message": "firewire: fw-sbp2: fix NULL pointer deref. in slave_alloc\n\nFix a kernel bug when running rescan-scsi-bus while a FireWire disk is\nconnected:  http://bugzilla.kernel.org/show_bug.cgi?id\u003d10008\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "2e2705bdcb959372d54bf7f79dd9a555ec2adfb4",
      "tree": "18d08c5282e2cd6de52df89944bc874508d51fb6",
      "parents": [
        "e80de3704ac30ddb7f9a12447a2ecee32ccd7880"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 16 16:37:28 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 19 19:57:23 2008 +0100"
      },
      "message": "firewire: fw-sbp2: (try to) avoid I/O errors during reconnect\n\nWhile fw-sbp2 takes the necessary time to reconnect to a logical unit\nafter bus reset, the SCSI core keeps sending new commands.  They are all\nimmediately completed with host busy status, and application clients or\nfilesystems will break quickly.  The SCSI device might even be taken\noffline:  http://bugzilla.kernel.org/show_bug.cgi?id\u003d9734\n\nThe only remedy seems to be to block the SCSI device until reconnect.\nAlas the SCSI core has no useful API to block only one logical unit i.e.\nthe scsi_device, therefore we block the entire Scsi_Host.  This\ncurrently corresponds to an SBP-2 target.  In case of targets with\nmultiple logical units, we need to satisfy the dependencies between\nlogical units by carefully tracking the blocking state of the target and\nits units.  We block all logical units of a target as soon as one of\nthem needs to be blocked, and keep them blocked until all of them are\nready to be unblocked.\n\nFurthermore, as the history of the old sbp2 driver has shown, the\nscsi_block_requests() API is a minefield with high potential of\ndeadlocks.  We therefore take extra measures to keep logical units\nunblocked during __scsi_add_device() and during shutdown.\n\nThis avoids I/O errors during reconnect in many but alas not in all\ncases.  There may still be errors after a re-login had to be performed.\nAlso, some bridges have been seen to cease fetching management ORBs if\nI/O went on up until a bus reset.  In these cases, all management ORBs\ntime out after mgt_orb_timeout.  The old sbp2 driver is less vulnerable\nor maybe not vulnerable to this, for as yet unknown reasons.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e80de3704ac30ddb7f9a12447a2ecee32ccd7880",
      "tree": "87ffc83df0d904b48af17177266ba604c2a3fd86",
      "parents": [
        "7bb6bf7c8ba0b4ccfecaa00d6faea51b0bd42c8c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Feb 15 21:29:02 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 16 15:40:35 2008 +0100"
      },
      "message": "firewire: fw-sbp2: enforce a retry of __scsi_add_device if bus generation changed\n\nfw-sbp2 is unable to reconnect while performing __scsi_add_device\nbecause there is only a single workqueue thread context available for\nboth at the moment.  This should be fixed eventually.\n\nAn actual failure of __scsi_add_device is easy to handle, but an\nincomplete execution of __scsi_add_device with an sdev returned would\nremain undetected and leave the SBP-2 target unusable.\n\nTherefore we use a workaround:  If there was a bus reset during\n__scsi_add_device (i.e. during the SCSI probe), we remove the new sdev\nimmediately, log out, and attempt login and SCSI probe again.\n\nTested-by: Jarod Wilson \u003cjwilson@redhat.com\u003e (earlier version)\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "7bb6bf7c8ba0b4ccfecaa00d6faea51b0bd42c8c",
      "tree": "874194df5775c8409ab8e7cb3f8d52d87f0f992e",
      "parents": [
        "ce896d95cc7886ae05859c5b409a7b2f3b606ec1"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 03 23:12:17 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 16 15:40:35 2008 +0100"
      },
      "message": "firewire: fw-sbp2: sort includes\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "ce896d95cc7886ae05859c5b409a7b2f3b606ec1",
      "tree": "c380b8830e1fbeea6eb91f5dc892cccdad5f796b",
      "parents": [
        "0fa6dfdb0a2768541e998a5dab10b368de56c60a"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 03 23:11:39 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 16 15:40:35 2008 +0100"
      },
      "message": "firewire: fw-sbp2: logout and login after failed reconnect\n\nIf fw-sbp2 was too late with requesting the reconnect, the target would\nreject this.  In this case, log out before attempting the reconnect.\nElse several firmwares will deny the re-login because they somehow\ndidn\u0027t invalidate the old login.\n\nAlso, don\u0027t retry reconnects in this situation.  The retries won\u0027t\nsucceed either.\n\nThese changes improve chances for successful re-login and shorten the\nperiod during which the logical unit is inaccessible.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "0fa6dfdb0a2768541e998a5dab10b368de56c60a",
      "tree": "3fac0c712c15107247c029f1802673e6553e57b7",
      "parents": [
        "48f18c761c001a66ef1928b42799c717368b1d64"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 03 23:10:47 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 16 15:40:35 2008 +0100"
      },
      "message": "firewire: fw-sbp2: don\u0027t add scsi_device twice\n\nWhen a reconnect failed but re-login succeeded, __scsi_add_device was\ncalled again.\n\nIn those cases, __scsi_add_device succeeded and returned the pointer to\nthe existing scsi_device.  fw-sbp2 then continued orderly, except that\nit missed to call sbp2_cancel_orbs.  SCSI core would call fw-sbp2\u0027s\neh_abort_handler eventually if there had been an outstanding command.\n\nThis patch avoids the needless lookups and temporary allocations in SCSI\ncore and I/O stall and timeout until eh_abort_handler hits.\n\nAlso, __scsi_add_device tolerating calls for devices which already exist\nis undocumented behavior on which we shouldn\u0027t rely.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "48f18c761c001a66ef1928b42799c717368b1d64",
      "tree": "ccbc2567ea6974b45bd6b265fe1b5ac1b6f75563",
      "parents": [
        "e0e60215552d4d40caf581a8d3247203fe948fe7"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 03 23:09:50 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 16 15:40:34 2008 +0100"
      },
      "message": "firewire: fw-sbp2: log bus_id at management request failures\n\nfor easier readable logs if more than one SBP-2 device is present.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "e0e60215552d4d40caf581a8d3247203fe948fe7",
      "tree": "654aa22d8d13692fe8aa30ea9cd7301fccdb5e67",
      "parents": [
        "d94a983526cb868658c958ab689410dc1c6a31f3"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 03 23:08:58 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 16 15:40:34 2008 +0100"
      },
      "message": "firewire: fw-sbp2: wait for completion of fetch agent reset\n\nLike the old sbp2 driver, wait for the write transaction to the\nAGENT_RESET to complete before proceeding (after login, after reconnect,\nor in SCSI error handling).\n\nThere is one occasion where AGENT_RESET is written to from atomic\ncontext when getting DEAD status for a command ORB.  There we still\ncontinue without waiting for the transaction to complete because this\nis more difficult to fix...\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "9220f1946209a5b3335ea2d28f8462695885791b",
      "tree": "0d581c7ffca745158b9a15095f5b5a6f209ba066",
      "parents": [
        "fa6e697b85d705d37b3b03829095c22bcbe95ab6"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 03 23:04:38 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 16 15:40:34 2008 +0100"
      },
      "message": "firewire: fw-sbp2: add INQUIRY delay workaround\n\nSeveral different SBP-2 bridges accept a login early while the IDE\ndevice is still powering up.  They are therefore unable to respond to\nSCSI INQUIRY immediately, and the SCSI core has to retry the INQUIRY.\nOne of these retries is typically successful, and all is well.\n\nBut in case of Momobay FX-3A, the INQUIRY retries tend to fail entirely.\nThis can usually be avoided by waiting a little while after login before\nletting the SCSI core send the INQUIRY.  The old sbp2 driver handles\nthis more gracefully for as yet unknown reasons (perhaps because it\nwaits for fetch agent resets to complete, unlike fw-sbp2 which quickly\nproceeds after requesting the agent reset).  Therefore the workaround is\nnot as much necessary for sbp2.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "be6f48b0174584c9c415012ca14803c7e941e27e",
      "tree": "cb9d0ee9363ee2782cc17dac772c767d77ab8c8e",
      "parents": [
        "96b19062e741b715cf399312c30e0672d8889569"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 27 19:14:44 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 16 15:40:33 2008 +0100"
      },
      "message": "firewire: fw-sbp2: don\u0027t retry login or reconnect after unplug\n\nIf a device is being unplugged while fw-sbp2 had a login or reconnect on\nschedule, it would take about half a minute to shut the fw_unit down:\n\n    Jan 27 18:34:54 stein firewire_sbp2: logged in to fw2.0 LUN 0000 (0 retries)\n    \u003cunplug\u003e\n    Jan 27 18:34:59 stein firewire_sbp2: sbp2_scsi_abort\n    Jan 27 18:34:59 stein scsi 25:0:0:0: Device offlined - not ready after error recovery\n    Jan 27 18:35:01 stein firewire_sbp2: orb reply timed out, rcode\u003d0x11\n    Jan 27 18:35:06 stein firewire_sbp2: orb reply timed out, rcode\u003d0x11\n    Jan 27 18:35:12 stein firewire_sbp2: orb reply timed out, rcode\u003d0x11\n    Jan 27 18:35:17 stein firewire_sbp2: orb reply timed out, rcode\u003d0x11\n    Jan 27 18:35:22 stein firewire_sbp2: orb reply timed out, rcode\u003d0x11\n    Jan 27 18:35:27 stein firewire_sbp2: orb reply timed out, rcode\u003d0x11\n    Jan 27 18:35:32 stein firewire_sbp2: orb reply timed out, rcode\u003d0x11\n    Jan 27 18:35:32 stein firewire_sbp2: failed to login to fw2.0 LUN 0000\n    Jan 27 18:35:32 stein firewire_sbp2: released fw2.0\n\nAfter this patch, typically only a few seconds spent in __scsi_add_device\nremain:\n\n    Jan 27 19:05:50 stein firewire_sbp2: logged in to fw2.0 LUN 0000 (0 retries)\n    \u003cunplug\u003e\n    Jan 27 19:05:56 stein firewire_sbp2: sbp2_scsi_abort\n    Jan 27 19:05:56 stein scsi 33:0:0:0: Device offlined - not ready after error recovery\n    Jan 27 19:05:56 stein firewire_sbp2: released fw2.0\n\nThe benefit of this is less noise in the syslog.  It furthermore avoids\na few wasted CPU cycles and needlessly prolonged lifetime of a few\ndriver objects.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "1b9c12ba2fdf802a23630f70eddb0e821296634e",
      "tree": "f581394b4d7b297619f4f0a62c490e57480fd3ec",
      "parents": [
        "05cca7381429e12d66c5b5c8b5c5848055b88bf7"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jan 26 17:43:23 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 16 15:40:32 2008 +0100"
      },
      "message": "firewire: fw-sbp2: fix logout before login retry\n\nThis fixes a \"can\u0027t recognize device\" kind of bug.\n\nIf the SCSI INQUIRY failed and hence __scsi_add_device failed due to a\nbus reset, we tried a logout and then waited for the already scheduled\nlogin work to happen.  So far so good, but the generation used for the\nlogout was outdated, hence the logout never reached the target.  The\ntarget might therefore deny the subsequent relogin attempt, which would\nalso leave the target inaccessible.\n\nTherefore fetch a fresh device-\u003egeneration for the logout.  Use memory\nbarriers to prevent our plan being foiled by compiler or hardware\noptimizations.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "05cca7381429e12d66c5b5c8b5c5848055b88bf7",
      "tree": "b2f0bf8edbb902dc14813441ea9f3600ed410c2d",
      "parents": [
        "19af35546de68c872dcb687613e0902a602cb20e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jan 26 17:42:45 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 16 15:40:32 2008 +0100"
      },
      "message": "firewire: fw-sbp2: unsigned int vs. unsigned\n\nStandardize on \"unsigned int\" style.\nSort some struct members thematically.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "384170da9384b7bb3650c0c9b9d17ba0f7bde4ff",
      "tree": "93d92b0d68a37a8b7785b0da5f7f477df851f2ef",
      "parents": [
        "a4c379c1979fbc417099cd22ba16735bc3625bbf"
      ],
      "author": {
        "name": "Jarod Wilson",
        "email": "jwilson@redhat.com",
        "time": "Fri Jan 25 23:31:12 2008 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:29 2008 +0100"
      },
      "message": "firewire: fw-sbp2: Use sbp2 device-provided mgt orb timeout for logins\n\nTo be more compliant with section 7.4.8 of the SBP-2 specification,\nuse the mgt_ORB_timeout specified in the SBP-2 device\u0027s config rom\nfor login ORB attempts (though with some sanity checks). A happy\nside-effect is that certain device and controller combinations that\nsometimes take more than 20 seconds to get synced up (like my laptop\nwith just about any SBP-2 device) now function more reliably.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (silenced sparse)\n"
    },
    {
      "commit": "a4c379c1979fbc417099cd22ba16735bc3625bbf",
      "tree": "e77b9dfbb1339d4867f62eeebc4798c0edd6e8f6",
      "parents": [
        "8f9f963e5d9853dbc5fa5091f15ae64f423d3d89"
      ],
      "author": {
        "name": "Jarod Wilson",
        "email": "jwilson@redhat.com",
        "time": "Sat Jan 19 13:15:05 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:28 2008 +0100"
      },
      "message": "firewire: fw-sbp2: increase login orb reply timeout, fix \"failed to login\"\n\nIncrease (and rename) the login orb reply timeout value to 20s\nto match that of the old firewire stack. 2s simply didn\u0027t give\nmany devices enough time to spin up and reply.\n\nFixes inability to recognize some devices.\nFailure mode was \"orb reply timed out\"/\"failed to login\".\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (style, comments, changelog)\n"
    },
    {
      "commit": "b5d2a5e04e6a26cb3f77af8cbc31e74c361d706c",
      "tree": "cfc3b2dc141f643bcf6ef065cca802340b335799",
      "parents": [
        "cf5a56ac8083dd04ffe8b9b2ec7895e9bcff44bc"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jan 25 18:57:41 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:27 2008 +0100"
      },
      "message": "firewire: enforce access order between generation and node ID, fix \"giving up on config rom\"\n\nfw_device.node_id and fw_device.generation are accessed without mutexes.\nWe have to ensure that all readers will get to see node_id updates\nbefore generation updates.\n\nFixes an inability to recognize devices after \"giving up on config rom\",\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d429950\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n\nReviewed by Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e.\n\nVerified to fix \u0027giving up on config rom\u0027 issues on multiple system and\ndrive combinations that were previously affected.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "5a8a1bcd15dfb9f177f3605fe6b9ba2bef2bf55a",
      "tree": "f74aad717dc774991e866400179c90064e6eaa0d",
      "parents": [
        "14dc992aa782f8759c6d117d4322db62f62600ce"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jan 24 01:53:19 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:26 2008 +0100"
      },
      "message": "firewire: fw-sbp2: use device generation, not card generation\n\nThere was a small window where a login or reconnect job could use an\nalready updated card generation with an outdated node ID.  We have to\nuse the fw_device.generation here, not the fw_card.generation, because\nthe generation must never be newer than the node ID when we emit a\ntransaction.  This cannot be guaranteed with fw_card.generation.\n\nFurthermore, the target\u0027s and initiator\u0027s node IDs can be obtained from\nfw_device and fw_card.  Dereferencing their underlying topology objects\nis not necessary.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n\nVerified in concert with subsequent memory barriers patch to fix \u0027giving\nup on config rom\u0027 issues on multiple system and drive combinations that\nwere previously affected.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "14dc992aa782f8759c6d117d4322db62f62600ce",
      "tree": "5f29e0420fd3a310ee86c4222bfa79c70f4d06ae",
      "parents": [
        "4dccd020d7ca5e673d7804cc4ff80fbf58d8a37e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 20 01:25:31 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:26 2008 +0100"
      },
      "message": "firewire: fw-sbp2: try to increase reconnect_hold (speed up reconnection)\n\nAsk the target to grant 4 seconds instead of the standard and minimum of\n1 second window after bus reset for reconnection.  This accelerates\nreconnection if there are more than one targets on the bus:  If a login\nand inquiry to one target blocks the fw-sbp2 workqueue for more than 1s\nafter bus reset, we now still can reconnect to the other target.\n\nBefore that, fw-sbp2\u0027s reconnect attempts would be rejected with \"error\nstatus: 0:9\" (function rejected), and fw-sbp2 would finally re-login.\nAll those futile reconnect attemps cost extra time until the target\nwhich needs re-login is ready for I/O again.\n\nThe reconnect timeout field in the login ORB doesn\u0027t have to be honored\nby the target though.  I found that we could get up to\n  - allegedly 32768s from an old OXFW911 firmware\n  - 256s from LSI bridges\n  - 4s from OXUF922 and OXFW912 bridges,\n  - 2s from TI bridges,\n  - only the standard 1s from Initio and Prolific bridges and from\n    Apple OpenFirmware in target mode.\n\nWe just try to get 4 seconds which already covers the case of a few\nHDDs on the same bus quite nicely.\n\nA minor drawback occurs in the following (rare and impractical) border\ncase:\n  - two initiators are there, initiator 1 holds an exclusive login to\n    a target,\n  - initiator 1 goes off the bus,\n  - target refuses login attempts from initiator 2 until reconnect_hold\n    seconds after bus reset.\n\nAn alternative approach to the issue at hand would be to parallelize\nfw-sbp2\u0027s reconnect and login work.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "4dccd020d7ca5e673d7804cc4ff80fbf58d8a37e",
      "tree": "d9d1c5a6c218b8d8aeb35ce7c0a3848298d8c490",
      "parents": [
        "f148e20cef696e30a370d4f7cb9aeb46273fdd6e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 20 01:24:26 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:26 2008 +0100"
      },
      "message": "firewire: fw-sbp2: skip unnecessary logout\n\nDon\u0027t attempt to send a logout ORB if the target was already unplugged\nor had its link switched off.  If two targets are attached, this\nenhances the chance to quickly reconnect to the remaining target when\none target is plugged out.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "4b11ea96a08a0f97a16edba55a615354c6d846b5",
      "tree": "110366f1241ae8cc023653d1e9b0cd2cf0a3f900",
      "parents": [
        "b7811da2d94d8e1f77015ec9afa4575ddc9981a4"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 16 17:32:11 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:22 2008 +0100"
      },
      "message": "firewire: fw-sbp2: remove unused misleading macro\n\nSBP2_MAX_SECTORS is nowhere used in fw-sbp2.\nIt merely got copied over from sbp2 where it played a role in the past.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b7811da2d94d8e1f77015ec9afa4575ddc9981a4",
      "tree": "4f748f80416635303fbe9d82e19aa65d7777e847",
      "parents": [
        "285838eb22ef0db77b464da70b7352cdbfffc939"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jan 15 21:10:50 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:22 2008 +0100"
      },
      "message": "firewire: fw-sbp2: prepare for s/g chaining\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "285838eb22ef0db77b464da70b7352cdbfffc939",
      "tree": "c346c7bbc284622bbf76e9f30f05a65ad8859067",
      "parents": [
        "85c5798b09e9248f29edbc42f10b99842661e85c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Nov 07 01:12:51 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:21 2008 +0100"
      },
      "message": "firewire: fw-sbp2: refactor workq and kref handling\n\nThis somewhat reduces the size of firewire-sbp2.ko.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "465ff3185e0cb76d46137335a4d21d0d9d3ac8a2",
      "tree": "171068cd7d99600cd094c2eb72bac712649fd9eb",
      "parents": [
        "11c3e689f1c3a73e3af7b0ea767b1b0626da8033"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Jan 01 10:00:10 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:29:22 2008 -0600"
      },
      "message": "[SCSI] relax scsi dma alignment\n\nThis patch relaxes the default SCSI DMA alignment from 512 bytes to 4\nbytes.  I remember from previous discussions that usb and firewire have\nsector size alignment requirements, so I upped their alignments in the\nrespective slave allocs.\n\nThe reason for doing this is so that we don\u0027t get such a huge amount of\ncopy overhead in bio_copy_user() for udev.  (basically all inquiries it\nissues can now be directly mapped).\n\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "7c45d1913f0a1d597eb4bc3b2c962bc2967da9ea",
      "tree": "49a6bd70e0d221ba6456d6a3c2e403e7d5f5bfaf",
      "parents": [
        "dbeeb816e805091e7cfc03baf36dc40b4adb2bbd"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Nov 07 01:11:56 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Nov 07 01:59:28 2007 +0100"
      },
      "message": "firewire: fw-sbp2: fix refcounting\n\nSince patch \"fw-sbp2: use an own workqueue (fix system responsiveness)\"\nincreased parallelism between fw-sbp2 and fw-core, it was possible that\nfw-sbp2 didn\u0027t release the SCSI device when the FireWire device was\ndisconnected.\n\nThis happened if sbp2_update() ran during sbp2_login(), because a bus\nreset occurred during sbp2_login().  The sbp2_login() work would [try\nto] reschedule itself because it failed due to the bus reset, and it\nwould _not_ drop its reference on the target.  However, sbp2_update()\nwould schedule sbp2_login() too before sbp2_login() rescheduled itself\nand hence sbp2_update() would take an additional reference.  And then\nwe would have one reference too many.\n\nThe fix is to _always_ drop the reference when leaving the sbp2_login()\nwork.  If the sbp2_login() work reschedules itself, it takes a\nreference, but only if it wasn\u0027t already rescheduled by sbp2_update().\n\nDitto in the sbp2_reconnect() work.\n\nThe resulting code is actually simpler than before:  We _always_ take\na reference when successfully scheduling work.  And we _always_ drop\na reference when leaving a workqueue job.  No exceptions.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "df8ec2490fed5dd23316bbb2c2e90e59e7d37126",
      "tree": "398b8a3e8ab2e1de31a17104b92981b9960c3e39",
      "parents": [
        "2df222b8f8fe9e18c9c9fdfd46f60dad55f5ac14"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Aug 12 12:51:18 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 17 00:00:04 2007 +0200"
      },
      "message": "firewire: fw-sbp2: use an own workqueue (fix system responsiveness)\n\nFirewire-sbp2 did very uncooperative things in the kernel\u0027s shared\nworkqueue:  Sleeping until reception of management status from the\ntarget for up to 2 seconds, and performing SCSI inquiry and all of the\nsetup of SCSI command set drivers via scsi_add_device.  If there were\ntransient or permanent error conditions, this caused long blockage of\nthe kernel\u0027s events process, noticeable e.g. by blocked keyboard input.\n\nWe now allocate a workqueue process exclusive to fw-sbp2.  As a side\neffect, this also increases parallelism of fw-sbp2\u0027s login and reconnect\nwork versus fw-core\u0027s device discovery and device update work which is\nperformed in the shared workqueue.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "2df222b8f8fe9e18c9c9fdfd46f60dad55f5ac14",
      "tree": "d01c8f5a5840c8e975d50ca84d20bb581876030e",
      "parents": [
        "5a3c2be6c9a5641a06c71c906645d676fa4d3fdc"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Aug 13 17:48:25 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 17 00:00:03 2007 +0200"
      },
      "message": "firewire: fw-sbp2: expose module parameter for workarounds\n\nOn rare occasions, the ability to set one of the workaround flags at\nruntime may save the day.\n\nPeople who experience I/O errors with firewire-sbp2 while the old sbp2\ndriver worked for them should try workarounds\u003d1 and report to the devel\nmailinglist whether that improves things.  Firewire-sbp2 defaults to the\nSCSI stack\u0027s maximum transfer size per command, while sbp2 limits them\nto 128 kBytes.  Flag 1 accomplishes just that.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5a3c2be6c9a5641a06c71c906645d676fa4d3fdc",
      "tree": "6c639fecc4f8e7b613e79065b5edb4a3293287d8",
      "parents": [
        "1b34e97441384d527c438a6ee597bfc800373bce"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 25 14:05:28 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 17 00:00:03 2007 +0200"
      },
      "message": "firewire: fw-sbp2: add support for multiple logical units per target\n\nFixes \"New firewire stack only recognizing half of a chain of drives\",\nhttps://bugzilla.redhat.com/bugzilla/show_bug.cgi?id\u003d242254\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1b34e97441384d527c438a6ee597bfc800373bce",
      "tree": "2a4bacf54f5615babbf31a850ccc31781620c375",
      "parents": [
        "930e4b7fe3b4e1c4e14b9c22e4c9c74dc8db75f3"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 25 10:40:42 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 17 00:00:02 2007 +0200"
      },
      "message": "firewire: fw-sbp2: always enable IRQs before calling command ORB callback\n\nOn IOMMU-less noncoherent architectures, orb-\u003ecallback will memcpy the\nwhole SCSI command buffer for READ-like SCSI commands.  It is therefore\nfriendlier to enable IRQs before the call, like before patch \"Add\nref-counting for sbp2 orbs\".\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "e57d2011a6276d55a87f26653a0395f302ce0d51",
      "tree": "36392a46eaa7d0697b233c6da151e3ca1034f9f1",
      "parents": [
        "8a2d9ed3210464d22fccb9834970629c1c36fa36"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Fri Aug 24 18:59:58 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 25 18:00:27 2007 +0200"
      },
      "message": "firewire: Add ref-counting for sbp2 orbs (fix command abortion)\n\nThis handles the case where we get the status write before getting the\ncomplete_transaction callback (\"status write for unknown orb\").  In\nthis case, we just assume that the initial orb pointer transaction\nsucceeded and finish the orb.  To prevent the transaction callback\nfrom touching freed memory, we ref-count the orb structures.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "25659f7183376c6b37661da6141d5eaa21479061",
      "tree": "7ac9590d43a3c2b7760a88c00a39c1eb0f231745",
      "parents": [
        "e4f8cac5e07528f7e0bc21d3682c16c9de993ecb"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jul 21 22:43:05 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Aug 02 20:34:16 2007 +0200"
      },
      "message": "firewire: fw-sbp2: set correct maximum payload (fixes CardBus adapters)\n\nAs far as I know, all CardBus FireWire 400 adapters have a maximum\npayload of 1024 bytes which is less than the speed-dependent limit of\n2048 bytes.  Fw-sbp2 has to take the host adapter\u0027s limit into account.\n\nThis apparently fixes Juju\u0027s incompatibility with my CardBus cards, a\nNEC based card and a VIA based card.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "e6f194d8f6f50da6837af637b2fd839c34185f7a",
      "tree": "f3c479a2bc24d49a150ff183e2614ee0f76cb366",
      "parents": [
        "7578634990fb47cc30083fbd812689aa6deacfc0",
        "b91421749a1840148d8c81637c03c0ace3f35269"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 22 11:36:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 22 11:36:49 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (60 commits)\n  [SCSI] libsas: make ATA functions selectable by a config option\n  [SCSI] bsg: unexport sg v3 helper functions\n  [SCSI] bsg: fix bsg_unregister_queue\n  [SCSI] bsg: make class backlinks\n  [SCSI] 3w-9xxx: add support for 9690SA\n  [SCSI] bsg: fix bsg_register_queue error path\n  [SCSI] ESP: Increase ESP_BUS_TIMEOUT to 275.\n  [SCSI] libsas: fix scr_read/write users and update the libata documentation\n  [SCSI] mpt fusion: update Kconfig help\n  [SCSI] scsi_transport_sas: add destructor for bsg\n  [SCSI] iscsi_tcp: buggered kmalloc()\n  [SCSI] qla2xxx: Update version number to 8.02.00-k2.\n  [SCSI] qla2xxx: Add ISP25XX support.\n  [SCSI] qla2xxx: Use pci_try_set_mwi().\n  [SCSI] qla2xxx: Use PCI-X/PCI-Express read control interfaces.\n  [SCSI] qla2xxx: Re-factor isp_operations to static structures.\n  [SCSI] qla2xxx: Validate mid-layer \u0027underflow\u0027 during check-condition handling.\n  [SCSI] qla2xxx: Correct setting of \u0027current\u0027 and \u0027supported\u0027 speeds during FDMI registration.\n  [SCSI] qla2xxx: Generalize iIDMA support.\n  [SCSI] qla2xxx: Generalize FW-Interface-2 support.\n  ...\n"
    },
    {
      "commit": "b02b6bc46571b21a545c9e697df1e226ff22bc81",
      "tree": "4088bb8494b057ecbee2a360556eb90600121755",
      "parents": [
        "b4e44590f0811e629faf2de4aea15e752d83ce3d"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Wed May 09 19:23:12 2007 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.localdomain",
        "time": "Thu Jul 19 12:06:26 2007 -0500"
      },
      "message": "[SCSI] Make scsi_host_template::proc_name const char * instead of char *.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n\ncollapsed with fw-sbp2 patch \"Drop cast to non-const char * in host\ntemplate initialization.\" from Kristian HÃ¸gsberg\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "412edf654a04138805fcda2b46a842f681023eeb",
      "tree": "4f920eea62646900f3c6606c15cbea75ebaf9e14",
      "parents": [
        "9c9bdf4d50730fd04b06077e22d7a83b585f26b5"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jul 16 21:05:41 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jul 18 23:53:28 2007 +0200"
      },
      "message": "firewire: fw-sbp2: convert to new SCSI data buffer accessors\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "7aa484815f8c4defd01366f239b71da5e6b8a791",
      "tree": "63bf30875b700b603fdbaa317a523cbfe6d57496",
      "parents": [
        "8526392ae816a2c69f57097ba032865523019caa"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jul 02 21:04:44 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jul 10 00:07:49 2007 +0200"
      },
      "message": "firewire: fw-sbp2: fix DMA mapping of management ORBs\n\nThe CPU must not touch the buffer after it was DMA-mapped.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "8526392ae816a2c69f57097ba032865523019caa",
      "tree": "7f8b8e9e9298297bfd77740dbbe4e08d1c691ba3",
      "parents": [
        "b4be016ad81af5a83f0be820edf106de883e6ade"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jul 02 21:04:08 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jul 10 00:07:48 2007 +0200"
      },
      "message": "firewire: fw-sbp2: fix DMA mapping of command ORBs\n\nThe CPU must not touch the buffer after it was DMA-mapped.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "b4be016ad81af5a83f0be820edf106de883e6ade",
      "tree": "f15e6577aee7b098ba52bb3f8dfeaa2af61c3716",
      "parents": [
        "332ef3310bc37ff29fd4382d6dfb38a787078091"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jul 02 22:07:34 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jul 10 00:07:48 2007 +0200"
      },
      "message": "firewire: fw-sbp2: fix DMA mapping of S/G tables\n\n  - The CPU must not touch the buffer after it was DMA-mapped.\n  - The size argument of dma_unmap_single(...page_table...) was bogus.\n  - Move a comment closer to the code to which it refers to.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "332ef3310bc37ff29fd4382d6dfb38a787078091",
      "tree": "63313482ee19fffea5900bacf52c1c660528f72a",
      "parents": [
        "9fb2dd12c019965ffd15e5a0727af14488b3a772"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jul 01 13:56:03 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jul 10 00:07:47 2007 +0200"
      },
      "message": "firewire: fw-sbp2: add a boundary check\n\nAdd rudimentary check for the case that the page table overflows due to\nmerging of s/g elements by the IOMMU.  This would have lead to\noverwriting of arbitrary memory.\n\nAfter this change I expect that an offending command will be\nunsuccessfully retried until the scsi_device is taken offline by SCSI\ncore.  It\u0027s a border case and not worth to implement a recovery\nstrategy.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "9fb2dd12c019965ffd15e5a0727af14488b3a772",
      "tree": "4d0209e6b3cbfd0d683235abb92dd3740ca0ebe5",
      "parents": [
        "e7cdf237b2a8b4b566721cfb08e448b454c74ada"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jul 01 13:55:31 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jul 10 00:07:47 2007 +0200"
      },
      "message": "firewire: fw-sbp2: correctly align page tables\n\nThis is required per SBP-2 clause 5.2.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "e7cdf237b2a8b4b566721cfb08e448b454c74ada",
      "tree": "feb815707653f5b208ab90b57d16a61831c80893",
      "parents": [
        "ffd0db26ddc32cd87097ece9725921f43ad487ee"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jul 01 13:54:57 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jul 10 00:07:47 2007 +0200"
      },
      "message": "firewire: fw-sbp2: memset wants string.h\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "ffd0db26ddc32cd87097ece9725921f43ad487ee",
      "tree": "4fbdf85f62c2ed09ae9bec79f3c2f7092e8acc02",
      "parents": [
        "6f061487f7d31427d7e8f420f366e5537ae16f43"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jul 01 13:54:24 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jul 10 00:07:46 2007 +0200"
      },
      "message": "firewire: fw-sbp2: use correct speed in sbp2_agent_reset\n\nnoticed by Jay Fenlason\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "6f061487f7d31427d7e8f420f366e5537ae16f43",
      "tree": "bba76e89a1ef9585f8105f61d2b72251b518701c",
      "parents": [
        "7ada60e367640fa8a4a349d9b105f235f346238b"
      ],
      "author": {
        "name": "Jay Fenlason",
        "email": "fenlason@redhat.com",
        "time": "Wed Jun 27 16:04:33 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jul 10 00:07:46 2007 +0200"
      },
      "message": "firewire: fw-sbp2: correctly dereference by container_of\n\nReplace a cast with a container_of().  As long as nobody reorders the\nstructure elements, they do the same thing, but container_of() is more\nreadable.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (added complete_command_orb)\nAcked-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "5cd54c94b0ba45033c126237d3d70c6e7ab52c3f",
      "tree": "accad6fabda5c58bd7dc728470f0f56edcba6a3f",
      "parents": [
        "79352e9f94cff4078f2ffefac4a41b7f14046fb6"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 17 23:55:41 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jul 10 00:07:45 2007 +0200"
      },
      "message": "firewire: fw-sbp2: implement nonexclusive login\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "79352e9f94cff4078f2ffefac4a41b7f14046fb6",
      "tree": "906bf0c06e5bab125a157b45791b29014d912931",
      "parents": [
        "cf47c7a26ca13b944900dce208890c5b6d5f3a14"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jun 18 18:46:49 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jul 10 00:07:44 2007 +0200"
      },
      "message": "firewire: fw-sbp2: let SCSI shutdown commands through before logout\n\nThis affects of course only the \"soft shutdown\" case, e.g. \"modprobe -r\nfirewire-sbp2\", while it doesn\u0027t matter for hot unplug.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "cf47c7a26ca13b944900dce208890c5b6d5f3a14",
      "tree": "b0351b1c0124ad80ea09631ccfc9e1c3ba6b9dd2",
      "parents": [
        "dae1a3aa8ebdd30fbba56a8d4e22f92455fb0861"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 17 23:52:08 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jul 10 00:07:44 2007 +0200"
      },
      "message": "firewire: fw-sbp2: implement max sectors limit for some old bridges\n\nThis currently only affects one bridge in the hardwired blacklist.\nI don\u0027t own one of those, hence haven\u0027t tested it.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f1397490017e337446c6a8b0562b584679a604a6",
      "tree": "073c65b0fe78e02b529285ec1bffe5a5c7612e69",
      "parents": [
        "24d40125f1f59a6de9d9e6e046676bd60532596c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 10 21:31:36 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jul 10 00:07:43 2007 +0200"
      },
      "message": "firewire: support S100B...S400B and link slower than PHY\n\nUse a speed probe to determine the speed over 1394b buses and of nodes\nwhich report a link speed less than their PHY speed.\n\nLog the effective maximum speed of newly created nodes in dmesg.\n\nAlso, read the config ROM (except bus info block) at the maximum speed\nrather than S100.  This isn\u0027t a real optimization though because we\nstill only use quadlet read requests for the entire ROM.\n\nThe patch also adds support for S1600 and S3200, although such hardware\ndoes not exist yet.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "8a8cea2734808522f02941ea16125810ee42c9c7",
      "tree": "f1cbb4e92c1a4b55cfd9d82d8a82c24827168717",
      "parents": [
        "b8f106570f20a7a98a18a14c2d11d65f581c2808"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jun 09 19:26:22 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jul 10 00:07:42 2007 +0200"
      },
      "message": "firewire: missing newline in printk\n\nAlso remove some errno printouts which will be shown by infrastructure\ncode anyway.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b8f106570f20a7a98a18a14c2d11d65f581c2808",
      "tree": "64b7fe1a8093de7009dac380c7fc78fb29a18e13",
      "parents": [
        "53c96b41742a2dadd14e65c23fc119f2a2fd9f05"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri May 11 23:04:08 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jul 10 00:07:42 2007 +0200"
      },
      "message": "firewire: fw-sbp2: remove unused struct member\n\ncleanup after support of single-buffer requests was dropped\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "14e2198646d92ef52a69d20269580a3fbe7c996b",
      "tree": "ff9522f74da61ade0ab3739a35ea90b85fd91fea",
      "parents": [
        "d7794c86686a05276de42f145e485099426aca68"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun May 27 13:18:27 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 31 21:40:13 2007 +0200"
      },
      "message": "firewire: fw-sbp2: implement sysfs ieee1394_id\n\nThe attribute /sys/bus/scsi/devices/*:*:*:*/ieee1394_id, as generated by\nthe old sbp2 driver, is typically used to create persistently named\nlinks in /dev/disk/by-id.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "2d826cc5c791bdc5f5651324c485746be9492be0",
      "tree": "7c46ff209d06f1f8949aa2c3e10491594d10e203",
      "parents": [
        "213d7bbd76673fb1b26f1786af180bac07e57652"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Wed May 09 19:23:14 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 10 18:24:14 2007 +0200"
      },
      "message": "firewire: Always use parens with sizeof.\n\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "213d7bbd76673fb1b26f1786af180bac07e57652",
      "tree": "d4c150f778add3c46c4d98a943765db73428b13e",
      "parents": [
        "36abb3b18e26bf980e8529512853c5d73971a48b"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Wed May 09 19:23:11 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 10 18:24:14 2007 +0200"
      },
      "message": "firewire: Drop single buffer request support.\n\nThe SCSI layer only passes sg requests down, so drop the\nuse_sg \u003d\u003d 0, request_bufflen !\u003d 0 case.\n\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    }
  ],
  "next": "36abb3b18e26bf980e8529512853c5d73971a48b"
}
