)]}'
{
  "log": [
    {
      "commit": "7f51a100bba517196ac4bdf29408d20ee1c771e8",
      "tree": "6e1af632f6a3f5ffd635a07c181125609297977a",
      "parents": [
        "110f82d7a2e0ff5a17617a9672f1ccb7e44bc0c6"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Feb 08 08:30:03 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 14 15:10:41 2010 +0100"
      },
      "message": "firewire: ohci: retransmit isochronous transmit packets on cycle loss\n\nIn isochronous transmit DMA descriptors, link the skip address pointer\nback to the descriptor itself.  When a cycle is lost, the controller\nwill send the packet in the next cycle, instead of terminating the\nentire DMA program.\n\nThere are two reasons for this:\n\n* This behaviour is compatible with the old IEEE1394 stack.  Old\n  applications would not expect the DMA program to stop in this case.\n\n* Since the OHCI driver does not report any uncompleted packets, the\n  context would stop silently; clients would not have any chance to\n  detect and handle this error without a watchdog timer.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\n\nPieter Palmers notes:\n\n\"The reason I added this retry behavior to the old stack is because some\ncards now and then fail to send a packet (e.g. the o2micro card in my\ndell laptop).  I couldn\u0027t figure out why exactly this happens, my best\nguess is that the card cannot fetch the payload data on time.  This\nhappens much more frequently when sending large packets, which leads me\nto suspect that there are some contention issues with the DMA that fills\nthe transmit FIFO.\n\nIn the old stack it was a pretty critical issue as it resulted in a\nfreeze of the userspace application.\n\nThe omission of a packet doesn\u0027t necessarily have to be an issue.  E.g.\nin IEC61883 streams the DBC field can be used to detect discontinuities\nin the stream.  So as long as the other side doesn\u0027t bail when no\n[packet] is present in a cycle, there is not really a problem.\n\nI\u0027m not convinced though that retrying is the proper solution, but it is\nsimple and effective for what it had to do.  And I think there are no\nreasons not to do it this way.  Userspace can still detect this by\nchecking the cycle the descriptor was sent in.\"\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (changelog, comment)\n"
    },
    {
      "commit": "7a481436787cbc932af6c407b317ac603969a242",
      "tree": "b58660247f56926f591b06bd9b1e77280beef51e",
      "parents": [
        "281e20323ab72180137824a298ee9e21e6f9acf6"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jan 26 21:39:07 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 27 18:24:53 2010 +0100"
      },
      "message": "firewire: ohci: fix crashes with TSB43AB23 on 64bit systems\n\nUnsurprisingly, Texas Instruments TSB43AB23 exhibits the same behaviour\nas TSB43AB22/A in dual buffer IR DMA mode:  If descriptors are located\nat physical addresses above the 31 bit address range (2 GB), the\ncontroller will overwrite random memory.  With luck, this merely\nprevents video reception.  With only a little less luck, the machine\ncrashes.\n\nWe use the same workaround here as with TSB43AB22/A:  Switch off the\ndual buffer capability flag and use packet-per-buffer IR DMA instead.\nAnother possible workaround would be to limit the coherent DMA mask to\n31 bits.\n\nIn Linux 2.6.33, this change serves effectively only as documentation\nsince dual buffer mode is not used for any controller anymore.  But\nsomebody might want to re-enable it in the future to make use of\nfeatures of dual buffer DMA that are not available in packet-per-buffer\nmode.\n\nIn Linux 2.6.32 and older, this update is vital for anyone with this\ncontroller, more than 2 GB RAM, a 64 bit kernel, and FireWire video or\naudio applications.\n\nWe have at least four reports:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d13808\nhttp://marc.info/?l\u003dlinux1394-user\u0026m\u003d126154279004083\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d552142\nhttp://marc.info/?l\u003dlinux1394-user\u0026m\u003d126432246128386\n\nReported-by: Paul Johnson\nReported-by: Ronneil Camara\nReported-by: G Zornetzer\nReported-by: Mark Thompson\nCc: stable@kernel.org\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "090699c0530ae5380a9b8511d76f656cc437bb6e",
      "tree": "395c61692df693e6562446b2d23b06793f87a0a4",
      "parents": [
        "cf0e575dcc4cab9fd955e9bec49df7e8ee30a7cf"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Dec 26 01:35:14 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Dec 29 19:58:17 2009 +0100"
      },
      "message": "firewire: ohci: always use packet-per-buffer mode for isochronous reception\n\nThis is a minimal change meant for the short term:  Never set the\nohci-\u003euse_dualbuffer flag to true.\n\nThere are two reasons to do so:\n\n  - Packet-per-buffer mode and dual-buffer mode do not behave the same\n    under certain circumstances, notably if several packets are covered\n    by a single fw_cdev_iso_packet descriptor.\n    http://marc.info/?l\u003dlinux1394-devel\u0026m\u003d124965653718313\n    Therefore the driver stack should not silently choose one or the\n    other mode but should leave the choice to the high-level driver\n    (regardless if kernel driver or userspace driver).  Or simply always\n    only offer packet-per-buffer mode, since a considerable number of\n    controllers, even current ones, does not offer dual-buffer support.\n\n  - Even under circumstances where packet-per-buffer mode and\n    dual-buffer mode behave exactly the same --- notably when used\n    through libraw1394, libdc1394, as well as the current two kernel\n    drivers which use isochronous reception (firewire-net and firedtv)\n    --- we are still faced with the problem that several OHCI 1.1\n    controllers have bugs in dual-buffer mode.  Although it looks like\n    we have identified most of those buggy controllers by now, we\n    cannot be quite sure about that.\n\nSo, use packet-per-buffer by default from now on.  This change should\nbe followed up by a more complete solution:  Either extend the\nin-kernel API and the userspace ABI by a choice between the two IR modes\nor remove all dual-buffer related code from firewire-ohci.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5f1141eb352ea79d849920039503e40dd623fffa",
      "tree": "1378b88a847c483933334d5c3695138bfa6c5a4d",
      "parents": [
        "880188b2433c3af51fa006207d9b13c70d2e5938",
        "8c0c0cc2d9f4c523fde04bdfe41e4380dec8ee54"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:22:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:22:27 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: ohci: handle receive packets with a data length of zero\n"
    },
    {
      "commit": "8c0c0cc2d9f4c523fde04bdfe41e4380dec8ee54",
      "tree": "eeb3a432eab9e357b332366fe7719fa932e29b88",
      "parents": [
        "af0940dac37545b1e7900b19c464fb6367d3f82f"
      ],
      "author": {
        "name": "Jay Fenlason",
        "email": "fenlason@redhat.com",
        "time": "Fri Dec 11 14:23:58 2009 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Dec 11 21:43:45 2009 +0100"
      },
      "message": "firewire: ohci: handle receive packets with a data length of zero\n\nQueueing to receive an ISO packet with a payload length of zero\nsilently does nothing in dualbuffer mode, and crashes the kernel in\npacket-per-buffer mode.  Return an error in dualbuffer mode, because\nthe DMA controller won\u0027t let us do what we want, and work correctly in\npacket-per-buffer mode.\n\nSigned-off-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "bb592cf474404e51cbf3c419fb72fda83c4b7d72",
      "tree": "05823f536d5f095857a7aff732e205d249e4b7a1",
      "parents": [
        "79c9601c2e0dbbe69895d302de4d19f3a31fbd30",
        "af0940dac37545b1e7900b19c464fb6367d3f82f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:13:10 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:13:10 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  ieee1394: Use hweight32\n  firewire: cdev: reduce stack usage by ioctl_dispatch\n  firewire: ohci: 0 may be a valid DMA address\n  firewire: core: WARN on wrong usage of core transaction functions\n  firewire: core: optimize Topology Map creation\n  firewire: core: clarify generate_config_rom usage\n  firewire: optimize config ROM creation\n  firewire: cdev: normalize variable names\n  firewire: normalize style of queue_work wrappers\n  firewire: cdev: fix memory leak in an error path\n"
    },
    {
      "commit": "31769cef2e973544164aa7d0db2e2024660d5e21",
      "tree": "6f3c2ce2e742fa197ac1460012a14eaf09bf3afa",
      "parents": [
        "5ed1f321a71b8549cc2eea26c94fe7943ed01d31"
      ],
      "author": {
        "name": "Jay Fenlason",
        "email": "fenlason@redhat.com",
        "time": "Sat Nov 21 00:05:56 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Nov 21 00:56:47 2009 +0100"
      },
      "message": "firewire: ohci: pass correct iso xmit timestamps to core\n\nHere is the final set of patches I used to get ffado to work with the\nnew firewire stack.  With these patches, I was able to start ardour\nand record from and playback to my PreSonus Inspire1394 from a\n(mostly) Fedora 12 system.\n\nSigned-off-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\n\nUntil now, firewire-ohci exposed only the transmit cycle of the last\ntransmitted packet at each isochronous transmit complete event.  This\nmade it impossible for FFADO (FireWire audio drivers in userspace) to\nsynchronize audio-out streams.  The fix is to store the timestamp of\neach packet in the iso xmit event.  As a bonus, the transfer status is\nstored too.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5ed1f321a71b8549cc2eea26c94fe7943ed01d31",
      "tree": "c27a802d0feed854a4842805d041bcb44d362f10",
      "parents": [
        "eaf76e0d027a917a013ad8a88a94132d0feab622"
      ],
      "author": {
        "name": "Jay Fenlason",
        "email": "fenlason@redhat.com",
        "time": "Tue Nov 17 12:29:17 2009 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Nov 18 20:31:17 2009 +0100"
      },
      "message": "firewire: ohci: Make cycleMatch ISO transmission work\n\nCalling the START_ISO ioctl with a nonnegative cycle paramater has\nnever worked.  Last night I got around to figuring out why.  Most of\nthis patch is a big comment explaining why we enable an interrupt\nsource then don\u0027t actually do anything when we get one.  As the\ncomment says, we should do more, but we don\u0027t have a way to tell\nuserspace what happened. . .\n\nSigned-off-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (edited comment)\n"
    },
    {
      "commit": "19593ffdb6daa6ba691d247a2400cece12687c52",
      "tree": "18c3508bbdb5f2d1b1bf51ac653ec580043a9340",
      "parents": [
        "5b189bf3633c3b73d4f08124a86f3e019953d412"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 14 20:40:10 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Oct 31 11:40:51 2009 +0100"
      },
      "message": "firewire: ohci: 0 may be a valid DMA address\n\nI was told that there are obscure architectures with non-coherent DMA\nwhich may DMA-map to bus address 0.  We shall not use 0 as a magic\nnumber of uninitialized bus address variables.\n\nThe packet-\u003epayload_length \u003e 0 test cannot be used either (except in\nat_context_queue_packet) because local requests are not DMA-mapped\nregardless of payload_length.  Hence add a state flag to struct\nfw_packet.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "8e85973efc87dfae8508f1a3440fd44612897458",
      "tree": "9b8f0f0d1adf5a2611b58565db4d9da0ebd1cc9c",
      "parents": [
        "e21fcf798e246202d7b60e864f1d7302ebaaf41c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Oct 08 00:41:59 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 14 23:10:48 2009 +0200"
      },
      "message": "firewire: optimize config ROM creation\n\nThe config ROM image of the local node was created in CPU byte order,\nthen a temporary big endian copy was created to compute the CRC, and\nfinally the card driver created its own big endian copy.\n\nWe now generate it in big endian byte order in the first place to avoid\none byte order conversion and the temporary on-stack copy of the ROM\nimage (1000 bytes stack usage in process context).  Furthermore, two\n1000 bytes memset()s are replaced by one 1000 bytes - ROM length sized\nmemset.\n\nThe trivial fw_memcpy_{from,to}_be32() helpers are now superfluous and\nremoved.  The newly added __compute_block_crc() function will be folded\ninto fw_compute_block_crc() in a subsequent change.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "928ec5f148e729076e9202e7c78babede628a50c",
      "tree": "2ad9c7263728d6f1ba91f69003873ed80e966328",
      "parents": [
        "64549e9357e5222a73e41aa87372b37abb047720"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Sep 06 18:49:17 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 12 14:48:40 2009 +0200"
      },
      "message": "firewire: ohci: fix Self ID Count register mask (safeguard against buffer overflow)\n\nThe selfIDSize field of Self ID Count is 9 bits wide, and we are only\ninterested in the high 8 bits.  Fix the mask accordingly.  The\npreviously too large mask didn\u0027t do damage though because the next few\nbits in the register are reserved and therefore zero with presently\nexisting hardware.\n\nAlso, check for the maximum possible self ID count of 252 (according to\nOHCI 1.1 clause 11.2 and IEEE 1394a-2000 clause 4.3.4.1, i.e. up to four\nself IDs of up to 63 nodes, even though IEEE 1394 up to edition 2008\ndefines only up to three self IDs per node).  More than 252 self IDs\nwould only happen if the self ID receive DMA unit malfunctioned, which\nwould likely be caught by other self ID buffer checks.  However, check\nit early to be sure.  More than 253 quadlets would overflow the Topology\nMap CSR.\n\nReported-By: PaX Team\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "4fe0badd5882c64dc2dcd8893f9b85db63339736",
      "tree": "d84d7773171be1a0a4cfacd646e0b7e2754a8089",
      "parents": [
        "fc383796a8cc5df0a0c8633a16dd2e9528a16a63"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Aug 28 13:26:03 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 05 15:59:34 2009 +0200"
      },
      "message": "firewire: ohci: fix Ricoh R5C832, video reception\n\nIn dual-buffer DMA mode, no video frames are ever received from R5C832\nby libdc1394.  Fallback to packet-per-buffer DMA works reliably.\nhttp://thread.gmane.org/gmane.linux.kernel.firewire.devel/13393/focus\u003d13476\n\nReported-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "fc383796a8cc5df0a0c8633a16dd2e9528a16a63",
      "tree": "92a231d28de6d396246a1136099d896a37be2332",
      "parents": [
        "1821bc19d54009b6f5e6462dd79074d728080839"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Aug 28 13:25:15 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 05 15:59:34 2009 +0200"
      },
      "message": "firewire: ohci: fix Agere FW643 and multiple cameras\n\nAn Agere FW643 OHCI 1.1 card works fine for video reception from one\ncamera but fails early if receiving from two cameras.  After a short\nwhile, no IR IRQ events occur and the context control register does not\nreact anymore.  This happens regardless whether both IR DMA contexts are\ndual-buffer or one is dual-buffer and the other packet-per-buffer.\n\nThis can be worked around by disabling dual buffer DMA mode entirely.\nhttp://sourceforge.net/mailarchive/message.php?msg_name\u003d4A7C0594.2020208%40gmail.com\n(Reported by Samuel Audet.)\n\nIn another report (by Jonathan Cameron), an FW643 works OK with two\ncameras in dual buffer mode.  Whether this is due to different chip\nrevisions or different usage patterns (different video formats) is not\nyet clear.  However, as far as the current capabilities of\nfirewire-core\u0027s isochronous I/O interface are concerned, simply\nswitching off dual-buffer on non-working and working FW643s alike is not\na problem in practice.  We only need to revisit this issue if we are\ngoing to enhance the interface, e.g. so that applications can explicitly\nchoose modes.\n\nReported-by: Samuel Audet \u003csamuel.audet@gmail.com\u003e\nReported-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e71d31da062095d8b0b02a26fb5e8879e8d3d0de",
      "tree": "6d45660ec489d9d58bad51a02d8d8877b534e81b",
      "parents": [
        "77c9a5daa9c4d9b37812c9c69c7bcbb3f9399c3c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:18 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:18 2009 +0200"
      },
      "message": "firewire: rename source files\n\nThe source files of firewire-core, firewire-ohci, firewire-sbp2, i.e.\n \"drivers/firewire/fw-*.c\"\nare renamed to\n \"drivers/firewire/core-*.c\",\n \"drivers/firewire/ohci.c\",\n \"drivers/firewire/sbp2.c\".\n\nThe old fw- prefix was redundant to the directory name.  The new core-\nprefix distinguishes the files according to which driver they belong to.\n\nThis change comes a little late, but still before further firewire\ndrivers are added as anticipated RSN.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "77c9a5daa9c4d9b37812c9c69c7bcbb3f9399c3c",
      "tree": "54ea3c48e0663ef1b9f227ffff7710f0ea03f9a1",
      "parents": [
        "e8ca97021c8eb127bb04aec4e2420e1d66be371d"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:18 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:18 2009 +0200"
      },
      "message": "firewire: reorganize header files\n\nThe three header files of firewire-core, i.e.\n \"drivers/firewire/fw-device.h\",\n \"drivers/firewire/fw-topology.h\",\n \"drivers/firewire/fw-transaction.h\",\nare replaced by\n \"drivers/firewire/core.h\",\n \"include/linux/firewire.h\".\n\nThe latter includes everything which a firewire high-level driver (like\nfirewire-sbp2) needs besides linux/firewire-constants.h, while core.h\ncontains the rest which is needed by firewire-core itself and by low-\nlevel drivers (card drivers) like firewire-ohci.\n\nHigh-level drivers can now also reside outside of drivers/firewire\nwithout having to add drivers/firewire to the header file search path in\nmakefiles.  At least the firedtv driver will be such a driver.\n\nI also considered to spread the contents of core.h over several files,\none for each .c file where the respective implementation resides.  But\nit turned out that most core .c files will end up including most of the\ncore .h files.  Also, the combined core.h isn\u0027t unreasonably big, and it\nwill lose more of its contents to linux/firewire.h anyway soon when more\nfirewire drivers are added.  (IP-over-1394, firedtv, and there are plans\nfor one or two more.)\n\nFurthermore, fw-ohci.h is renamed to ohci.h.  The name of core.h and\nohci.h is chosen with regard to name changes of the .c files in a\nfollow-up change.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e8ca97021c8eb127bb04aec4e2420e1d66be371d",
      "tree": "bc9e6c3597eff48632f57903e5cd0d3456fe8d7a",
      "parents": [
        "3dcdc50079bc2c9dbc6524518976353f743f7ec8"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 04 21:09:38 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:17 2009 +0200"
      },
      "message": "firewire: clean up includes\n\nInclude required headers which were only indirectly included.\nRemove unused includes and an unused constant.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "3dcdc50079bc2c9dbc6524518976353f743f7ec8",
      "tree": "ec620a55e21631efee6622f12338fae59b41d1ae",
      "parents": [
        "e41f8d709c31b42129a34305a99d29c38aff75c4"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 04 21:08:43 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:17 2009 +0200"
      },
      "message": "firewire: ohci: access bus_seconds atomically\n\nIn the unlikely event that card-\u003edriver-\u003eget_bus_time() is called during\na cycle64Seconds interrupt, we could read garbage unless atomic accesses\nare used.\n\nThe switch to atomic ops requires to change the 64 seconds counter from\nunsigned to signed, but this shouldn\u0027t matter to the end result.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f8c2287c65f8f72000102fc058232669e4540bc4",
      "tree": "a82393fbdd3a2b20f8e499537b10eb9e61dae941",
      "parents": [
        "ba27e1f7bf220799cd3d7503f82bda71b8ebe8c5"
      ],
      "author": {
        "name": "Jay Fenlason",
        "email": "fenlason@redhat.com",
        "time": "Thu Mar 05 19:08:40 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:49 2009 +0100"
      },
      "message": "firewire: implement asynchronous stream transmission\n\nAllow userspace and other firewire drivers (fw-ipv4 I\u0027m looking at\nyou!) to send Asynchronous Transmit Streams as described in 7.8.3 of\nrelease 1.1 of the 1394 Open Host Controller Interface Specification.\n\nSigned-off-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (tweaks)\n"
    },
    {
      "commit": "e1eff7a393d4a4e3ad1cf65fcba899146840bfd2",
      "tree": "88a040babea1853f40072ed199a78b60f4dcb387",
      "parents": [
        "d01b01787680a1156ff6a554e40baa460bb88efb"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 03 17:55:19 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:48 2009 +0100"
      },
      "message": "firewire: normalize a variable name\n\nStandardize on  if (err)\n                        handle_error;\n           and  if (ret \u003c 0)\n                        handle_error;\n\nDon\u0027t call a variable err if we store values in it which mean success.\nAlso, offset some return statements by a blank line since this how we do\nit in drivers/firewire.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "4817ed240232e89583b0506c2d8e426739af5da3",
      "tree": "95d8220f1cae2df2490488dd35381c7d73a5be7b",
      "parents": [
        "a459b8ab9c176143fecef8ace4b70d6dbd7a8113"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 21 16:39:46 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:41 2009 +0100"
      },
      "message": "firewire: prevent creation of multiple IR DMA contexts for the same channel\n\nOHCI-1394 1.1 clause 10.4.3 says:  \"If more than one IR DMA context\nspecifies receives for packets from the same isochronous channel, the\ncontext destination for that channel\u0027s packets is undefined.\"\n\nAny userspace client and in the future also kernelspace clients can\nallocate IR DMA contexts for any channel.  We don\u0027t want them to\ninterfere with each other, hence it is preferable to return -EBUSY if\nallocation of a second context for a channel is attempted.\n\nNotes:\n  - This limitation is OHCI-1394 specific, therefore its proper place of\n    implementation is down in the low-level driver.\n\n  - Since the \u003clinux/firewire-cdev.h\u003e ABI simply maps one userspace iso\n    client context to one hardware iso context, this OHCI-1394\n    limitation alas requires userspace to implement its own multiplexing\n    of iso reception from the same channel and card to multiple clients\n    when needed.\n\n  - The limitation is independent of channel allocation at the IRM; the\n    latter is really only important for the initiation of iso \n    transmission but not of iso reception.\n\n  - We don\u0027t need to do the same for IT DMA because OHCI-1394 does not\n    have any ties between IT contexts and channels.  Only the voluntary\n    channel allocation protocol via the IRM, globally to the FireWire\n    bus, can ensure proper isochronous transmit behaviour anyway.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "53dca51175cc2f66d21aeb1e70146cca65c53dad",
      "tree": "da729da20cc4ca1cb994fa6659be7f23259f7097",
      "parents": [
        "2dbd7d7e2327b0c2cc4e2de903e1cfa19980a504"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 14 21:47:04 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:40 2009 +0100"
      },
      "message": "firewire: remove line breaks before function names\n\ntype\n    function_name(parameters);\n\nis nice to look at but was not used consistently.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "2dbd7d7e2327b0c2cc4e2de903e1cfa19980a504",
      "tree": "c0efb5bbd26bc2e18a61bf44d0c53db9494a096c",
      "parents": [
        "c490a6dec6cc1b7f0eab56b9fbd565129b3dea2e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 14 21:45:45 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:39 2009 +0100"
      },
      "message": "firewire: standardize a variable name\n\n\"ret\" is the new \"retval\".\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1aa292bb1c53500e3ab570b955d03afa97a9404d",
      "tree": "738675d2cd801012b6626628223c2a20c6e5d352",
      "parents": [
        "8e0ee43bc2c3e19db56a4adaa9a9b04ce885cd84"
      ],
      "author": {
        "name": "David Moore",
        "email": "dcm@acm.org",
        "time": "Tue Jul 22 23:23:40 2008 -0700"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:35 2009 +0100"
      },
      "message": "firewire: Include iso timestamp in headers when header_size \u003e 4\n\nPreviously, when an iso context had header_size \u003e 4, the iso header\n(len/tag/channel/tcode/sy) was passed to userspace followed by quadlets\nstripped from the payload.  This patch changes the behavior:\nheader_size \u003d 8 now passes the header quadlet followed by the timestamp\nquadlet.  When header_size \u003e 8, quadlets are stripped from the payload.\nThe header_size \u003d 4 case remains identical.\n\nSince this alters the semantics of the API, the firewire API version\nneeds to be bumped concurrently with this change.\n\nThis change also refactors the header copying code slightly to be much\neasier to read.\n\nSigned-off-by: David Moore \u003cdcm@acm.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "8b7b6afaa84708d08139daa08538ca3e56c351f1",
      "tree": "91b1d27a08f6e28c13f8163cc2dfbba4022029f0",
      "parents": [
        "b006854955254a971096c120d4ef115a7c6145fb"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jan 20 19:10:58 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jan 24 11:17:27 2009 +0100"
      },
      "message": "firewire: ohci: increase AT req. retries, fix ack_busy_X from Panasonic camcorders and others\n\nCamcorders have a tendency to fail read requests to their config ROM and\nwrite request to their FCP command register with ack_busy_X.  This has\nbecome a problem with newer kernels and especially Panasonic camcorders,\ncausing AV/C in dvgrab and kino to fail.  Dvgrab for example frequently\nlogs \"send oops\"; kino reports loss of AV/C control.  I suspect that\nlower CPU scheduling latencies in newer kernels made this issue more\nprominent now.\n\nAccording to\nhttps://sourceforge.net/tracker/?func\u003ddetail\u0026atid\u003d114103\u0026aid\u003d2492640\u0026group_id\u003d14103\nthis can be fixed by configuring the FireWire controller for more\nhardware retries for request transmission; these retries are evidently\nmore successful than libavc1394\u0027s own retry loop (typically 3 tries on\ntop of hardware retries).\n\nPresumably the same issue has been reported at\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d449252 and\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d477279 .\n\nIn a quick test with a JVC camcorder (which didn\u0027t malfunction like the\nreported camcorders), this change decreased the number of ack_busy_X\nfrom 16 in three runs of dvgrab to 4 in three runs of the same capture\nduration.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b006854955254a971096c120d4ef115a7c6145fb",
      "tree": "91c3c3a50c8ed60464701893119d44f63b50f293",
      "parents": [
        "3d36a0df3b473fb53531484df227f2da8bc7494b"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jan 05 20:43:23 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jan 24 11:17:27 2009 +0100"
      },
      "message": "firewire: ohci: change \"context_stop: still active\" log message\n\nThe present message is mostly just noise.  We only need to be notified\nif the \"active\" flag does not go off before the retry loop terminates.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1d1dc5e83f3299c108a4e44d58cc4bfef48c876a",
      "tree": "4acec6d605d2c04294afa8d5a7699430c34e8449",
      "parents": [
        "ec9a13cdbfc8cf29502096ca69b65f07184a9b2c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Dec 10 00:20:38 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Dec 10 12:45:34 2008 +0100"
      },
      "message": "firewire: fw-ohci: fix IOMMU resource exhaustion\n\nThere is a DMA map/ unmap imbalance whenever a block write request\npacket is sent and then dequeued with ohci_cancel_packet.  The latter\nmay happen frequently if the AR resp tasklet is executed before the AT\nreq tasklet for the same transaction.\n\nAdd the missing dma_unmap_single.  This fixes\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d475156\n\nReported-by: Emmanuel Kowalski\nTested-by: Emmanuel Kowalski\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a1f64819fe9f136c98d572794a35a7e377c951ef",
      "tree": "9e5c7b3c4d45c319838b75cb014cc03d8c29cd65",
      "parents": [
        "cd1f70fdb4823c97328a1f151f328eb36fafd579"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Oct 30 01:41:56 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Oct 31 08:48:25 2008 +0100"
      },
      "message": "firewire: struct device - replace bus_id with dev_name(), dev_set_name()\n\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "7007a0765e33bf89182e069e35ec6009fa54f610",
      "tree": "fd3117ac84b5b951ae459a692e7f14c4af15dd2a",
      "parents": [
        "a55709ba9d27053471f9fca8ee76b41ecefc14cd"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Oct 26 09:50:31 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Oct 26 10:27:00 2008 +0100"
      },
      "message": "firewire: fw-ohci: initialization failure path fixes\n\nFix leaks when pci_probe fails.  Simplify error log strings.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a55709ba9d27053471f9fca8ee76b41ecefc14cd",
      "tree": "e338976917e3926a292c67fcadc59968504d7fcc",
      "parents": [
        "77e557191701afa55ae7320d42ad6458a2ad292e"
      ],
      "author": {
        "name": "Jay Fenlason",
        "email": "fenlason@redhat.com",
        "time": "Wed Oct 22 15:59:42 2008 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Oct 26 10:27:00 2008 +0100"
      },
      "message": "firewire: fw-ohci: don\u0027t leak dma memory on module removal\n\nThe transmit and receive context dma memory was not being freed on\nmodule removal.  Neither was the config rom memory.  Fix that.\n\nThe ab-\u003enext assignment is pure paranoia.\n\nSigned-off-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "837b41b5de356aa67abb2cadb5eef3efc7776f91",
      "tree": "b63a9898c9a2b6563d8aec75c2abbec379898613",
      "parents": [
        "211c8d4942edf2f3337820dda101da6b13c8a19a",
        "f05e21b39f7dddcebab03ff329fef5783fea58d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 10:24:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 10:24:06 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: state userland requirements in Kconfig help\n  firewire: avoid memleak after phy config transmit failure\n  firewire: fw-ohci: TSB43AB22/A dualbuffer workaround\n  firewire: queue the right number of data\n  firewire: warn on unfinished transactions during card removal\n  firewire: small fw_fill_request cleanup\n  firewire: fully initialize fw_transaction before marking it pending\n  firewire: fix race of bus reset with request transmission\n"
    },
    {
      "commit": "8d8bb39b9eba32dd70e87fd5ad5c5dd4ba118e06",
      "tree": "64090a84f4c4466f9f30ff46c993e0cede379052",
      "parents": [
        "c485b465a031b6f9b9a51300e0ee1f86efc6db87"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Jul 25 19:44:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:03 2008 -0700"
      },
      "message": "dma-mapping: add the device argument to dma_mapping_error()\n\nAdd per-device dma_mapping_ops support for CONFIG_X86_64 as POWER\narchitecture does:\n\nThis enables us to cleanly fix the Calgary IOMMU issue that some devices\nare not behind the IOMMU (http://lkml.org/lkml/2008/5/8/423).\n\nI think that per-device dma_mapping_ops support would be also helpful for\nKVM people to support PCI passthrough but Andi thinks that this makes it\ndifficult to support the PCI passthrough (see the above thread).  So I\nCC\u0027ed this to KVM camp.  Comments are appreciated.\n\nA pointer to dma_mapping_ops to struct dev_archdata is added.  If the\npointer is non NULL, DMA operations in asm/dma-mapping.h use it.  If it\u0027s\nNULL, the system-wide dma_ops pointer is used as before.\n\nIf it\u0027s useful for KVM people, I plan to implement a mechanism to register\na hook called when a new pci (or dma capable) device is created (it works\nwith hot plugging).  It enables IOMMUs to set up an appropriate\ndma_mapping_ops per device.\n\nThe major obstacle is that dma_mapping_error doesn\u0027t take a pointer to the\ndevice unlike other DMA operations.  So x86 can\u0027t have dma_mapping_ops per\ndevice.  Note all the POWER IOMMUs use the same dma_mapping_error function\nso this is not a problem for POWER but x86 IOMMUs use different\ndma_mapping_error functions.\n\nThe first patch adds the device argument to dma_mapping_error.  The patch\nis trivial but large since it touches lots of drivers and dma-mapping.h in\nall the architecture.\n\nThis patch:\n\ndma_mapping_error() doesn\u0027t take a pointer to the device unlike other DMA\noperations.  So we can\u0027t have dma_mapping_ops per device.\n\nNote that POWER already has dma_mapping_ops per device but all the POWER\nIOMMUs use the same dma_mapping_error function.  x86 IOMMUs use device\nargument.\n\n[akpm@linux-foundation.org: fix sge]\n[akpm@linux-foundation.org: fix svc_rdma]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix bnx2x]\n[akpm@linux-foundation.org: fix s2io]\n[akpm@linux-foundation.org: fix pasemi_mac]\n[akpm@linux-foundation.org: fix sdhci]\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix sparc]\n[akpm@linux-foundation.org: fix ibmvscsi]\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "95984f62c9b0bf6d89ef4f514b1afe73623481de",
      "tree": "2c46b6e7ec4a56de8e65b194c828985af5fe4414",
      "parents": [
        "f9543d0ab6392a9a5bff0034622688dc10d9d225"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jul 22 18:41:10 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jul 25 15:41:23 2008 +0200"
      },
      "message": "firewire: fw-ohci: TSB43AB22/A dualbuffer workaround\n\nIsochronous reception in dualbuffer mode is reportedly broken with\nTI TSB43AB22A on x86-64.  Descriptor addresses above 2G have been\ndetermined as the trigger:\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d435550\n\nTwo fixes are possible:\n  - pci_set_consistent_dma_mask(pdev, DMA_31BIT_MASK);\n    at least when IR descriptors are allocated, or\n  - simply don\u0027t use dualbuffer.\nThis fix implements the latter workaround.\n\nBut we keep using dualbuffer on x86-32 which won\u0027t give us highmen (and\nthus physical addresses outside the 31bit range) in coherent DMA memory\nallocations.  Right now we could for example also whitelist PPC32, but\nDMA mapping implementation details are expected to change there.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "bbf094cf3dbd9a969dd17cf52325e9fab8dfbe91",
      "tree": "3f77b6cb4fb5587cb10d735e96404d5d1386f64d",
      "parents": [
        "e534fe16b987780744da351acece2a4699783096"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat May 24 16:46:10 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jul 14 13:06:03 2008 +0200"
      },
      "message": "firewire: remove unused struct members\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "c74e92c209cf30ae6003e042e7c017eb6c370b64",
      "tree": "8448c05baad9d41d42f792441eceb5d2ac2a04b7",
      "parents": [
        "55b70a0300b873c0ec7ea6e33752af56f41250ce"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Oct 21 10:43:11 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Oct 22 19:48:55 2007 +0200"
      },
      "message": "firewire: fw-ohci: log a note about unsupported features\n\nbecause there seems to be more time needed to implement this.\nAlso, change related error return values to more appropriate ones.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "02ff8f8ee151e880414b99a11f67cae0cecd4977",
      "tree": "bafdb5af973e0010fb46ea21a2c4f4550a5d8a4d",
      "parents": [
        "ab88ca488b8af66c3defa165874e81e695319a19"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Aug 30 00:11:40 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 17 00:00:08 2007 +0200"
      },
      "message": "firewire: fw-ohci: check for misconfigured bus (phyID \u003d\u003d 63)\n\nCheck NodeID.nodeNumber as per OHCI 1.1 clause 7.2.3.2.  See also IEEE\n1394a table 5B-1.\n\nAlso, demote the \"node ID not valid\" message from error to notification\nas it is not an error condition.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "ab88ca488b8af66c3defa165874e81e695319a19",
      "tree": "0f798dacb2c16317a15b043697ae2e74384ff319",
      "parents": [
        "e524f616f59722bc7f93eb1fd79d3bbdcdf4f894"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Aug 29 19:40:28 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 17 00:00:07 2007 +0200"
      },
      "message": "firewire: fw-ohci: missing dma_unmap_single\n\nat_context_queue_packet() didn\u0027t clean up in an early exit path.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "e524f616f59722bc7f93eb1fd79d3bbdcdf4f894",
      "tree": "172b6ad47b63b282083726722e695a3b09c769a9",
      "parents": [
        "a7fb60db711fce56e372f0bb8a733c0ad1743525"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Aug 20 21:58:30 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 17 00:00:06 2007 +0200"
      },
      "message": "firewire: fw-ohci: log posted write errors\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a7fb60db711fce56e372f0bb8a733c0ad1743525",
      "tree": "ef310098a8e064e05bea8526c0f194ac4fc798bc",
      "parents": [
        "c26f02340e89c55390c9044ea65d9aef610b38f5"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Aug 20 21:41:22 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 17 00:00:06 2007 +0200"
      },
      "message": "firewire: fw-ohci: reorder includes\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c26f02340e89c55390c9044ea65d9aef610b38f5",
      "tree": "13b299e18b0000ce6bbbc0ba83706b638b82ad9a",
      "parents": [
        "ee71c2f9ee85117e41ef87357ed8f75d29369b98"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Aug 20 21:40:30 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 17 00:00:05 2007 +0200"
      },
      "message": "firewire: fw-ohci: fix includes\n\nAdd used includes, remove unused includes.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "ee71c2f9ee85117e41ef87357ed8f75d29369b98",
      "tree": "9bb749909370ec732ed730ca80553908913156af",
      "parents": [
        "df8ec2490fed5dd23316bbb2c2e90e59e7d37126"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 25 14:08:19 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 17 00:00:05 2007 +0200"
      },
      "message": "firewire: fw-ohci: enforce read order for selfID generation\n\nIt seems unlikely, but access to self_id_cpu[0] could at least in theory\nbe deferred until after the loop over self_id_cpu[1..n] or even after\nthe subsequent reg_read.  Enforce the desired order by a read barrier.\n\nAlso prevent the reg_read from being reordered relative to the for loop.\nThis isn\u0027t necessary if the loop\u0027s conditional printk counts as an\nimplicit barrier, but better make it explicit.\n\n(self_id_cpu[] is a coherent DMA buffer.)\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5511142870046a7bed947d51ec9b320856ee120a",
      "tree": "288105167ab620dddca35e35b20a4c94431387ca",
      "parents": [
        "b21010ed6498391c0f359f2a89c907533fe07fec"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Sep 06 09:50:30 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Sep 07 18:44:35 2007 +0200"
      },
      "message": "firewire: fw-ohci: ignore failure of pci_set_power_state (fix suspend regression)\n\nFixes (papers over) \"Sleep problems with kernels \u003e\u003d 2.6.21 on powerpc\",\nhttp://lkml.org/lkml/2007/8/25/155.  The issue is that the FireWire\ncontroller\u0027s pci_dev.current_state of iBook G3 and presumably older\nPowerBooks is still in PCI_UNKNOWN instead of PCI_D0 when the firewire\ndriver\u0027s .suspend method is called.\n\nLike it was suggested earlier in http://lkml.org/lkml/2006/10/24/13, we\ndo not fail .suspend anymore if pci_set_power_state failed.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "4eaff7d63052d781732de9eff4d2287c8e00348f",
      "tree": "ce7461a475a8d76c8a6e516d7e157f54851155e7",
      "parents": [
        "25659f7183376c6b37661da6141d5eaa21479061"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jul 25 19:18:08 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Aug 02 20:34:17 2007 +0200"
      },
      "message": "firewire: fw-ohci: dma_free_coherent needs IRQs enabled\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b980f5a224f3df6c884dbf5ae48797ce352ba139",
      "tree": "72aa1bf66946172d58e2e72634a65f8126c91834",
      "parents": [
        "362e901c65123e0e72a764fcbe6c3d6a2505c7a6"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jul 12 22:25:14 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jul 18 23:53:27 2007 +0200"
      },
      "message": "firewire: fw-ohci: fix \"scheduling while atomic\"\n\ncontext_stop is called by bus_reset_tasklet, among else.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "362e901c65123e0e72a764fcbe6c3d6a2505c7a6",
      "tree": "8d9fd6ea38bd90b20c70a2276c86c1eaf7116ca0",
      "parents": [
        "5bae7ac9feba925fd0099057f6b23d7be80b7b41"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jul 12 22:24:19 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jul 18 23:53:27 2007 +0200"
      },
      "message": "firewire: fw-ohci: flush MMIO write before msleep\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "8a8cea2734808522f02941ea16125810ee42c9c7",
      "tree": "f1cbb4e92c1a4b55cfd9d82d8a82c24827168717",
      "parents": [
        "b8f106570f20a7a98a18a14c2d11d65f581c2808"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jun 09 19:26:22 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jul 10 00:07:42 2007 +0200"
      },
      "message": "firewire: missing newline in printk\n\nAlso remove some errno printouts which will be shown by infrastructure\ncode anyway.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "0a9972baa7454c747fd5f67ce864420dff99d383",
      "tree": "b7e85d0d47e05f35b3c4c5fa4ffe9c97a35a134c",
      "parents": [
        "0471448f4d017470995d8a2272dc8c06dbed3b77"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jun 23 20:28:17 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 29 17:32:07 2007 +0200"
      },
      "message": "firewire: fix async reception on big endian machines\n\ndescriptor.data_address is little endian\n\nTested-by: Olaf Hering \u003colh@suse.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "a515958d6f77fdff1a40f8b08a9a95ac223c5d48",
      "tree": "24204825fc5c37e4ee38c0755cb8441ed2c192e8",
      "parents": [
        "de7f928ca460005086a8296be07c217aac4b625d"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jun 09 19:31:14 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jun 16 12:43:20 2007 +0200"
      },
      "message": "firewire: fix hang after card ejection\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "2aef469a35a273609beaa7094d5a07c1f6d75285",
      "tree": "3aad939f26bee97a7998b67a634478d081192cee",
      "parents": [
        "b32744751e751e0abb184cf3b7359c9387a4bdf8"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Wed May 30 19:06:35 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 31 21:40:14 2007 +0200"
      },
      "message": "firewire: Implement suspend/resume PCI driver hooks.\n\nIt\u0027s a low-impact design, that just makes suspend/resume look like\na bus reset to the upper level drivers, but it should be sufficient.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "ec839e43fbe1b1ab74264ac510f6cd9c8e8334a4",
      "tree": "ea0e334f7d1791a730923a81f2ea8eeb56dd1c73",
      "parents": [
        "976da96a5d4fe84bd292b950e566325dc3e5904e"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Tue May 22 18:55:48 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun May 27 23:21:00 2007 +0200"
      },
      "message": "firewire: Add missing byteswapping for receive DMA programs.\n\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "faa2fb4e67775101a5c46074fa24f0d81cdb4deb",
      "tree": "36a4d584fdf4851fcfbbd4f25079e67730b66a6d",
      "parents": [
        "835a906c74ecf20cdb817d6d02975cc0ba421e35"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Tue May 15 20:36:10 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 15 18:56:37 2007 -0700"
      },
      "message": "missing mm.h in fw-ohci\n\nneed it for page_private(), not all targets have it pulled indirectly\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d79406dd140a3e6eed6f26b17f0c6620fe30b50c",
      "tree": "ed08893adb8ce46712b1602dacc227c065697ce6",
      "parents": [
        "2d826cc5c791bdc5f5651324c485746be9492be0"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Wed May 09 19:23:15 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 10 18:24:14 2007 +0200"
      },
      "message": "firewire: Convert OHCI driver to use standard goto unwinding for error handling.\n\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "2d826cc5c791bdc5f5651324c485746be9492be0",
      "tree": "7c46ff209d06f1f8949aa2c3e10491594d10e203",
      "parents": [
        "213d7bbd76673fb1b26f1786af180bac07e57652"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Wed May 09 19:23:14 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 10 18:24:14 2007 +0200"
      },
      "message": "firewire: Always use parens with sizeof.\n\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1e4c7b0dabb46eb3a2a15cf5efbd3945b13373a0",
      "tree": "e20e446acf3312783f71ff0844c342b83cd1de7e",
      "parents": [
        "58e313b36237ec0a2dc12fd4f7f06d875ce54bd1"
      ],
      "author": {
        "name": "Olaf Hering",
        "email": "olh@suse.de",
        "time": "Sat May 05 23:17:13 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 10 18:24:14 2007 +0200"
      },
      "message": "firewire: Provide module aliase for backwards compatibility.\n\nThis patch loads fw-sbp2 if sbp2 is still in the config file. So one can\ngo back and forth between releases without worry about the root\nfilesystem drivers.\n\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\n\nExisting mkinitrd scripts still have to be adapted, unless they grok\nmodule aliases.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a77754a75d58d534fd34a5add8ac1bb91d4ffc0f",
      "tree": "773885568a19a8ed354acba1bf5c1d5a63a828d1",
      "parents": [
        "a98e27198771d066934a263177673ebde797e8fb"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Mon May 07 20:33:35 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 10 18:24:13 2007 +0200"
      },
      "message": "firewire: Uppercase most macro names.\n\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c781c06d119d04601727f2fbc30151e6760d536d",
      "tree": "1faf19acc6bc2a2a3b3bdae8368e395e75cd7518",
      "parents": [
        "e175569c4639872b5cf242c9d4a71cc40c5f3c29"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Mon May 07 20:33:32 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 10 18:24:13 2007 +0200"
      },
      "message": "firewire: Clean up comment style.\n\nDrop filenames from file preamble, drop editor annotations and\nuse standard indent style for block comments.\n\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (fixed typo)\n"
    },
    {
      "commit": "053b30808f693b2e4bbef2955c2dad0fcacdb806",
      "tree": "5770728137ac182e13239e48a096c1602de8296e",
      "parents": [
        "15536221d1f09ae7707f70a183045ee20d8bcf17"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Tue Apr 10 18:11:17 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Apr 12 00:18:57 2007 +0200"
      },
      "message": "firewire: Check for CONTEXT_RUN not CONTEXT_ACTIVE when starting AT DMA context.\n\nDoh, bad typo...\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "15536221d1f09ae7707f70a183045ee20d8bcf17",
      "tree": "1a2c4977632fee2464ebf63b95c14b74a4d16306",
      "parents": [
        "8a2f7d932fc6a4881ff837738e23b41a1c228338"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Tue Apr 10 18:11:16 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Apr 12 00:18:57 2007 +0200"
      },
      "message": "firewire: Byteswap iso header so all headers are presented as be32.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "8a2f7d932fc6a4881ff837738e23b41a1c228338",
      "tree": "f8dd2b550d8b5d2462b64e1d1595493f227a9060",
      "parents": [
        "ef370ee74b7a9cb769d50bfb73b4023ee3e37719"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Wed Mar 28 14:26:10 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Mar 28 21:37:54 2007 +0200"
      },
      "message": "firewire: Fix start on cycle 0 for IT, implement start on cycle for IR.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "20d11673112f7fa2087ae2eaf8896c8d2d8ccb07",
      "tree": "e56393f70dc90ead40a01754ac212b0bc5782af7",
      "parents": [
        "6f2e53d5135a861d3ee8afdacac5cde13c49a05d"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Mon Mar 26 19:18:19 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Mar 28 21:30:14 2007 +0200"
      },
      "message": "firewire: Remember to set the driver_data pointer when queueing a packet.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "eb0306eac0aad0b7da18d8fbfb777f155b2c010d",
      "tree": "ac0d1922362804b9687deb5bffb8179ac670149a",
      "parents": [
        "c70dc788fd8d3870b41231b6a53a64afb98cfd13"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Wed Mar 14 17:34:54 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Mar 15 18:21:36 2007 +0100"
      },
      "message": "firewire: Move sync and tag parameters to start_iso ioctl.\n\nSetting these at create_context time or start_iso time doesn\u0027t matter\nmuch, but raw1394 sets them at start_iso time so that will be easier to\nemulate this way.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c70dc788fd8d3870b41231b6a53a64afb98cfd13",
      "tree": "60a70261eb3e6c812fd6c07ac48a863de73ba0be",
      "parents": [
        "d60d7f1d5ce83d1be8d79256f711d6a645b7a2fa"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Wed Mar 14 17:34:53 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Mar 15 18:21:36 2007 +0100"
      },
      "message": "firewire: Fix dualbuffer iso receive mode and drop buffer fill mode.\n\nThe dualbuffer DMA setup did not account for the iso trailer word\nand thus didn\u0027t  work correctly.  With this fixed we can drop the\ndual buffer fallback mode.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "d60d7f1d5ce83d1be8d79256f711d6a645b7a2fa",
      "tree": "dd3f02960657d4270efb0990b5cdfe0eeef62ad5",
      "parents": [
        "473d28c730e2de888c24b226cfe4183868eacde2"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Wed Mar 07 12:12:56 2007 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 09 22:03:15 2007 +0100"
      },
      "message": "firewire: Implement CSR cycle time and bus time registers.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "473d28c730e2de888c24b226cfe4183868eacde2",
      "tree": "8653544f742c8c99d6076f881eb0eb0ef4b30904",
      "parents": [
        "7c6e647da00883ec2208171d51537f23498dd669"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Wed Mar 07 12:12:55 2007 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 09 22:03:14 2007 +0100"
      },
      "message": "firewire: Implement topology map and fix a couple of loopback bugs.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f319b6a02f12c3712eb64eee6a23584367cb3588",
      "tree": "8f4fbfac565193a4bf31c9588f495b1429e6ef4b",
      "parents": [
        "2603bf219e9bef3396b96b65326de7db27958c95"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Wed Mar 07 12:12:49 2007 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 09 22:03:11 2007 +0100"
      },
      "message": "firewire: Move async transmit to use the general context code.\n\nThe old async transmit context handling was starting and stopping\nDMA for every packet transmission.  This could cause silently failing\npacket transmission, if the DMA was reprogrammed too close to being\nstopped.\n\nThe general context code keeps DMA running at all times and fixes this\nproblem.  It\u0027s also a nice cleanup.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e254a4b45f265d9df120b83d5c2c9437902b601b",
      "tree": "fafd0f0442e98776b75aed033e6ef1268cd51749",
      "parents": [
        "49e1179b16fe54bfa070cd955a24c5ce82e21d16"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Wed Mar 07 12:12:38 2007 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 09 22:03:06 2007 +0100"
      },
      "message": "firewire: Clear all interrupt bits before shutting down.\n\nSome flaky controllers doesn\u0027t honor the masterIntEnable bits\nand can generate bus reset events even if that bit is cleared.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "65efffa8f0cd86a199bf19ede5c91552d35c5a38",
      "tree": "fd5449b72e4a08acedbaba1a315daa455962b020",
      "parents": [
        "373b2edd864b8753419521b715bd1ddafd2f2af3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 05 18:19:51 2007 -0800"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 09 22:03:05 2007 +0100"
      },
      "message": "firewire: Scheduled removal of SA_xxx interrupt flags fixups 3\n\nThe obsolete SA_xxx interrupt flags have been used despite the scheduled\nremoval.  Fixup the remaining users in -mm.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    }
  ],
  "next": "373b2edd864b8753419521b715bd1ddafd2f2af3"
}
