)]}'
{
  "log": [
    {
      "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": "a7b64b8704b03c9972b114932fdf517e06153f11",
      "tree": "e6d183d2f703b6126e95948fb667edbbee69d703",
      "parents": [
        "ae1e53557911d7e60a637b2400173add958aae94"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jun 14 14:24:53 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 19 00:12:35 2008 +0200"
      },
      "message": "firewire: Kconfig menu touch-up\n\nEmphasize the recommendation to build only one stack.\nTrim the prompts to better fit into short attention spans.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "ae1e53557911d7e60a637b2400173add958aae94",
      "tree": "eb0e731e5ac2afcb3e39abacd6942bec7b8b52cd",
      "parents": [
        "161b96e782ec995c55843101976d9c35b57aa109"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jun 18 18:20:45 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 19 00:12:35 2008 +0200"
      },
      "message": "firewire: deadline for PHY config transmission\n\nIf the low-level driver failed to initialize a card properly without\nnoticing it, fw-core was blocked indefinitely when trying to send a\nPHY config packet.  This hung up the events kernel thread, e.g. locked\nup keyboard input.\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d444694\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d446763\n\nThis problem was introduced between 2.6.25 and 2.6.26-rc1 by commit\n2a0a2590498be7b92e3e76409c9b8ee722e23c8f \"firewire: wait until PHY\nconfiguration packet was transmitted (fix bus reset loop)\".\n\nThe solution is to wait with timeout.  I tested it with 7 different\nworking controllers and 1 non-working controller.  On the working ones,\nthe packet callback complete()s usually --- but not always --- before a\ntimeout of 10ms.  Hence I chose a safer timeout of 100ms.\n\nOn the few tests with the non-working controller ALi M5271, PHY config\npacket transmission always timed out so far.  (Fw-ohci needs to be fixed\nfor this controller independently of this deadline fix.  Often the core\ndoesn\u0027t even attempt to send a phy config because not even self ID\nreception works.)\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "161b96e782ec995c55843101976d9c35b57aa109",
      "tree": "b84cb7fb8ec81c67b8b34087a2a1e926db9bb47b",
      "parents": [
        "5cb84067d646fa3889463129dad8b218806b4698"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jun 14 14:23:43 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 19 00:12:35 2008 +0200"
      },
      "message": "firewire: fw-ohci: unify printk prefixes\n\nThe messages which can be enabled by fw-ohci\u0027s debug module parameter\nare changed from KERN_DEBUG to KERN_NOTICE level and uniformly prefixed\nwith \"firewire_ohci: \".  This further simplifies communication with\nusers when we ask them to capture debug messages.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5cb84067d646fa3889463129dad8b218806b4698",
      "tree": "081afef7668bf0e3e496fbefbe2d6256efb2d2dd",
      "parents": [
        "affc9c24ade666f9903163c12686da567dbfe06f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 06 22:11:30 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 19 00:12:35 2008 +0200"
      },
      "message": "firewire: fill_bus_reset_event needs lock protection\n\nCallers of fill_bus_reset_event() have to take card-\u003elock.  Otherwise\naccess to node data may oops if node removal is in progress.\n\nA lockless alternative would be\n\n-\tevent-\u003elocal_node_id \u003d card-\u003elocal_node-\u003enode_id;\n+\ttmp \u003d fw_node_get(card-\u003elocal_node);\n+\tevent-\u003elocal_node_id \u003d tmp-\u003enode_id;\n+\tfw_node_put(tmp);\n\nand ditto with the other node pointers which fill_bus_reset_event()\naccesses.  But I went the locked route because one of the two callers\nalready holds the lock.  As a bonus, we don\u0027t need the memory barrier\nanymore because device-\u003egeneration and device-\u003enode_id are written in\na card-\u003elock protected section.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "affc9c24ade666f9903163c12686da567dbfe06f",
      "tree": "3beff66f52c3201bd24b6dd6777c2942373c9881",
      "parents": [
        "e896ec4302f45fdaf2fc78aec0093eca5478fe28"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 05 20:50:53 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 19 00:12:35 2008 +0200"
      },
      "message": "firewire: fw-ohci: write selfIDBufferPtr before LinkControl.rcvSelfID\n\nOHCI 1.1 clause 5.10 requires that selfIDBufferPtr is valid when a 1 is\nwritten into LinkControl.rcvSelfID.\n\nThis driver bug has so far not been known to cause harm because most\nchips obviously accept a later selfIDBufferPtr write, at least before\nHCControl.linkEnable is written.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "e896ec4302f45fdaf2fc78aec0093eca5478fe28",
      "tree": "2fe7eb6553d17401477cb8ae27bd0d9bb43386fe",
      "parents": [
        "ccff962943df539c5860aa120eecc189d70a308b"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 05 20:49:38 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 19 00:12:34 2008 +0200"
      },
      "message": "firewire: fw-ohci: disable PHY packet reception into AR context\n\nWe want the rcvPhyPkt bit in LinkControl off before we start using the\nchip.  However, the spec says that the reset value of it is undefined.\nHence switch it explicitly off.\n\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d244576#c48 shows that for\nexample the nForce2 integrated FireWire controller seems to have it on\nby default.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "ccff962943df539c5860aa120eecc189d70a308b",
      "tree": "645f031d3b751a30e20ce65e364948fb9426f7b2",
      "parents": [
        "0bf607c5b4edd13362e4add6ca1e81f8a9fbd47c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat May 31 19:36:06 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 19 00:12:34 2008 +0200"
      },
      "message": "firewire: fw-ohci: use of uninitialized data in AR handler\n\nheader_length and payload_length are filled with random data if an\nunknown tcode was read from the AR buffer (i.e. if the AR buffer\ncontained invalid data).\n\nWe still need a better strategy to recover from this, but at least\nhandle_ar_packet now doesn\u0027t return out of bound buffer addresses\nanymore.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "0bf607c5b4edd13362e4add6ca1e81f8a9fbd47c",
      "tree": "cfd10d0025df679ee525aacfbc7479e8fffe90aa",
      "parents": [
        "952f4a0a9b27e6dbd5d32e330b3f609ebfa0b061"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat May 31 19:01:26 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 19 00:12:34 2008 +0200"
      },
      "message": "firewire: don\u0027t panic on invalid AR request buffer\n\nBUG() at this place is wrong.  (Unless if the low level driver would\nalready do higher-level input validation of incoming request headers.)\n\nInvalid incoming requests or bugs in the controller which corrupt the\nAR-req buffer needlessly crashed the box because this is run in tasklet\ncontext.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "551f4cb9de716ffcdaf968c99a450c22ff12e8c3",
      "tree": "97ad7f4a9bf073a8b8c9c61ae44eb9f1c41c0698",
      "parents": [
        "93c596f7d611b379302bbdd26f31acdf72f4859a"
      ],
      "author": {
        "name": "Jay Fenlason",
        "email": "fenlason@redhat.com",
        "time": "Fri May 16 11:15:23 2008 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue May 20 18:24:17 2008 +0200"
      },
      "message": "firewire: prevent userspace from accessing shut down devices\n\nIf userspace ignores the POLLERR bit from poll(), and only attempts to\nread() the device when POLLIN is set, it can still make ioctl() calls on\na device that has been removed from the system.  The node_id and\ngeneration returned by GET_INFO will be outdated, but INITIATE_BUS_RESET\nwould still cause a bus reset, and GET_CYCLE_TIMER will return data.\nAnd if you guess the correct generation to use, you can send requests to\na different device on the bus, and get responses back.\n\nThis patch prevents open, ioctl, compat_ioctl, and mmap against shutdown\ndevices.\n\nSigned-off-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\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": "886c35fbcf6fb2eee15687efc2d64d99b6ad9a4a",
      "tree": "e5e928b5197c078af184a65fd36d8428f5433683",
      "parents": [
        "6ed7b6a05dc4332c391134809387220123e82ea7",
        "f32ddaddf95d8a30be5a41cf681bc8792bc42ec7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 11:31:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 11:31:38 2008 -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: fw-sbp2: log scsi_target ID at release\n  ieee1394: fix NULL pointer dereference in sysfs access\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": "6188e10d38b8d7244ee7776d5f1f88c837b4b93f",
      "tree": "6675e02c47fb684a613e10513816b5dcc5de28a9",
      "parents": [
        "d7b1acd3b524b39f418e463e836b48ac041954d6"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Apr 18 22:21:05 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:22:54 2008 -0400"
      },
      "message": "Convert asm/semaphore.h users to linux/semaphore.h\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "d3135846f6c1858dbad6ccb780a42e6c98953e6d",
      "tree": "f1800b9b4b435f86c33385bb4a002239547e3879",
      "parents": [
        "5f090dcb4d4fff373ce7165bce4ba5e87534d50a"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Apr 18 22:16:32 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:16:32 2008 -0400"
      },
      "message": "drivers: Remove unnecessary inclusions of asm/semaphore.h\n\nNone of these files use any of the functionality promised by\nasm/semaphore.h.  It\u0027s possible that they rely on it dragging in some\nunrelated header file, but I can\u0027t build all these files, so we\u0027ll have\nfix any build failures as they come up.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "db8be076cad4b843aa743ef462c75022cddd9c63",
      "tree": "e9386e3f9fcb3fbf9f51da1aa005e03ef33588a1",
      "parents": [
        "25b1c3d8889f982ebc6c7b996cfc7fa5f1dce533"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Mar 31 02:22:11 2008 +0300"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:37 2008 +0200"
      },
      "message": "firewire: cleanups\n\nThis patch contains the following cleanups:\n- #if 0 the following unused structs:\n  - fw-transaction.c:fw_low_memory_region\n  - fw-transaction.c:fw_private_region\n  - fw-transaction.c:fw_csr_region\n  - fw-transaction.c:fw_unit_space_region\n- remove the following unused EXPORT_SYMBOL\u0027s:\n  - fw-card.c:fw_core_add_descriptor\n  - fw-card.c:fw_core_remove_descriptor\n  - fw-iso.c:fw_iso_context_create\n  - fw-iso.c:fw_iso_context_destroy\n  - fw-iso.c:fw_iso_context_start\n  - fw-iso.c:fw_iso_context_queue\n  - fw-iso.c:fw_iso_context_stop\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "25b1c3d8889f982ebc6c7b996cfc7fa5f1dce533",
      "tree": "1af972dbd20246573115769af3b6baa9d489fdab",
      "parents": [
        "2a0a2590498be7b92e3e76409c9b8ee722e23c8f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Mar 24 20:57:12 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:36 2008 +0200"
      },
      "message": "firewire: fix synchronization of gap counts\n\nFix:  The fact that nodes had different gap counts would be overlooked\nif the bus manager code would pick gap count 63 because of beta\nrepeaters or because of very large hop counts.  In this case, the bus\nmanager code would miss that it actually has to send the PHY config\npacket with gap count 63.\n\nRelated trivial changes:  Use bool for an int used as bool, touch up\nsome comments.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "2a0a2590498be7b92e3e76409c9b8ee722e23c8f",
      "tree": "4e98255596b8f7bdbd2fc200e5a72a3866544583",
      "parents": [
        "e09770db0fa33baf8df21fbc18aa24a080330c3f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Mar 20 23:48:23 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:36 2008 +0200"
      },
      "message": "firewire: wait until PHY configuration packet was transmitted (fix bus reset loop)\n\nWe now exit fw_send_phy_config /after/ the PHY config packet has been\ntransmitted, instead of before.  A subsequent fw_core_initiate_bus_reset\nwill therefore not overlap with the transmission.  This is meant to make\nthe send PHY config packet + reset bus routine more deterministic.\n\nFixes bus reset loop and eventual panic with\n  - VIA VT6307 + IOGEAR hub + Unibrain Fire-i camera\n    http://bugzilla.kernel.org/show_bug.cgi?id\u003d10128\n  - JMicron card\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "e09770db0fa33baf8df21fbc18aa24a080330c3f",
      "tree": "553239e37806dc2435fe53dbb26a5f27e04d9a37",
      "parents": [
        "15f0d833f63da2fa49aed81480a37d5e896b5b9b"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 11 02:23:29 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:36 2008 +0200"
      },
      "message": "firewire: remove unused struct member\n\nrequest_generation is internal to fw-ohci and unneeded in fw_card.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "15f0d833f63da2fa49aed81480a37d5e896b5b9b",
      "tree": "f54b02af409cdb474a143d89ad58600ad63edf46",
      "parents": [
        "cca6097713c62eac43aef27b31e7f1553dde4f94"
      ],
      "author": {
        "name": "Jarod Wilson",
        "email": "jwilson@redhat.com",
        "time": "Sat Mar 08 13:18:58 2008 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:36 2008 +0200"
      },
      "message": "firewire: use bitwise and to get reg in handle_registers\n\nfor code efficiency.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "cca6097713c62eac43aef27b31e7f1553dde4f94",
      "tree": "5e712188b9a23674cc32cbd1356ea3dedb686dba",
      "parents": [
        "c9755e14a01987ada4063e8b4c50c2b6738d879e"
      ],
      "author": {
        "name": "Jarod Wilson",
        "email": "jwilson@redhat.com",
        "time": "Sat Mar 08 12:52:03 2008 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:36 2008 +0200"
      },
      "message": "firewire: replace more hex values with defined csr constants\n\nTrivial change to replace more meaningless (to the untrained eye) hex\nvalues with defined CSR constants.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\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": "1dadff71d6356ebb804c3f4f1d3049247e16111c",
      "tree": "103cab576092528c4820436028ac6cc3bfbc5652",
      "parents": [
        "d34316a4bdcd4fef050da584401c7f4ed22482f2"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 02 19:35:42 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:35 2008 +0200"
      },
      "message": "firewire: replace static ROM cache by allocated cache\n\nread_bus_info_block() is repeatedly called by workqueue jobs.\nThese will step on each others toes eventually if there are multiple\nworkqueue threads, and we end up with corrupt config ROM images.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "d34316a4bdcd4fef050da584401c7f4ed22482f2",
      "tree": "4b6650cc815be1364ba4d9952b18818c5b602047",
      "parents": [
        "08ddb2f4c270b5dff063f7dbcd7e9248a52e7c65"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Apr 12 22:31:25 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:35 2008 +0200"
      },
      "message": "firewire: fw-ohci: work around generation bug in TI controllers (fix AV/C and more)\n\nUnlike the ohci1394 driver, fw-ohci uses the selfIDGeneration field of\nbus reset packets to determine the generation of incoming requests as\nper OHCI 1.1 clause 8.4.2.3.  This is more precise --- provided that the\ncontroller inserts the correct generation.  Texas Instruments chips\noften don\u0027t.\n\nThis prevented the transmission of response packets, which for example\nbroke AV/C transactions as used when communicating with miniDV cameras\nand any other AV/C devices.\n\nThere is apparently no way to detect and adjust incorrect generations.\nTherefore we ignore the generation of bus reset packets from TI chips\nand use the generation of the self ID buffer instead.  Alas this is\nreceived at a slightly wrong time.  In rare cases, this could cause us\nto not respond to legitimate requests or to respond to expired requests.\n(The latter is less likely because the bus reset packet AR event is\ntypically handled before the self ID complete event.)\n\nBug reported by Mladen Kuntner, who was extraordinarily patient while\ndealing with the driver maintainers.  Fix confirmed to be required and\neffective for TSB82AA2 and a TSB43AB22 or TSB43AB22A.\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d243081\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "08ddb2f4c270b5dff063f7dbcd7e9248a52e7c65",
      "tree": "25e5764b72854a9ba30bf14d3296010f1977fb19",
      "parents": [
        "a007bb857e0b26f5d8b73c2ff90782d9c0972620"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 11 00:51:15 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:35 2008 +0200"
      },
      "message": "firewire: fw-ohci: extend logging of bus generations and node ID\n\nExtend the logging of \"AR evt_bus_reset, link internal\" to \"AR\nevt_bus_reset, generation ${selfIDGeneration}\".  That way we can check\nwhether this generation matches the one seen in self ID complete event\nlogging.  See OHCI 1.1 clause 8.4.2.3.\n\nAlso extend logging of \"firewire_ohci: * selfIDs, generation *\" by\n\"local node ID ffc*\" in self ID logging to make the local node in AT/AR\nevent logs more obvious.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "a007bb857e0b26f5d8b73c2ff90782d9c0972620",
      "tree": "118f54e70b99dd1315cce57796f7d0a7bbb9c3df",
      "parents": [
        "76f73ca1b291a8d014ff0d2d802c817404dd9887"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Apr 07 22:33:35 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:35 2008 +0200"
      },
      "message": "firewire: fw-ohci: conditionally log busReset interrupts\n\nAdd a debug option to watch bus reset interrupt events.  Half of this\npatch is taken from Jarod Wilson\u0027s first version of the JMicron fix.\n\nBusReset interrupts are only generated if the respective module\nparameter flag was set before the controller is being initialized.\nElse we keep this event masked to reduce IRQ load in normal operation\nand to avoid potential problems with buggy chips.\n\nNote, this is unlike the other IRQ events whose logging can be enabled\nany time after chip initialization.  This and the influence on what\ninterrupts the chip generates is why I added an extra flag for it.\n\nAlso, reorder the debug parameter flags according to their perceived\nusefulness.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "76f73ca1b291a8d014ff0d2d802c817404dd9887",
      "tree": "ffd21353249da5febbe5518d9f8eed6b886b5dbf",
      "parents": [
        "75f7832e3b032c6e4a83c14b58341abd9f2d81ef"
      ],
      "author": {
        "name": "Jarod Wilson",
        "email": "jwilson@redhat.com",
        "time": "Mon Apr 07 22:32:33 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:35 2008 +0200"
      },
      "message": "firewire: fw-ohci: don\u0027t append to AT context when it\u0027s not active\n\nI finally tracked down the issues with this JMicron PCI-e card in my\npossession to a failure to comply with section 7.2.3.2 of the OHCI 1.1\nspecification (thanks to Kristian for the pointer to illustrate that it\nis indeed a flaw in this card, not the driver). The controller should\nsimply flush the packets we\u0027ve appended to its AT queue if a bus reset\noccurs before they\u0027ve been transmitted and we\u0027ll try again, but\nsomething goes wrong and the controller winds up hung.\n\nHowever, we can avoid the problem by simply checking if the\nIntEvent.busReset register had been set before we try appending to the\nAT context. When busReset is set, the AT context is completely halted\nuntil busReset is cleared, so there\u0027s no point in appending AT packets\nuntil the register is cleared. So at_context_queue_packet() now checks\nfor busReset being set, and bails with an RCODE_GENERATION packet ack,\nwhich results in us trying to append the packet again after recognizing\nthe fact there has been a bus reset, and clearing busReset.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "75f7832e3b032c6e4a83c14b58341abd9f2d81ef",
      "tree": "25ee08f7433450ed1b85362c8fe5b244567217de",
      "parents": [
        "022147242ff6e4b7ab770f00716063f48c088391"
      ],
      "author": {
        "name": "Jarod Wilson",
        "email": "jwilson@redhat.com",
        "time": "Thu Apr 03 17:18:23 2008 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:34 2008 +0200"
      },
      "message": "firewire: fw-ohci: log regAccessFail events\n\nWhile trying to debug this piece of crap JMicron PCI-e controller in my\npossession, one thought was that perhaps I was encountering register access\nfailures. I\u0027m not, but logging them would be good, so we can see if they\nare a real problem we should be taking into account anywhere in the code.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (added list contact)\n"
    },
    {
      "commit": "022147242ff6e4b7ab770f00716063f48c088391",
      "tree": "a59646ee968d029550fcb5d99ab2a9885a0f9377",
      "parents": [
        "130d5496e2c9104dcabdaa5c19cd941770e20edc"
      ],
      "author": {
        "name": "Jarod Wilson",
        "email": "jwilson@redhat.com",
        "time": "Fri Mar 28 10:02:50 2008 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:34 2008 +0200"
      },
      "message": "firewire: fw-ohci: make sure HCControl register LPS bit is set\n\nI\u0027ve now witnessed multiple occasions where one of my controllers (a very\npoorly working JMicron PCIe card) fails to get its registers properly set\nup in ohci_enable(), apparently due to an occasionally very slow to\ninitiate SClk. The easy fix for this problem is to add a tiny while loop\nto try again a time or three after initially enabling LPS before we\nmove on (or give up).\n\nOf course, the card still isn\u0027t fully functional yet, but this gets it at\nleast one tiny step closer...\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "130d5496e2c9104dcabdaa5c19cd941770e20edc",
      "tree": "5784c92dbe125f2e9c34edd48521c86be07e3fae",
      "parents": [
        "43286568adb3ccd4b2f1d0cb7393c355f03e4f39"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Mar 24 20:55:28 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:34 2008 +0200"
      },
      "message": "firewire: fw-ohci: missing PPC PMac feature calls in failure path\n\nBalance ohci_pmac_on and ohci_pmac_off if pci_driver.probe fails.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "43286568adb3ccd4b2f1d0cb7393c355f03e4f39",
      "tree": "17316d441def72d84e94d59df2dd83c88e6b0a16",
      "parents": [
        "ad3c0fe8b8d1656a56ce2ef05ed5ccba790b4566"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 11 21:22:26 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:34 2008 +0200"
      },
      "message": "firewire: fw-ohci: untangle a mixed unsigned/signed expression\n\nand make another expression more readable.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "ad3c0fe8b8d1656a56ce2ef05ed5ccba790b4566",
      "tree": "850c39f2da71be6ae9d6c3d5a08a67fbcded0c62",
      "parents": [
        "016bf3dfcf7c7fbad8f02e72b6e01d6773426f9d"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Mar 20 22:04:36 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:34 2008 +0200"
      },
      "message": "firewire: debug interrupt events\n\nThis adds debug printks for asynchronous transmission and reception and\nfor self ID reception.  They can be enabled at module load time, and at\nruntime via /sys/module/firewire_ohci/parameters/debug.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n\nAlso added:  Logging of interrupt event codes and of cancelled AT\npackets.\n\nThe code now depends on a Kconfig variable.  This makes it easier to\nbuild firewire-ohci without the feature or to make it an option in the\nfuture.  The variable is currently hidden and always on.\n\nThis feature inflates firewire-ohci.ko by 7 kB \u003d 27% on x86-64 and by\n4 kB \u003d 23% on i686.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "016bf3dfcf7c7fbad8f02e72b6e01d6773426f9d",
      "tree": "844a04d866b5b0d5eccdb795ad7e6c9fc79f3f2c",
      "parents": [
        "c8a9a498e16b2a6c0e4e367b1a01f80fdfd7b6e2"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Mar 19 22:05:02 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:34 2008 +0200"
      },
      "message": "firewire: fw-ohci: catch self_id_count \u003d\u003d 0\n\nfw_core_handle_bus_reset() incorrectly relied on the assumption that\nself_id_count \u003e 0.\n\nWe check early in fw-ohci and discard the self ID complete event if\nself_id_count \u003d\u003d 0 because a valid event always has at least one self ID\npacket in it (the one of the local node).  Hence treat self_id_count \u003d\u003d\n0 like any other kind of invalid self ID buffer.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "c8a9a498e16b2a6c0e4e367b1a01f80fdfd7b6e2",
      "tree": "f8e7fdab0bc3eefc98d6c0a09ab02337b6090371",
      "parents": [
        "2ed0f181f0d18d2f565bfbd259fe33d53769f72b"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Mar 19 21:40:32 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:33 2008 +0200"
      },
      "message": "firewire: fw-ohci: add self ID error check\n\nDiscard self ID buffer contents if\n  - the selfIDError flag is set,\n  - any of the self ID packets has bit errors.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "2ed0f181f0d18d2f565bfbd259fe33d53769f72b",
      "tree": "9a53e274cdbe5a438563ed536de83b284c014a98",
      "parents": [
        "eb5ca72effaa7f691f7df5187c5c5d1268311326"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Mar 01 12:35:29 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:33 2008 +0200"
      },
      "message": "firewire: fw-ohci: refactor probe, remove, suspend, resume\n\nClean up shared code and variable names.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "eb5ca72effaa7f691f7df5187c5c5d1268311326",
      "tree": "e48be32b2a64ddfef8453822be7b7316c25260b4",
      "parents": [
        "080de8c2c57e3199eee837fe8b6d35a43679f8c1"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Mar 01 12:34:50 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:33 2008 +0200"
      },
      "message": "firewire: fw-ohci: switch on bus power after resume on PPC PMac\n\nThe platform feature calls in the suspend method switched off cable\npower, but the calls in the resume method did not switch it back on.\n\nAdd the necessary feature call to .resume.  Also add the corresponding\ncall to .suspend to make .suspend\u0027s behavior explicitly the same on all\nPMacs.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "080de8c2c57e3199eee837fe8b6d35a43679f8c1",
      "tree": "b376f9ce74db61393ef1cb62e9663c71f0ba45b9",
      "parents": [
        "17cff9ff871bb5081cade4f99a9e9382b9f1c01c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Feb 28 20:54:43 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:33 2008 +0200"
      },
      "message": "firewire: fw-ohci: add option for remote debugging\n\nThis way firewire-ohci can be used for remote debugging like ohci1394.\nVersion with amendment from Fri, 11 Apr 2008 00:08:08 +0200.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Bernhard Kaindl \u003cbk@suse.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": "bd7dee6311156b7cdf884344feb34628909398ad",
      "tree": "669b5747c607266e495e6f1b1516663bdca1152a",
      "parents": [
        "a6ca4f7081095e3cdeb1a45d66fbe4856eca10d3"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 24 18:59:55 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:31 2008 +0200"
      },
      "message": "firewire: remove superfluous reference counting\n\nThe card-\u003ekref became obsolete since patch \"firewire: fix crash in\nautomatic module unloading\" added another counter of card users.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "6b84236d37ef602d1e4f52b27162c20394e83359",
      "tree": "0e383a32e66f7866fb5ac574acfa408b59e2d8cf",
      "parents": [
        "05dda977f2574c3341abef9b74c27d2b362e1e3a"
      ],
      "author": {
        "name": "Jarod Wilson",
        "email": "jwilson@redhat.com",
        "time": "Tue Mar 25 16:47:16 2008 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Mar 27 21:01:14 2008 +0100"
      },
      "message": "firewire: fw-ohci: plug dma memory leak in AR handler\n\nThere\u0027s an ugly little memory leak in firewire-ohci\u0027s\nar_context_tasklet(), where we\u0027re not freeing up some of the memory we\nuse for each ar_buffer, due to a moving pointer. The problem has been\nthere for a while, but didn\u0027t get noticed until after converting the AR\nroutines over to use coherent DMA and I started running into I/O stall-\nouts with the following message output repeatedly to the console:\n\nPCI-DMA: Out of IOMMU space for 53248 bytes at device 0000:04:09.0\n\nPlugging this leak is definitely necessary, but unfortunately, isn\u0027t the\nentire answer to my problem, it only increases the amount of I/O that I\ncan do before hitting the problem. Still working on tracking down the\nroot cause..\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "10a4c735515a5afc317abe4d697a4c95f6d9d764",
      "tree": "12ccd93d3747f55c5efeeb51a042a5d4829eb3d7",
      "parents": [
        "a978b30af3bab0dd9af9350eeda25e76123fa28e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 16 00:56:41 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Mar 20 18:13:05 2008 +0100"
      },
      "message": "firewire: fix panic in handle_at_packet\n\nThis fixes a use-after-free bug in the handling of split transactions.\nThe AT DMA handler of the request was occasionally executed after the\nAR DMA handler of the response.  The AT DMA handler then accessed an\nalready freed packet.\n\nReported by Johannes Berg.\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9617\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nTested-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "f5101d58afc528c1d0c863fe03cd2d607766c4a1",
      "tree": "75bf5fd197dc30da063df1b92a42ca869c6dccd8",
      "parents": [
        "bde1709aaa98f5004ab1580842c422be18eb4bc3"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 14 00:27:49 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 14 00:57:00 2008 +0100"
      },
      "message": "firewire: fw-ohci: shut up false compiler warning on PPC32\n\nShut up \"may be used uninitialised in this function\" warnings due to\nPPC32\u0027s implementation of dma_alloc_coherent().\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "bde1709aaa98f5004ab1580842c422be18eb4bc3",
      "tree": "9c7a3241d88574680911a48e81ce8d6ad252e559",
      "parents": [
        "6e45ef4c7aeefbf97df748866cd1b24f73b86160"
      ],
      "author": {
        "name": "Jarod Wilson",
        "email": "jwilson@redhat.com",
        "time": "Wed Mar 12 17:43:26 2008 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 14 00:57:00 2008 +0100"
      },
      "message": "firewire: fw-ohci: use dma_alloc_coherent for ar_buffer\n\nCurrently, we do nothing to guarantee we have a consistent DMA buffer for\nasynchronous receive packets. Rather than doing several sync\u0027s following a\ndma_map_single() to get consistent buffers, just switch to using\ndma_alloc_coherent().\n\nResolves constant buffer failures on my own x86_64 laptop w/4GB of RAM and\nlikely to fix a number of other failures witnessed on x86_64 systems with\n4GB of RAM or more.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\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": "0a8da30dc7bd6828f42d9f0585367731f634a0c8",
      "tree": "0c122e305f2a5741709677ca497ab50d96c16cc8",
      "parents": [
        "a2cdebe33f4c40a1bc7f66522303df89d5026cb4"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 09 00:27:20 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 14 00:56:59 2008 +0100"
      },
      "message": "firewire: update Kconfig help text\n\nRemove some less necessary information, point out that video1394 and\ndv1394 should be blacklisted along with ohci1394.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a2cdebe33f4c40a1bc7f66522303df89d5026cb4",
      "tree": "ed8e37d57d94242c799ca5d47c8e7700e4b79973",
      "parents": [
        "51f9dbef5be41f3ff6000c874741a3a357f9bad7"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Mar 08 22:38:16 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 14 00:56:59 2008 +0100"
      },
      "message": "firewire: warn on fatal condition in topology code\n\nIf this ever happens to anybody, we want to have it in his log.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\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": "11bf20ad028880a56689f086bfbabfd88b2af38b",
      "tree": "e09c2597d61ef8aa989dd2833889004c76d6a058",
      "parents": [
        "ea8d006b91ac58ec5a0862d09e0b629db399517f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Mar 01 02:47:15 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 14 00:56:59 2008 +0100"
      },
      "message": "firewire: fw-ohci: Apple UniNorth 1st generation support\n\nMostly copied from ohci1394.c.  Necessary for some older Macs, e.g.\nPowerBook G3 Pismo and early PowerBook G4 Titanium.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "ea8d006b91ac58ec5a0862d09e0b629db399517f",
      "tree": "c6f848d1ed3e7d71fd23dcee975d3449bcb7932b",
      "parents": [
        "efbf390a2d940315efff174455243e61f23c03b9"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Mar 01 02:42:56 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 14 00:56:58 2008 +0100"
      },
      "message": "firewire: fw-ohci: PPC PMac platform code\n\nCopied from ohci1394.c.  This code is necessary to prevent machine check\nexceptions when reloading or resuming the driver.\n\nTested on a 1st generation PowerBook G4 Titanium, which also needs the\npci_probe() hunk.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n\nI was able to reproduce the system exception on resume with a 3rd-gen\nTitanium PowerBook G4 667, and this patch does let the system resume\nsuccessfully now.\n\nNot quite clear if there was possibly an updated version coming using\npci_enable_device() instead of the pair of pmac_call_feature() calls,\nbut either way, this is a definite must-have, at least for older ppc\nmacs -- my Aluminum PowerBook G4/1.67 suspends and resumes without this\npatch just fine.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "efbf390a2d940315efff174455243e61f23c03b9",
      "tree": "aac9bf501a8057db0a000538bb85797d2f752788",
      "parents": [
        "25df287dc7434edf8dda10ce85e43f88e834a494"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 23 12:24:57 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 14 00:56:58 2008 +0100"
      },
      "message": "firewire: endianess annotations\n\nKills warnings from \u0027make C\u003d1 CHECKFLAGS\u003d\"-D__CHECK_ENDIAN__\" modules\u0027:\n\ndrivers/firewire/fw-transaction.c:771:10: warning: incorrect type in assignment (different base types)\ndrivers/firewire/fw-transaction.c:771:10:    expected unsigned int [unsigned] [usertype] \u003cnoident\u003e\ndrivers/firewire/fw-transaction.c:771:10:    got restricted unsigned int [usertype] \u003cnoident\u003e\ndrivers/firewire/fw-transaction.h:93:10: warning: incorrect type in assignment (different base types)\ndrivers/firewire/fw-transaction.h:93:10:    expected unsigned int [unsigned] [usertype] \u003cnoident\u003e\ndrivers/firewire/fw-transaction.h:93:10:    got restricted unsigned int [usertype] \u003cnoident\u003e\ndrivers/firewire/fw-ohci.c:1490:8: warning: restricted degrades to integer\ndrivers/firewire/fw-ohci.c:1490:35: warning: restricted degrades to integer\ndrivers/firewire/fw-ohci.c:1516:5: warning: cast to restricted type\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "25df287dc7434edf8dda10ce85e43f88e834a494",
      "tree": "110670c11924a3e33438acb9d9f3418e32a5df82",
      "parents": [
        "cdeeeae056a429e729ae9e914fa8142ee45bee93"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 23 12:24:17 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 14 00:56:58 2008 +0100"
      },
      "message": "firewire: endianess fix\n\nThe generation of incoming requests was filled in in wrong byte order on\nmachines with big endian CPU.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\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": "15803478fdea964e5f76079851fcd13068208d5d",
      "tree": "153bc372845c2223ec798ff4c0f3896221fe4e97",
      "parents": [
        "f8436158b1d76e6842856048f287799468b56eb2"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 24 18:57:23 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 02 12:35:46 2008 +0100"
      },
      "message": "firewire: potentially invalid pointers used in fw_card_bm_work\n\nThe bus management workqueue job was in danger to dereference NULL\npointers.  Also, after having temporarily lifted card-\u003elock, a few node\npointers and a device pointer may have become invalid.\n\nAdd NULL pointer checks and get the necessary references.  Also, move\ncard-\u003elocal_node out of fw_card_bm_work\u0027s sight during shutdown of the\ncard.\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": "fae603121428ba83b7343c88e68a7144525ab3eb",
      "tree": "41283a905b089cee26103187e54935abffb88207",
      "parents": [
        "09d7328e62e3b4cefe4bf3eeeeacb54f62a7ae5c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 20 21:10:06 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Feb 21 19:05:56 2008 +0100"
      },
      "message": "firewire: fix NULL pointer deref. and resource leak\n\nBy supplying ioctl()s in the wrong order, a userspace client was able to\ntrigger NULL pointer dereferences.  Furthermore, by calling\nioctl_create_iso_context more than once, new contexts could be created\nwithout ever freeing the previously created contexts.\n\nThanks to Anders Blomdell for the report.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\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": "fa6e697b85d705d37b3b03829095c22bcbe95ab6",
      "tree": "97a04a835efb45646391e265c8e5ea17b3b9a384",
      "parents": [
        "be6f48b0174584c9c415012ca14803c7e941e27e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 03 23:03:00 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 16 15:40:34 2008 +0100"
      },
      "message": "firewire: log GUID of new devices\n\nThis should help to interpret user reports.  E.g. one can look up the\nvendor OUI (first three bytes of the GUID) and thus tell what is what.\n\nAlso simplifies the math in the GUID sysfs attribute.\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": "96b19062e741b715cf399312c30e0672d8889569",
      "tree": "b0e2197ab7380590bdff00e02dde19e81952a33f",
      "parents": [
        "1b9c12ba2fdf802a23630f70eddb0e821296634e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 02 15:01:09 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 16 15:40:33 2008 +0100"
      },
      "message": "firewire: fix \"kobject_add failed for fw* with -EEXIST\"\n\nThere is a race between shutdown and creation of devices:  fw-core may\nattempt to add a device with the same name of an already existing\ndevice.  http://bugzilla.kernel.org/show_bug.cgi?id\u003d9828\n\nImpact of the bug:  Happens rarely (when shutdown of a device coincides\nwith creation of another), forces the user to unplug and replug the new\ndevice to get it working.\n\nThe fix is obvious:  Free the minor number *after* instead of *before*\ndevice_unregister().  This requires to take an additional reference of\nthe fw_device as long as the IDR tree points to it.\n\nAnd while we are at it, we fix an additional race condition:\nfw_device_op_open() took its reference of the fw_device a little bit too\nlate, hence was in danger to access an already invalid fw_device.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\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": "8f9f963e5d9853dbc5fa5091f15ae64f423d3d89",
      "tree": "7b12f078f358d88e846e9e6e8e9b271d1bcb3db5",
      "parents": [
        "f8d2dc39389d6ccc0def290dc4b7eb71d68645a2"
      ],
      "author": {
        "name": "Jarod Wilson",
        "email": "jwilson@redhat.com",
        "time": "Wed Jan 23 16:05:45 2008 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:28 2008 +0100"
      },
      "message": "firewire: replace subtraction with bitwise and\n\nReplace an unnecessary subtraction with a bitwise AND when determining the\nvalue of ext_tcode in fw_fill_transaction() to save a cpu cycle or two in a\nsomewhat critical path.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f8d2dc39389d6ccc0def290dc4b7eb71d68645a2",
      "tree": "7576ee70223a9ad550b8dd7dbad339d9f6b03052",
      "parents": [
        "b5d2a5e04e6a26cb3f77af8cbc31e74c361d706c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jan 25 17:53:49 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:28 2008 +0100"
      },
      "message": "firewire: fw-core: react on bus resets while the config ROM is being fetched\n\nread_rom() obtained a fresh new fw_device.generation for each read\ntransaction.  Hence it was able to continue reading in the middle of the\nROM even if a bus reset happened.  However the device may have modified\nthe ROM during the reset.  We would end up with a corrupt fetched ROM\nimage then.\n\nAlthough all of this is quite unlikely, it is not impossible.\nTherefore we now restart reading the ROM if the bus generation changed.\n\nNote, the memory barrier in read_rom() is still necessary according to\ntests by Jarod Wilson, despite of the -\u003egeneration access being moved up\nin the call chain.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n\nThis is essentially what I\u0027ve been beating on locally, and I\u0027ve yet to hit\nanother config rom read failure with it.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\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": "cf5a56ac8083dd04ffe8b9b2ec7895e9bcff44bc",
      "tree": "7b6afe0a4d4236a6c22acf5b724979c30d158090",
      "parents": [
        "5a8a1bcd15dfb9f177f3605fe6b9ba2bef2bf55a"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jan 24 01:53:51 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:27 2008 +0100"
      },
      "message": "firewire: fw-cdev: use device generation, not card generation\n\nWe have to use the fw_device.generation here, not the fw_card.generation,\nbecause the generation must never be newer than the node ID when we emit\na transaction.  This cannot be guaranteed with fw_card.generation.\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": "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": "fe5ca63430d640c3a922e5d7c6dd411ab6a2e077",
      "tree": "7124dc3af55c7b66da44449fdab56a93a0e10403",
      "parents": [
        "bb9f2206b60ace29e49a057fbd9be86d79d86200"
      ],
      "author": {
        "name": "David Moore",
        "email": "dcm@MIT.EDU",
        "time": "Sun Jan 06 17:21:41 2008 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:24 2008 +0100"
      },
      "message": "firewire: fw-ohci: Dynamically allocate buffers for DMA descriptors\n\nPreviously, the fw-ohci driver used fixed-length buffers for storing\ndescriptors for isochronous receive DMA programs.  If an application\n(such as libdc1394) generated a DMA program that was too large, fw-ohci\nwould reach the limit of its fixed-sized buffer and return an error to\nuserspace.\n\nThis patch replaces the fixed-length ring-buffer with a linked-list of\npage-sized buffers.  Additional buffers can be dynamically allocated and\nappended to the list when necessary.  For a particular context, buffers\nare kept around after use and reused as necessary, so there is no\nallocation taking place after the DMA program is generated for the first\ntime.\n\nIn addition, the buffers it uses are coherent for DMA so there is no\nsyncing required before and after writes.  This syncing wasn\u0027t properly\ndone in the previous version of the code.\n\n-\n\nThis is the fourth version of my patch that replaces a fixed-length\nbuffer for DMA descriptors with a dynamically allocated linked-list of\nbuffers.\n\nAs we discovered with the last attempt, new context programs are\nsometimes queued from interrupt context, making it unacceptable to call\ntasklet_disable() from context_get_descriptors().\n\nThis version of the patch uses ohci-\u003elock for all locking needs instead\nof tasklet_disable/enable.  There is a new requirement that\ncontext_get_descriptors() be called while holding ohci-\u003elock.  It was\nalready held for the AT context, so adding the requirement for the iso\ncontext did not seem particularly onerous.  In addition, this has the\nside benefit of allowing iso queue to be safely called from concurrent\nuser-space threads, which previously was not safe.\n\nSigned-off-by: David Moore \u003cdcm@acm.org\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n\n-\n\nFixes the following issues:\n  - Isochronous reception stopped prematurely if an application used a\n    larger buffer.  (Reproduced with coriander.)\n  - Isochronous reception stopped after one or a few frames on VT630x\n    in OHCI 1.0 mode.  (Fixes reception in coriander, but dvgrab still\n    doesn\u0027t work with these chips.)\n\nPatch update: struct member alignment, whitespace nits\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "bb9f2206b60ace29e49a057fbd9be86d79d86200",
      "tree": "588dcd6a1b8ae1c3fecbf2d6c210c7f7d8bfc820",
      "parents": [
        "478b233eda81bfe41307512b8336fd688c6553e0"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Dec 22 22:14:52 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:24 2008 +0100"
      },
      "message": "firewire: fw-ohci: CycleTooLong interrupt management\n\nThe firewire-ohci driver so far lacked the ability to resume cycle\nmaster duty after that condition happened, as added to ohci1394 in Linux\n2.6.18 by commit 57fdb58fa5a140bdd52cf4c4ffc30df73676f0a5.  This ports\nthis patch to fw-ohci.\n\nThe \"cycle too long\" condition has been seen in practice\n  - with IIDC cameras if a mode with packets too large for a speed is\n    chosen,\n  - sporadically when capturing DV on a VIA VT6306 card with ohci1394/\n    ieee1394/ raw1394/ dvgrab 2.\n    https://bugzilla.redhat.com/show_bug.cgi?id\u003d415841#c7\n(This does not fix Fedora bug 415841.)\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "478b233eda81bfe41307512b8336fd688c6553e0",
      "tree": "3c6b6802c79ffa1a981028d4adece60e27aa2c36",
      "parents": [
        "bcee893c6cba88badd292b636f33a8677c0dd962"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin@rab.in",
        "time": "Fri Dec 21 23:02:15 2007 +0530"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:24 2008 +0100"
      },
      "message": "firewire: Fix extraction of source node id\n\nFix extraction of the source node id from the packet header.\n\nSigned-off-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "bcee893c6cba88badd292b636f33a8677c0dd962",
      "tree": "f315048cf38e30d016d0ea50aa06989327b2f235",
      "parents": [
        "0642b6577f1d455ed99e2da4a4d9216a866d2449"
      ],
      "author": {
        "name": "David Moore",
        "email": "dcm@MIT.EDU",
        "time": "Wed Dec 19 15:26:38 2007 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:23 2008 +0100"
      },
      "message": "firewire: fw-ohci: Bug fixes for packet-per-buffer support\n\nThis patch corrects a number of bugs in the current OHCI 1.0\npacket-per-buffer support:\n\n1. Correctly deal with payloads that cross a page boundary.  The\nprevious version would not split the descriptor at such a boundary,\npotentially corrupting unrelated memory.\n\n2. Allow user-space to specify multiple packets per struct\nfw_cdev_iso_packet in the same way that dual-buffer allows.  This is\nsignaled by header_length being a multiple of header_size.  This\nmultiple determines the number of packets.  The payload size allocated\nper packet is determined by dividing the total payload size by the\nnumber of packets.\n\n3. Make sync support work properly for packet-per-buffer.\n\nI have tested this patch with libdc1394 by forcing my OHCI 1.1\ncontroller to use the packet-per-buffer support instead of dual-buffer.\n\nI would greatly appreciate testing by those who have a DV devices and\nother types of iso streamers to make sure I didn\u0027t cause any\nregressions.\n\nStefan, with this patch, I\u0027m hoping that libdc1394 will work with all\nyour OHCI 1.0 controllers now.\n\nThe one bit of future work that remains for packet-per-buffer support is\nthe automatic compaction of short payloads that I discussed with\nKristian.\n\nSigned-off-by: David Moore \u003cdcm@acm.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "0642b6577f1d455ed99e2da4a4d9216a866d2449",
      "tree": "35ae292471403cfe0f1a6ef9dc4c7d24b16ff340",
      "parents": [
        "4b11ea96a08a0f97a16edba55a615354c6d846b5"
      ],
      "author": {
        "name": "David Moore",
        "email": "dcm@MIT.EDU",
        "time": "Wed Dec 19 03:09:18 2007 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:23 2008 +0100"
      },
      "message": "firewire: fw-ohci: Fix for dualbuffer three-or-more buffers\n\nThis patch fixes the problem where different OHCI 1.1 controllers behave\ndifferently when a received iso packet straddles three or more buffers\nwhen using the dual-buffer receive mode.  Two changes are made in order\nto handle this situation:\n\n1. The packet sync DMA descriptor is given a non-zero header length and\nnon-zero payload length.  This is because zero-payload descriptors are\nnot discussed in the OHCI 1.1 specs and their behavior is thus\nundefined.  Instead we use a header size just large enough for a single\nheader and a payload length of 4 bytes for this first descriptor.\n\n2. As we process received packets in the context\u0027s tasklet, read the\npacket length out of the headers.  Keep track of the running total of\nthe packet length as \"excess_bytes\", so we can ignore any descriptors\nwhere no packet starts or ends.  These descriptors may not have had\ntheir first_res_count or second_res_count fields updated by the\ncontroller so we cannot rely on those values.\n\nThe main drawback of this patch is that the excess_bytes value might get\n\"out of sync\" with the packet descriptors if something strange happens\nto the DMA program.  I\u0027m not if such a thing could ever happen, but I\nappreciate any suggestions in making it more robust.\n\nAlso, the packet-per-buffer support may need a similar fix to deal with\nissue 1, but I haven\u0027t done any work on that yet.\n\nStefan, I\u0027m hoping that with this patch, all your OHCI 1.1 controllers\nwill work properly with an unmodified version of libdc1394.\n\nSigned-off-by: David Moore \u003cdcm@acm.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\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": "a186b4a6b22fdc96a1ed63da483d267b5d00839e",
      "tree": "3d609e60aa00a921475b94c7b133e44068d15a99",
      "parents": [
        "41f81e88e01eb959f439f8537c58078e4bfc5291"
      ],
      "author": {
        "name": "Jarod Wilson",
        "email": "jwilson@redhat.com",
        "time": "Mon Dec 03 13:43:12 2007 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Dec 10 21:55:19 2007 +0100"
      },
      "message": "firewire: OHCI 1.0 Isochronous Receive support\n\nThird rendition of FireWire OHCI 1.0 Isochronous Receive support, using a\nzer-copy method similar to OHCI 1.1 which puts the IR data payload directly\ninto the userspace buffer. The zero-copy implementation eliminates the\nvideo artifacts, audio popping, and buffer underrun problems seen with\nversion 1 of this patch, as well as fixing a regression in OHCI 1.1 support\nintroduced by version 2 of this patch.\n\nSuccessfully tested in OHCI 1.1 mode on the following chipsets:\n\n- NEC uPD72847 (rev 01), OHCI 1.1 (PCI)\n- Ti XIO2200(A) (rev 01), OHCI 1.1 (PCIe)\n- Ti TSB41AB2 (rev 01), OHCI 1.1 (PCI on SB Audigy)\n- Apple UniNorth 2 (rev 81), OHCI 1.1 (PowerBook G4 onboard)\n\nSuccessfully tested in OHCI 1.0 mode on the following chipsets:\n\n- Agere FW323 (rev 06), OHCI 1.0 (Mac Mini onboard)\n- Agere FW323 (rev 06), OHCI 1.0 (PCI)\n- Via VT6306 (rev 46), OHCI 1.0 (PCI)\n- NEC OrangeLink (rev 01), OHCI 1.0 (PCI)\n- NEC uPD72847 (rev 01), OHCI 1.1 (PCI)\n- Ti XIO2200(A) (rev 01), OHCI 1.1 (PCIe)\n\nThe bulk of testing was done in an x86_64 system, but was also successfully\nsanity-tested on other systems, including a PPC(32) PowerBook G4 and an i686\nEPIA M10k. Crude benchmarking (watching top during capture) puts the cpu\nutilization during capture on the EPIA\u0027s 1GHz Via C3 processor around 13%,\nwhich is down from 30% with the v1 code.\n\nSome implementation details:\n\nTo maintain the same userspace API as dual-buffer mode, we set up two\ndescriptors for every incoming packet. The first is an INPUT_MORE descriptor,\npointing to a buffer large enough to hold just the packet\u0027s iso headers,\nimmediately followed by an INPUT_LAST descriptor, pointing to a chunk of the\nuserspace buffer big enough for the packet\u0027s data payload. With this setup,\neach incoming packet fills in these two descriptors in a manner that very\nclosely emulates dual-buffer receive, to the point where the bulk of the\nhandle_ir_* code is now identical between the two (and probably primed for\nsome restructuring to share code between them).\n\nThe only caveat I have at the moment is that neither of my OHCI 1.0 Via\nVT6307-based FireWire controllers work particularly well with this code\nfor reasons I have yet to figure out.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\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": "0bd243c4d93583cd8e1786c0bd6982f6f9f94ab6",
      "tree": "4302c298abed38b0ff866a66390a7f434a612db0",
      "parents": [
        "5307cc1aa53850f017c8053db034cf950b670ac9"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Tue Jun 05 19:27:05 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 31 19:02:19 2007 +0100"
      },
      "message": "firewire: Fix pci resume to not pass in a __be32 config rom.\n\nThe ohci_enable() function shared between pci_probe and pci_resume\ntakes a host endian config rom, but ohci-\u003econfig_rom is __be32.  This\nsets up the config rom in the wrong endian on little endian machine,\nspecifically, BusOptions will be initialized to a 0 max receive size.\n\nThis patch changes the way we reuse the config rom so that we avoid\nthis problem.\n\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "4b6d51ec62d9c57432430528d6293605794a9f1b",
      "tree": "5612302d7f53db9caa7297f1041e1d7785e62f2f",
      "parents": [
        "c74e92c209cf30ae6003e042e7c017eb6c370b64"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Oct 21 11:20:07 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Oct 22 19:48:56 2007 +0200"
      },
      "message": "firewire: fw-ohci: shut up a superfluous compiler warning\n\nNew warning since commit ab88ca488b8af66c3defa165874e81e695319a19,\n\"firewire: fw-ohci: missing dma_unmap_single\":\ndrivers/firewire/fw-ohci.c: In function \u0027at_context_transmit\u0027:\ndrivers/firewire/fw-ohci.c:609: warning: \u0027payload_bus\u0027 may be used\n uninitialized in this function\n\nAccess to payload_bus is conditional on packet-\u003epayload_length \u003e 0,\nand that won\u0027t change while in at_context_queue_packet.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    }
  ],
  "next": "c74e92c209cf30ae6003e042e7c017eb6c370b64"
}
