)]}'
{
  "log": [
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "34699403e9916060af8ae23f5e4705a6c078e79d",
      "tree": "e149ca6354171caf61132d80508ad878b00878c9",
      "parents": [
        "7fc86a7908a4e9eb2da4b6498f86193d113842d3",
        "d1bbd20972936b9b178fda3eb1ec417cb27fdc01"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 20:31:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 20:31:15 2012 -0700"
      },
      "message": "Merge tag \u0027firewire-updates\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394\n\nPull IEEE 1394 (FireWire) subsystem updates post v3.3 from Stefan Richter:\n\n - Some SBP-2 initiator fixes, side product from ongoing work on a target.\n\n - Reintroduction of an isochronous I/O feature of the older ieee1394 driver\n   stack (flush buffer completions); it was evidently rarely used but not\n   actually unused.  Matching libraw1394 code is already available.\n\n - Be sure to prefix all kernel log messages with device name or card name,\n   and other logging related cleanups.\n\n - Misc other small cleanups, among them a small API change that affects\n   sound/firewire/ too. Clemens Ladisch is aware of it.\n\n* tag \u0027firewire-updates\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394: (26 commits)\n  firewire: allow explicit flushing of iso packet completions\n  firewire: prevent dropping of completed iso packet header data\n  firewire: ohci: factor out iso completion flushing code\n  firewire: ohci: simplify iso header pointer arithmetic\n  firewire: ohci: optimize control bit checks\n  firewire: ohci: remove unused excess_bytes field\n  firewire: ohci: copy_iso_headers(): make comment match the code\n  firewire: cdev: fix IR multichannel event documentation\n  firewire: ohci: fix too-early completion of IR multichannel buffers\n  firewire: ohci: move runtime debug facility out of #ifdef\n  firewire: tone down some diagnostic log messages\n  firewire: sbp2: replace a GFP_ATOMIC allocation\n  firewire: sbp2: Fix SCSI sense data mangling\n  firewire: sbp2: Ignore SBP-2 targets on the local node\n  firewire: sbp2: Take into account Unit_Unique_ID\n  firewire: nosy: Use the macro DMA_BIT_MASK().\n  firewire: core: convert AR-req handler lock from _irqsave to _bh\n  firewire: core: fix race at address_handler unregistration\n  firewire: core: remove obsolete comment\n  firewire: core: prefix log messages with card name\n  ...\n"
    },
    {
      "commit": "d1bbd20972936b9b178fda3eb1ec417cb27fdc01",
      "tree": "5d2e29adbc6f0e8ad0dd07b7624e2ad07181303e",
      "parents": [
        "18d627113b830cda80792e96b28341bcd41cf40c"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Sun Mar 18 19:06:39 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 18 22:15:39 2012 +0100"
      },
      "message": "firewire: allow explicit flushing of iso packet completions\n\nExtend the kernel and userspace APIs to allow reporting all currently\ncompleted isochronous packets, even if the next interrupt packet has not\nyet been reached.  This is required to determine the status of the\npackets at the end of a paused or stopped stream, and useful for more\nprecise synchronization of audio streams.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "18d627113b830cda80792e96b28341bcd41cf40c",
      "tree": "44281ec110668e9f7a583303b28ba2ca47012a20",
      "parents": [
        "910e76c607546ead218de8b11c32597d6b8fe7e4"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Sun Mar 18 19:05:29 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 18 22:15:39 2012 +0100"
      },
      "message": "firewire: prevent dropping of completed iso packet header data\n\nThe buffer for the header data of completed iso packets has a fixed\nsize, so it is possible to configure a stream with a big interval\nbetween interrupt packets or with big headers so that this buffer would\noverflow.  Previously, ohci.c would drop any data that would not fit,\nbut this could make unsuspecting applications believe that fewer than\nthe actual number of packets have completed.\n\nInstead of dropping data, add calls to flush_iso_completion() so that\nthere are as many events as needed to report all of the data.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "910e76c607546ead218de8b11c32597d6b8fe7e4",
      "tree": "8a858f98ae79a998aeeef09d7b2a142d05d201b6",
      "parents": [
        "73864012f386ca5a193f3231c9b1936e23709a94"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Sun Mar 18 19:04:43 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 18 22:15:39 2012 +0100"
      },
      "message": "firewire: ohci: factor out iso completion flushing code\n\nIn preparation for the following patches that add more flushing, move\nthe code for flushing accumulated header data into a common function.\nThe timestamp of the last completed packed is passed through the context\nstructure instead of a function parameter to allow accessing this value\nlater outside of the handle_i?_packet functions.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "73864012f386ca5a193f3231c9b1936e23709a94",
      "tree": "0278de90e03579c0bac789173b97faaf13112d2e",
      "parents": [
        "90fcc8987390bffd79c6fd16aa59cc6ef549efcb"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Sun Mar 18 19:04:05 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 18 22:15:38 2012 +0100"
      },
      "message": "firewire: ohci: simplify iso header pointer arithmetic\n\nWhen storing the header data of completed iso packets, we effectively\ntreat the buffers as arrays of quadlets.  Actually declaring the\npointers as u32* avoids repetitive pointer arithmetic, removes the\nunhelpfully named \"i\" variables, and thus makes the code clearer.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "90fcc8987390bffd79c6fd16aa59cc6ef549efcb",
      "tree": "06a8ea8088e6fe0128f00637e03abe275261e59e",
      "parents": [
        "b9b5bbfda61c1d202dd943dddca8cdf617863fb9"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Sun Mar 18 19:03:26 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 18 22:15:38 2012 +0100"
      },
      "message": "firewire: ohci: optimize control bit checks\n\nDoing the endian conversion on the constant instead of the memory\nfield allows the compiler to do the conversion at compile time.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b9b5bbfda61c1d202dd943dddca8cdf617863fb9",
      "tree": "7cb0d071f63e38fadebb59a4ed6b7923d1abd1a6",
      "parents": [
        "32c507f7b73d74c00caae6bbbd539f368be5d108"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Sun Mar 18 19:02:26 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 18 22:15:38 2012 +0100"
      },
      "message": "firewire: ohci: remove unused excess_bytes field\n\nCommit 6498ba04aee6 (remove unused dualbuffer IR code) overlooked\na field in struct iso_context.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "32c507f7b73d74c00caae6bbbd539f368be5d108",
      "tree": "ca6994989dd5735833dbe1b9133e2e6133b45790",
      "parents": [
        "a7611e84bd06c70c8b0cd88cd1e474c3c42fee3e"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Sun Mar 18 19:01:39 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 18 22:15:38 2012 +0100"
      },
      "message": "firewire: ohci: copy_iso_headers(): make comment match the code\n\nThe comment incorrectly talked about one little-endian quadlet, while\nthere are actually two.  Furthermore, the endianness of the remaining\nheaders depends on whatever protocol is used, so don\u0027t mention them.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "0c0efbacab8d70700d13301e0ae7975783c0cb0a",
      "tree": "40d3dc3ccc449c8731239bb13505f0c2101ab000",
      "parents": [
        "cfda62baa474b194802a555d3f7f2ccfa27e28bb"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Mar 12 21:45:47 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Mar 17 11:07:26 2012 +0100"
      },
      "message": "firewire: ohci: fix too-early completion of IR multichannel buffers\n\nhandle_ir_buffer_fill() assumed that a completed descriptor would be\nindicated by a non-zero transfer_status (as in most other descriptors).\nHowever, this field is written by the controller as soon as (the end of)\nthe first packet has been written into the buffer.  As a consequence, if\nwe happen to run into such a descriptor when the interrupt handler is\nexecuted after such a packet has completed, the descriptor would be\ntaken out of the list of active descriptors as soon as the buffer had\nbeen partially filled, so the event for the buffer being completely\nfilled would never be sent.\n\nTo fix this, handle descriptors only when they have been completely\nfilled, i.e., when res_count \u003d\u003d 0.  (This also matches the condition\nthat is reported by the controller with an interrupt.)\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nCc: 2.6.36+ \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "cfda62baa474b194802a555d3f7f2ccfa27e28bb",
      "tree": "bab66039c764ffb9a568e5356edd001fbb3210dd",
      "parents": [
        "98466cc4502b3171f1bdc146db0d2106fcbc3f4f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 04 21:34:21 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Mar 10 17:41:19 2012 +0100"
      },
      "message": "firewire: ohci: move runtime debug facility out of #ifdef\n\nCONFIG_FIREWIRE_OHCI_DEBUG could have been exposed to kernel tweakers\nif CONFIG_EXPERT was set.  But in hindsight, this stuff is far too\nuseful to omit it.  So get rid of two #else branches that are only\ngoing to bitrot otherwise.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "98466cc4502b3171f1bdc146db0d2106fcbc3f4f",
      "tree": "40dd97e187c4ce9217a71d94b51176b2e3f4e97c",
      "parents": [
        "c13ccfcf66b2e70f8d01f7fe7e1e20ba60e733e1"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 04 14:24:31 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Mar 10 17:41:19 2012 +0100"
      },
      "message": "firewire: tone down some diagnostic log messages\n\nThe \"skipped bus generations\" message was added together with the\nrespective fw_device retaining/ reviving code in order to see how it all\nworks out.  It did well, so don\u0027t spam the log anymore.\n\nThe \"register access failure\" situation still needs an actual handler.\nBut at this point it makes less sense to ask folks to send mails about\nit.  We now have a pretty good picture of what controllers emit this and\nwhen:\n\nTexas Instruments PCIxx21 FireWire + CardBus + flash memory card\ncontroller:\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d608544\n\nO2 Micro FireWire + flash memory card controller:\nhttps://bugs.launchpad.net/ubuntu/+source/linux/+bug/801719\nhttps://bugs.launchpad.net/ubuntu/+source/linux/+bug/881688\nhttp://marc.info/?l\u003dlinux1394-devel\u0026m\u003d132309283531423\nhttp://marc.info/?l\u003dlinux1394-devel\u0026m\u003d132368567907469\nhttp://marc.info/?l\u003dlinux1394-devel\u0026m\u003d132516165727468\nhttp://marc.info/?l\u003dlinux1394-devel\u0026m\u003d133006486927699\n\nPinnacle Movieboard:\ncommit 7f7e37115a8b6724f26d0637a04e1d35e3c59717\nhttp://marc.info/?l\u003dlinux1394-devel\u0026m\u003d130714243325962\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c13ccfcf66b2e70f8d01f7fe7e1e20ba60e733e1",
      "tree": "82b06c527c5d514a64a9d95bbc1390100d00bdad",
      "parents": [
        "6503de65459da619d3ade0824c9cc17ea0a57141"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 04 14:23:00 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Mar 10 17:41:19 2012 +0100"
      },
      "message": "firewire: sbp2: replace a GFP_ATOMIC allocation\n\nsbp2_send_management_orb() is called by sbp2_login, sbp2_reconnect, and\nsbp2_remove, all which are able to sleep during memory allocations.\nActually, sbp2_send_management_orb() itself is a sleeping function.\n\nLogin and remove could allocate with GFP_KERNEL but reconnect needs\nGFP_NOIO to ensure progress in low memory situations.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "6503de65459da619d3ade0824c9cc17ea0a57141",
      "tree": "4d2212199dfa1b72239594479345cb2a9c5c73af",
      "parents": [
        "74044563a2318f2c56fa53af64f7800f49fb479d"
      ],
      "author": {
        "name": "Chris Boot",
        "email": "bootc@bootc.net",
        "time": "Wed Feb 15 14:59:10 2012 +0000"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 22 22:36:02 2012 +0100"
      },
      "message": "firewire: sbp2: Fix SCSI sense data mangling\n\nSCSI sense data in SBP-2/3 is carried in an unusual format that means we\nhave to un-mangle it on our end before we pass it to the SCSI subsystem.\nCurrently our un-mangling code doesn\u0027t quite follow the SBP-2 standard\nin that we always assume Current and never Deferred error types, we\nnever set the VALID bit, and we mishandle the FILEMARK, EOM and ILI\nbits.\n\nThis patch fixes the sense un-mangling to correctly handle those and\nfollow the spec.\n\nSigned-off-by: Chris Boot \u003cbootc@bootc.net\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "74044563a2318f2c56fa53af64f7800f49fb479d",
      "tree": "b07889e33612d12c9584518236b2bf2ff0215741",
      "parents": [
        "8ff6a75744dfc0ea19a03c0ac5a438ef8d825342"
      ],
      "author": {
        "name": "Chris Boot",
        "email": "bootc@bootc.net",
        "time": "Wed Feb 15 14:59:09 2012 +0000"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 22 22:36:02 2012 +0100"
      },
      "message": "firewire: sbp2: Ignore SBP-2 targets on the local node\n\nThe firewire-sbp2 module tries to login to an SBP-2/3 target even when\nit is running on the local node, which fails because of the inability to\nfetch data from DMA mapped regions using firewire transactions on the\nlocal node. It also doesn\u0027t make much sense to have the initiator and\ntarget on the same node, so this patch prevents this behaviour.\n\nSigned-off-by: Chris Boot \u003cbootc@bootc.net\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (changed the comment)\n"
    },
    {
      "commit": "8ff6a75744dfc0ea19a03c0ac5a438ef8d825342",
      "tree": "218244aab1394d4823df06ccdab08248dc756aa3",
      "parents": [
        "e894d1d7fd8cfa89a085df2d368a5e652751b0a1"
      ],
      "author": {
        "name": "Chris Boot",
        "email": "bootc@bootc.net",
        "time": "Wed Feb 15 14:59:08 2012 +0000"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 22 22:36:01 2012 +0100"
      },
      "message": "firewire: sbp2: Take into account Unit_Unique_ID\n\nIf the target\u0027s unit directory contains a Unit_Unique_ID entry, we\nshould use that as the target\u0027s GUID for identification purposes. The\nSBP-2 standards document says:\n\n\"Although the node unique ID (EUI-64) present in the bus information\nblock is sufficient to uniquely identify nodes attached to Serial Bus,\nit is insufficient to identify a target when a vendor implements a\ndevice with multiple Serial Bus node connections. In this case initiator\nsoftware requires information by which a particular target may be\nuniquely identified, regardless of the Serial Bus access path used.\"\n\n[ IEEE T10 P1155D Revision 4, Section 7.6 (page 51) ] and\n[ IEEE T10 P1467D Revision 5, Section 7.9 (page 74) ]\n\nSigned-off-by: Chris Boot \u003cbootc@bootc.net\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e894d1d7fd8cfa89a085df2d368a5e652751b0a1",
      "tree": "37bb8a0145719e00a1b7e6391422735577de872e",
      "parents": [
        "ea102d0ec475e4cd6e74a8b61b45708fbf6b582e"
      ],
      "author": {
        "name": "santosh nayak",
        "email": "santoshprasadnayak@gmail.com",
        "time": "Tue Feb 21 15:38:13 2012 +0530"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 22 22:36:01 2012 +0100"
      },
      "message": "firewire: nosy: Use the macro DMA_BIT_MASK().\n\nUse the macro DMA_BIT_MASK instead of the constant  0xffffffff\n\nSigned-off-by: Santosh Nayak \u003csantoshprasadnayak@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "ea102d0ec475e4cd6e74a8b61b45708fbf6b582e",
      "tree": "523c0b5b10e0f0325332daaca74f78454e6f7b8f",
      "parents": [
        "90963f1cdb3baffc68321e7c98073bf9e99d2ec7"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 18 20:42:00 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 22 22:36:01 2012 +0100"
      },
      "message": "firewire: core: convert AR-req handler lock from _irqsave to _bh\n\nfw_core_handle_request() is called by the low-level driver in tasklet\ncontext or process context, and fw_core_add/remove_address_handler() is\ncalled by mid- or high-level code in process context.  So convert\naddress_handler_lock accesses from those which disable local IRQs to\nones which just disable local softIRQs.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "90963f1cdb3baffc68321e7c98073bf9e99d2ec7",
      "tree": "f05b75602a799b48d38f751de20b879d87bd6c4a",
      "parents": [
        "280f64d4f108b7ac707d6208d50a59627b984dc5"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 18 19:54:45 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 22 22:36:01 2012 +0100"
      },
      "message": "firewire: core: fix race at address_handler unregistration\n\nFix the following unlikely but possible race:\n\nCPU 1                             CPU 2\n------------------------------------------------------------------------\nAR-request tasklet\n    lookup handler\n                                  unregister handler\n\t\t\t\t  free handler-\u003ecallback_data or handler\n    call handler-\u003ecallback\n\nThe application which registered the handler has no way to stop nodes\nsending new requests to their address range, hence cannot prevent this\nrace.\n\nFix it simply by extending the address_handler_lock-protected region\nfrom only around the lookup to around both lookup and call.  We only\nneed to do so in the exclusive region handler; the FCP region handler\nalready holds the lock around the handler-\u003ecallback call.\n\nAlas this removes the current ability to execute the callback in\nparallel on different CPUs if it was called for different FireWire cards\nat the same time.  (For a single card, the handler is already\nserialized.)  If this loss of a rather obscure feature is not tolerable,\na more complex fix would be required:  Add a handler reference counter;\nwait in fw_core_remove_address_handler() for this conter to become zero.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "280f64d4f108b7ac707d6208d50a59627b984dc5",
      "tree": "1c2389008ef207f7b44e81c40face6dd1bb2d5c3",
      "parents": [
        "26b4950de174bc96c27b77546370dec84fb75ae7"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 18 19:53:39 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 22 22:36:00 2012 +0100"
      },
      "message": "firewire: core: remove obsolete comment\n\nTarget-like applications or peer-to-peer-like applications require the\nglobal address handler registration which we have right now, or a per-\ncard registration.  And node lookup, while it would be nice to have,\nwould be impossible in the brief time between self-ID-complete event and\ncompletion of firewire-core\u0027s topology scanning.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "26b4950de174bc96c27b77546370dec84fb75ae7",
      "tree": "a48479a6f1f4675d900b621d6ddfde92aadb0e33",
      "parents": [
        "8408dc1c14c113face77f6f967af98f76999989f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 18 22:03:14 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 22 22:36:00 2012 +0100"
      },
      "message": "firewire: core: prefix log messages with card name\n\nAssociate all log messages from firewire-core with the respective card\nbecause some people have more than one card.  E.g.\n    firewire_ohci 0000:04:00.0: added OHCI v1.10 device as card 0, 8 IR + 8 IT contexts, quirks 0x0\n    firewire_ohci 0000:05:00.0: added OHCI v1.10 device as card 1, 8 IR + 8 IT contexts, quirks 0x0\n    firewire_core: created device fw0: GUID 0814438400000389, S800\n    firewire_core: phy config: new root\u003dffc1, gap_count\u003d5\n    firewire_core: created device fw1: GUID 0814438400000388, S800\n    firewire_core: created device fw2: GUID 0001d202e06800d1, S800\nturns into\n    firewire_ohci 0000:04:00.0: added OHCI v1.10 device as card 0, 8 IR + 8 IT contexts, quirks 0x0\n    firewire_ohci 0000:05:00.0: added OHCI v1.10 device as card 1, 8 IR + 8 IT contexts, quirks 0x0\n    firewire_core 0000:04:00.0: created device fw0: GUID 0814438400000389, S800\n    firewire_core 0000:04:00.0: phy config: new root\u003dffc1, gap_count\u003d5\n    firewire_core 0000:05:00.0: created device fw1: GUID 0814438400000388, S800\n    firewire_core 0000:04:00.0: created device fw2: GUID 0001d202e06800d1, S800\n\nThis increases the module size slightly; to keep this in check, turn the\nformer printk wrapper macros into functions.  Their implementation is\nlargely copied from driver core\u0027s dev_printk counterparts.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "8408dc1c14c113face77f6f967af98f76999989f",
      "tree": "988695127b32317c85787e545ad00eda4c4bb1c2",
      "parents": [
        "59759ff6f151dab70cc227c337fc54da221cf8d7"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 19 12:48:36 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 22 22:36:00 2012 +0100"
      },
      "message": "firewire: net: use dev_printk API\n\nChange the log line prefix from \"firewire_net: \" to \"net firewire0: \"\netc. for the case that several RFC 2734 interfaces are being used in the\nsame machine.\n\nNote, the netdev_printk API is not very useful to firewire-net.\nnetdev_notice(net, \"abc\\n\") would result in irritating messages like\n\"firewire_ohci 0000:0a:00.0: firewire0: abc\".  Nor would a dev_printk on\nthe fw_unit.device to which firewire-net is being bound be useful,\nbecause there are generally multiple ones of those per interface (from\nall RFC 2734 peers on the bus, the local node being only one of them).\n\nIn the initialization message of each interface, log the PCI device\nname of the card which is parent of the netdevice instead of the GUID\nof the peer which was semi-randomly used to establish the netdevice.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "59759ff6f151dab70cc227c337fc54da221cf8d7",
      "tree": "59565ac1520fcaad7fd914b25d7ca24ba4eb0ddf",
      "parents": [
        "0c22ecdebb65b96408c5c369321702f0dee908ee"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 18 22:01:54 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 22 22:36:00 2012 +0100"
      },
      "message": "firewire: net: identify to driver core as \"firewire_net\", not \"net\"\n\nOn second thought, there is little reason to have driver name differ\nfrom module name.  Therefore, change\n    /sys/bus/firewire/drivers/net\n    /sys/bus/firewire/devices/fw0.0/driver -\u003e [...]/net\n    /sys/module/firewire_net/drivers/firewire:net\nto\n    /sys/bus/firewire/drivers/firewire_net\n    /sys/bus/firewire/devices/fw0.0/driver -\u003e [...]/firewire_net\n    /sys/module/firewire_net/drivers/firewire:firewire_net\nIt is redundant but consistent with firewire-sbp2\u0027s recently changed\ndriver name.\n\nI don\u0027t see this anywhere used, so it should not matter either way.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "0c22ecdebb65b96408c5c369321702f0dee908ee",
      "tree": "9c1a09016773741e2a38890594472eedc587c0fc",
      "parents": [
        "eba9ebaaa26d60e07bc0aea585c13bc1d5a728c1"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 18 22:01:14 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 22 22:35:59 2012 +0100"
      },
      "message": "firewire: sbp2: identify to driver core as \"firewire_sbp2\", not \"sbp2\"\n\nCommit eba9ebaaa26d \"firewire: sbp2: use dev_printk API\" changed\nmessages from e.g.\n    firewire_sbp2: fw3.0: logged in to LUN 0000 (0 retries)\nto\n    sbp2 fw3.0: logged in to LUN 0000 (0 retries)\nbecause the driver calls itself as \"sbp2\" when registering with driver\ncore and with SCSI core.  This is of course confusing, so switch to the\nname \"firewire_sbp2\" for driver core in order to match what lsmod and\n/sys/module/ show.  So we are back to\n    firewire_sbp2 fw3.0: logged in to LUN 0000 (0 retries)\nin the kernel log.\n\nThis also changes\n    /sys/bus/firewire/drivers/sbp2\n    /sys/bus/firewire/devices/fw3.0/driver -\u003e [...]/sbp2\n    /sys/module/firewire_sbp2/drivers/firewire:sbp2\nto\n    /sys/bus/firewire/drivers/firewire_sbp2\n    /sys/bus/firewire/devices/fw3.0/driver -\u003e [...]/firewire_sbp2\n    /sys/module/firewire_sbp2/drivers/firewire:firewire_sbp2\n\nbut \"cat /sys/class/scsi_host/host27/proc_name\" stays \"sbp2\" just in\ncase that proc_name is used by any userland.\n\nThe transport detection in lsscsi is not affected.  (Tested with lsscsi\nversion 0.25.)  Udev\u0027s /dev/disk/by-id and by-path symlinks are not\naffected either.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "320cfa6ce0b3dc794fedfa4bae54c0f65077234d",
      "tree": "77fd9d96d7ea2595f6a04fe7b5d5b43f83281ab5",
      "parents": [
        "d1bb399ad03c11e792f6dea198d3b1e23061f094"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 29 12:41:15 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jan 30 21:33:34 2012 +0100"
      },
      "message": "firewire: ohci: disable MSI on Ricoh controllers\n\nThe PCIe device\n\n    FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd FireWire Host Controller\n    [1180:e832] (prog-if 10 [OHCI])\n\nis unable to access attached FireWire devices when MSI is enabled but\nworks if MSI is disabled.\nhttp://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg28251.html\n\nHence add the \"disable MSI\" quirks flag for this device, or in fact for\nsafety and simplicity for all current (R5U230, R5U231, R5U240) and\nfuture Ricoh PCIe 1394 controllers.\n\nReported-by: Stefan Thomas \u003ckontrapunktstefan@googlemail.com\u003e\nCc: 2.6.36+ \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "d1bb399ad03c11e792f6dea198d3b1e23061f094",
      "tree": "21d127e5e77bbfd6e99c03ff8ca07650b6523378",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Thu Jan 26 22:05:58 2012 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jan 26 22:53:17 2012 +0100"
      },
      "message": "firewire: ohci: add reset packet quirk for SB Audigy\n\nThe Audigy\u0027s SB1394 controller is actually from Texas Instruments\nand has the same bus reset packet generation bug, so it needs the\nsame quirk entry.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nCc: 2.6.36+ \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "eba9ebaaa26d60e07bc0aea585c13bc1d5a728c1",
      "tree": "7dfa6608c78f29eb3b1d183483e45f7f62814f6f",
      "parents": [
        "64d2172019dcfe46508593c561c9906de95df567"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Dec 20 21:34:12 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 15 18:37:21 2012 +0100"
      },
      "message": "firewire: sbp2: use dev_printk API\n\nAll messages are uniformly prefixed by driver name and device name now.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "64d2172019dcfe46508593c561c9906de95df567",
      "tree": "27130e09d87e8aaeb532284b7fcd3ce86613ce18",
      "parents": [
        "210762268466634ddbfaddb48fdf5181ce4b5f2d"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Dec 20 21:32:46 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 15 18:37:21 2012 +0100"
      },
      "message": "firewire: ohci: use dev_printk API\n\nAll messages are uniformly prefixed by driver name and device name now.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "210762268466634ddbfaddb48fdf5181ce4b5f2d",
      "tree": "8c07da360066158aa48f450dfeb593ed9ed76d0f",
      "parents": [
        "2ca526bf4953380abfe5dff455e356967b239c70"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 27 18:53:03 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 15 18:37:20 2012 +0100"
      },
      "message": "firewire: move fw_device reference counting from drivers to core\n\nfw_unit device drivers invariably need to talk to the fw_unit\u0027s parent\n(an fw_device) and grandparent (an fw_card).  firewire-core already\nmaintains an fw_card reference for the entire lifetime of an fw_device.\nLikewise, let firewire-core maintain an fw_device reference for the\nentire lifetime of an fw_unit so that fw_unit drivers don\u0027t have to.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "90ab5ee94171b3e28de6bb42ee30b527014e0be7",
      "tree": "fcf89889f6e881f2b231d3d20287c08174ce4b54",
      "parents": [
        "476bc0015bf09dad39d36a8b19f76f0c181d1ec9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:20 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:20 2012 +1030"
      },
      "message": "module_param: make bool parameters really bool (drivers \u0026 misc)\n\nmodule_param(bool) used to counter-intuitively take an int.  In\nfddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy\ntrick.\n\nIt\u0027s time to remove the int/unsigned int option.  For this version\nit\u0027ll simply give a warning, but it\u0027ll break next kernel version.\n\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "823467e5fc0c8566a93cfca0e40df6d5de6a4bc3",
      "tree": "e8d128979d21e2d6249ce2e15cb833de7a47207a",
      "parents": [
        "80a2e2e35dc84f40306768a1d37011acdfb2eeaa"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Jul 10 12:16:32 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:46 2011 -0400"
      },
      "message": "drivers/firewire: Add export.h for EXPORT_SYMBOL to core-iso.c\n\nEnsure that the EXPORT_SYMBOL macros are present for when we clean up\nthe \"module.h\" is everywhere situation, to prevent build failures.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "a572e688cf5d99d2382016c7241ec37b523b0137",
      "tree": "e72d4f75ede570b3d9d4898ed8d3a09a95ad6ae4",
      "parents": [
        "32eaeae177bf77fbc224c35262add45bd5e6abb3"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Sat Oct 15 23:12:23 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Oct 18 12:32:39 2011 +0200"
      },
      "message": "firewire: ohci: fix isochronous DMA synchronization\n\nAdd the dma_sync_single_* calls necessary to ensure proper cache\nsynchronization for isochronous data buffers on non-coherent\narchitectures.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "32eaeae177bf77fbc224c35262add45bd5e6abb3",
      "tree": "f20496f4be3f7e164bb995a88191e91fa902e9cc",
      "parents": [
        "a74477db9171e677b7a37b89e6e0ac8a15ba1f26"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Sat Oct 15 18:14:39 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Oct 18 12:32:39 2011 +0200"
      },
      "message": "firewire: ohci: work around selfID junk due to wrong gap count\n\nIf a device\u0027s firmware initiates a bus reset by setting the IBR bit in\nPHY register 1 without resetting the gap count field to 63 (and without\nhaving sent a PHY configuration packet beforehand), the gap count of\nthis node will remain at the old value after the bus reset and thus be\ninconsistent with the gap count on all other nodes.\n\nThe bus manager is supposed to detect the inconsistent gap count values\nin the self ID packets and correct them by issuing another bus reset.\n\nHowever, if the buggy device happens to be the cycle master, and if it\nsends a cycle start packet immediately after the bus reset (which is\nlikely after a long bus reset), then the time between the end of the\nselfID phase and the start of the cycle start packet will be based on\nthe too-small gap count value, so this gap will be too short to be\ndetected as a subaction gap by the other nodes.  This means that the\ncycle start packet will be assumed to be self ID data, and will be\nstored after the actual self ID quadlets in the self ID buffer.\n\nThis garbage in the self ID buffer made firewire-core ignore all of the\nself ID data, and thus prevented the Linux bus manager from correcting\nthe problem.  Furthermore, because the bus reset handling was aborted\ncompletely, asynchronous transfers would be no longer handled correctly,\nand fw_run_transaction() would hang until the next bus reset.\n\nTo fix this, make the detection of inconsistent self IDs more\ndiscriminating:  If the invalid data in the self ID buffer looks like\na cycle start packet, we can assume that the previous data in the buffer\nis correctly received self ID information, and process it normally.\n\n(We inspect only the first quadlet of the cycle start packet, because\nthis value is different enough from any valid self ID quadlet, and many\ncontrollers do not store the cycle start packet in five quadlets because\nthey expect self ID data to have an even number of quadlets.)\n\nThis bug has been observed when a bus-powered DesktopKonnekt6 is\nswitched off with its power button.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a74477db9171e677b7a37b89e6e0ac8a15ba1f26",
      "tree": "72f6a3ba84ef8db0bcbb58c75384e2aa9ccd1c9f",
      "parents": [
        "4ec4a67aa100268b4ac5ae32b54843d975969969"
      ],
      "author": {
        "name": "Stephan Gatzka",
        "email": "stephan@gatzka.org",
        "time": "Mon Sep 26 21:44:30 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Oct 09 17:00:18 2011 +0200"
      },
      "message": "firewire: net: Use posted writes\n\nChange memory region to ohci \"middle address space\". This effectively\nreduces the number of packets by 50%.\n\n[Stefan R.:]  This eliminates 1394 ack packets and improved throughput\nby a few percent in some tests with an S400a connection with and without\ngap count optimization.  Since firewire-net taxes the AR-req DMA unit of\na FireWire controller much more than firewire-sbp2 (which uses the\nmiddle address space with PCI posted writes too), this commit also\nchanges a related error printk into a ratelimited one as a precaution.\n\nSide note:  The IPv4-over-1394 drivers of Mac OS X 10.4, Windows XP SP3,\nand the Thesycon 1394 bus driver for Windows all use the middle address\nspace too.\n\nSigned-off-by: Stephan Gatzka \u003cstephan@gatzka.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "4ec4a67aa100268b4ac5ae32b54843d975969969",
      "tree": "0cb2413784e788939edd625c2b163c7f410f2c61",
      "parents": [
        "b810e4ae111cb8b4c0ccbbe7ff4ea0a23c671e4f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Sep 19 00:20:48 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Oct 09 17:00:18 2011 +0200"
      },
      "message": "firewire: use clamp and min3 macros\n\nUse kernel.h\u0027s convenience macros.  Also omit a printk that should never\nhappen and won\u0027t matter much if it ever happened.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b810e4ae111cb8b4c0ccbbe7ff4ea0a23c671e4f",
      "tree": "edc61366619baf3d63ac1fcc8f82047d5f8839d4",
      "parents": [
        "28897fb73c848eb441e54e859d0b64ad6b44d2e6"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Sep 19 09:29:30 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Oct 09 17:00:17 2011 +0200"
      },
      "message": "firewire: ohci: optimize TSB41BA3D detection\n\nTakes less source code and machine code, and less runtime with PHYs\nother than TSB41BA3D (e.g. TSB81BA3 with device ID 0x831304 which takes\none instead of six read_paged_phy_reg now).\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "28897fb73c848eb441e54e859d0b64ad6b44d2e6",
      "tree": "7bcd80bc463f4d3e6a11c2c2bcf4c8ef069b2142",
      "parents": [
        "25935ebebd861182ac58ecea67718bb6a617c7cb"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Sep 19 00:17:37 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Oct 09 17:00:17 2011 +0200"
      },
      "message": "firewire: ohci: TSB41BA3D support tweaks\n\nFix:  phy_reg_mutex must be held over the write/read_phy_reg pair which\ngets PHY port status.\n\nOnly print to the log when a TSB41BA3D was found.  By far most TSB82AA2\ncards have a TSB81BA3, and firewire-ohci can keep quiet about that.\n\nShorten some strings and comments.  Change some whitespace.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "25935ebebd861182ac58ecea67718bb6a617c7cb",
      "tree": "dec9589910ff692c473fe1a1d6e9eb1d7c670ec6",
      "parents": [
        "2d7a36e23300d268599f6eae4093643d22fbb356"
      ],
      "author": {
        "name": "Stephan Gatzka",
        "email": "stephan@gatzka.org",
        "time": "Mon Sep 12 22:23:53 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Sep 16 22:30:28 2011 +0200"
      },
      "message": "firewire: ohci: Add support for TSB41BA3D phy\n\nThis patch implements a work around for the Texas Instruments PHY\nTSB41BA3D.  This phy has a bug at least in combination with the TI LLCs\nTSB82AA2B and TSB12LV26.  The selfid coming from the locally connected\nphy is not propagated into the selfid buffer of the OHCI (see\nhttp://www.ti.com/litv/pdf/sllz059 for details).  The main idea is to\nconstruct the selfid ourselves.\n\nSigned-off-by: Stephan Gatzka \u003cstephan@gatzka.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "2d7a36e23300d268599f6eae4093643d22fbb356",
      "tree": "8ab2e18f979af804a4f069ac77cbbd34801c5e88",
      "parents": [
        "32ce38f40337cf4a805552e494354d961587c838"
      ],
      "author": {
        "name": "Stephan Gatzka",
        "email": "stephan@gatzka.org",
        "time": "Mon Jul 25 22:16:24 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Sep 16 22:30:28 2011 +0200"
      },
      "message": "firewire: ohci: Move code from the bus reset tasklet into a workqueue\n\nCode inside bus_reset_work may now sleep. This is a prerequisite to\nsupport a phy from Texas Instruments cleanly. The patch to support this\nphy will be submitted later.\n\nSigned-off-by: Stephan Gatzka \u003cstephan@gatzka.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "32ce38f40337cf4a805552e494354d961587c838",
      "tree": "57ed8273ecf184c6ebf1ef4b155a1b648d23b1f7",
      "parents": [
        "b2af07b6844aade3a6d69511625bef2b1cb609cc"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 27 15:35:23 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Sep 16 22:23:56 2011 +0200"
      },
      "message": "firewire: sbp2: fold two functions into one\n\nsbp2_release_target() is folded into its primary user, sbp2_remove().\nThe only other caller, a failure path in sbp2_probe(), now uses\nsbp2_remove().  This adds unnecessary cancel_delayed_work_sync() calls\nto that failure path but results in less code and text.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b2af07b6844aade3a6d69511625bef2b1cb609cc",
      "tree": "0e2d6768fb10aeadfc1131ca6251a5bc98ccc479",
      "parents": [
        "6ff8147d075da2e1eb69fab2ee75104c59f573e0"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 27 15:34:32 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Sep 16 22:23:56 2011 +0200"
      },
      "message": "firewire: sbp2: move some code to more sensible places\n\nImplement sbp2_queue_work(), which is now a very simple accessor to one\nof the struct sbp2_logical_unit members, right after the definition of\nstruct sbp2_logical_unit.\n\nPut the sbp2_reconnect() implementation right after the sbp2_login()\nimplementation.  They are both part of the SBP-2 access protocol.\n\nImplement the driver methods sbp2_probe(), spp2_update(), sbp2_remove()\nin this order, reflecting the lifetime of an SBP-2 target.\n\nPlace the sbp2_release_target() implementation right next to\nsbp2_remove() which is its primary user, and after sbp2_probe() which is\nthe counterpart to sbp2_release_target().\n\nThere are no changes to the implementations here, or at least not meant\nto be.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "6ff8147d075da2e1eb69fab2ee75104c59f573e0",
      "tree": "8153760829514f80842f5b36159513002b07e577",
      "parents": [
        "f39aa30d7741f40ad964341e9243dbbd7f8ff057"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 27 15:33:34 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Sep 16 22:23:56 2011 +0200"
      },
      "message": "firewire: sbp2: remove obsolete reference counting\n\nSince commit 0278ccd9d53e07c4e699432b2fed9de6c56f506c \"firewire: sbp2:\nfix panic after rmmod with slow targets\", the lifetime of an sbp2_target\ninstance does no longer extent past the return of sbp2_remove().\nTherefore it is no longer necessary to call fw_unit_get/put() and\nfw_device_get/put() in sbp2_probe/remove().\n\nFurthermore, said commit also ensures that lu-\u003ework is not going to be\nexecuted or requeued at a time when the sbp2_target is no longer in use.\nHence there is no need for sbp2_target reference counting for lu-\u003ework.\n\nOther concurrent contexts:\n\n  - Processes which access the sysfs of the SCSI host device or of one\n    of its subdevices are safe because these interfaces are all removed\n    by scsi_remove_device/host() in sbp2_release_target().\n\n  - SBP-2 command block ORB transactions are finished when\n    scsi_remove_device() in sbp2_release_target() returns.\n\n  - SBP-2 management ORB transactions are finished when\n    cancel_delayed_work_sync(\u0026lu-\u003ework) before sbp2_release_target()\n    returns.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f39aa30d7741f40ad964341e9243dbbd7f8ff057",
      "tree": "420519d678d74d07079efc866249491f5c724030",
      "parents": [
        "b6fd41e29dea9c6753b1843a77e50433e6123bcb"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "ming.lei@canonical.com",
        "time": "Wed Aug 31 10:45:46 2011 +0800"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Sep 16 22:22:10 2011 +0200"
      },
      "message": "firewire: ohci: add no MSI quirk for O2Micro controller\n\nThis fixes https://bugs.launchpad.net/ubuntu/+source/linux/+bug/801719 .\n\nAn O2Micro PCI Express FireWire controller,\n\"FireWire (IEEE 1394) [0c00]: O2 Micro, Inc. Device [1217:11f7] (rev 05)\"\nwhich is a combination device together with an SDHCI controller and some\nsort of storage controller, misses SBP-2 status writes from an attached\nFireWire HDD.  This problem goes away if MSI is disabled for this\nFireWire controller.\n\nThe device reportedly does not require QUIRK_CYCLE_TIMER.\n\nSigned-off-by: Ming Lei \u003cming.lei@canonical.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (amended changelog)\nCc: \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "219f358e0ba9a98640341e030533089860af1cc6",
      "tree": "3004773886a9d65c194c8ebf43e07f53cbe79af9",
      "parents": [
        "f5b940997397229975ea073679b03967932a541b",
        "0278ccd9d53e07c4e699432b2fed9de6c56f506c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 27 09:32:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 27 09:32:08 2011 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: sbp2: fix panic after rmmod with slow targets\n"
    },
    {
      "commit": "0278ccd9d53e07c4e699432b2fed9de6c56f506c",
      "tree": "8fb1f4043e99628b89d50f996f79e16d310175d6",
      "parents": [
        "aaff12039ffd812d0c8bbff50b87b6f1f09bec3e"
      ],
      "author": {
        "name": "Chris Boot",
        "email": "bootc@bootc.net",
        "time": "Mon Aug 22 21:38:38 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Aug 23 00:44:35 2011 +0200"
      },
      "message": "firewire: sbp2: fix panic after rmmod with slow targets\n\nIf firewire-sbp2 starts a login to a target that doesn\u0027t complete ORBs\nin a timely manner (and has to retry the login), and the module is\nremoved before the operation times out, you end up with a null-pointer\ndereference and a kernel panic.\n\n[SR:  This happens because sbp2_target_get/put() do not maintain\nmodule references.  scsi_device_get/put() do, but at occasions like\nChris describes one, nobody holds a reference to an SBP-2 sdev.]\n\nThis patch cancels pending work for each unit in sbp2_remove(), which\nhopefully means there are no extra references around that prevent us\nfrom unloading. This fixes my crash.\n\nSigned-off-by: Chris Boot \u003cbootc@bootc.net\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "3210d190dcb717c328d74f8c3f69ec717d665b40",
      "tree": "4fbdbc85beea494165dc4bc8866f77051a730762",
      "parents": [
        "6719db6a23d4b7f1e5052eedae394135e3aef9c1",
        "aaff12039ffd812d0c8bbff50b87b6f1f09bec3e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 21 18:13:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 21 18:13:19 2011 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: core: handle ack_busy when fetching the Config ROM\n"
    },
    {
      "commit": "6f02bfc404decf5b5046f1413ef941e1870912f7",
      "tree": "8d3ef4ebba507a3d3f2e491d25dcd51c7241a401",
      "parents": [
        "a0b3447fb1d8b32071f473c779a482277816867a",
        "a01e836087881dd9d824417190994c9b2b0f1dbb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 15 08:40:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 15 08:40:49 2011 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: ohci: fix DMA unmapping in an error path\n  firewire: cdev: fix 32 bit userland on 64 bit kernel compat corner cases\n"
    },
    {
      "commit": "aaff12039ffd812d0c8bbff50b87b6f1f09bec3e",
      "tree": "f1677d606719cd43a24aa654eb8987b444dfb1cf",
      "parents": [
        "a01e836087881dd9d824417190994c9b2b0f1dbb"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Aug 07 15:20:18 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 13 13:53:30 2011 +0200"
      },
      "message": "firewire: core: handle ack_busy when fetching the Config ROM\n\nSome older Panasonic made camcorders (Panasonic AG-EZ30 and NV-DX110,\nGrundig Scenos DLC 2000) reject requests with ack_busy_X if a request is\nsent immediately after they sent a response to a prior transaction.\nThis causes firewire-core to fail probing of the camcorder with \"giving\nup on config rom for node id ...\".  Consequently, programs like kino or\ndvgrab are unaware of the presence of a camcorder.\n\nSuch transaction failures happen also with the ieee1394 driver stack\n(of the 2.4...2.6 kernel series until 2.6.36 inclusive) but with a lower\nlikelihood, such that kino or dvgrab are generally able to use these\ncamcorders via the older driver stack.  The cause for firewire-ohci\u0027s or\nfirewire-core\u0027s worse behavior is not yet known.  Gap count optimization\nin firewire-core is not the cause.  Perhaps the slightly higher latency\nof transaction completion in the older stack plays a role.  (ieee1394:\nAR-resp DMA context tasklet -\u003e packet completion ktread -\u003e user process;\nfirewire-core: tasklet -\u003e user process.)\n\nThis change introduces retries and delays after ack_busy_X into\nfirewire-core\u0027s Config ROM reader, such that at least firewire-core\u0027s\nprobing and /dev/fw* creation are successful.  This still leaves the\nproblem that userland processes are facing transaction failures.\ngscanbus\u0027s built-in retry routines deal with them successfully, but\nneither kino\u0027s nor dvgrab\u0027s do ever succeed.\n\nBut at least DV capture with \"dvgrab -noavc -card 0\" works now.  Live\nvideo preview in kino works too, but not actual capture.\n\nOne way to prevent Configuration ROM reading failures in application\nprograms is to modify libraw1394 to synthesize read responses by means\nof firewire-core\u0027s Configuration ROM cache.  This would only leave\nCMP and FCP transaction failures as a potential problem source for\napplications.\n\nReported-and-tested-by: Thomas Seilund \u003ctps@netmaster.dk\u003e\nReported-and-tested-by: René Fritz \u003crene@colorcube.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a01e836087881dd9d824417190994c9b2b0f1dbb",
      "tree": "dba049b83137d4cda2fdc53ed06d83897a74dc4f",
      "parents": [
        "9c1176b6a28850703ea6e3a0f0c703f6d6c61cd3"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Aug 11 20:40:42 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Aug 12 15:30:08 2011 +0200"
      },
      "message": "firewire: ohci: fix DMA unmapping in an error path\n\nIf request_irq failed, we would pass wrong arguments to\ndma_free_coherent.  https://bugzilla.redhat.com/show_bug.cgi?id\u003d728185\n\nReported-by: Mads Kiilerich\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "9c1176b6a28850703ea6e3a0f0c703f6d6c61cd3",
      "tree": "5e51f0e7e36c78ae63e3128125cb008bcc442aa0",
      "parents": [
        "9a00c24ae7cb08dcd46edf1327a47871e8466444"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Aug 11 00:06:04 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Aug 12 15:30:08 2011 +0200"
      },
      "message": "firewire: cdev: fix 32 bit userland on 64 bit kernel compat corner cases\n\nClemens points out that we need to use compat_ptr() in order to safely\ncast from u64 to addresses of a 32-bit usermode client.\n\nBefore, our conversion went wrong\n  - in practice if the client cast from pointer to integer such that\n    sign-extension happened, (libraw1394 and libdc1394 at least were not\n    doing that, IOW were not affected)\nor\n  - in theory on s390 (which doesn\u0027t have FireWire though) and on the\n    tile architecture, regardless of what the client does.\nThe bug would usually be observed as the initial get_info ioctl failing\nwith \"Bad address\" (EFAULT).\n\nReported-by: Carl Karsten \u003ccarl@personnelware.com\u003e\nReported-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "441c196e84b11aad3123baa9320eee7abc6b5c98",
      "tree": "ea51d689c9ac09cce10a5758f19d6adbd8a7a9d7",
      "parents": [
        "951cc93a7493a81a47e20231441bc6cf17c98a37",
        "9a00c24ae7cb08dcd46edf1327a47871e8466444"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:49:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:49:48 2011 -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: document the sysfs ABIs\n  firewire: cdev: ABI documentation enhancements\n  firewire: cdev: prevent race between first get_info ioctl and bus reset event queuing\n  firewire: cdev: return -ENOTTY for unimplemented ioctls, not -EINVAL\n  firewire: ohci: skip soft reset retries after card ejection\n  firewire: ohci: fix PHY reg access after card ejection\n  firewire: ohci: add a comment on PHY reg access serialization\n  firewire: ohci: reduce potential context_stop latency\n  firewire: ohci: remove superfluous posted write flushes\n  firewire: net: replacing deprecated __attribute__((packed)) with __packed\n"
    },
    {
      "commit": "93b37905f70083d6143f5f4dba0a45cc64379a62",
      "tree": "b6917581cd390ed9967e1df9922940362ad4309e",
      "parents": [
        "d873d794235efa590ab3c94d5ee22bb1fab19ac4"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jul 09 16:43:22 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jul 16 07:24:32 2011 +0200"
      },
      "message": "firewire: cdev: prevent race between first get_info ioctl and bus reset event queuing\n\nBetween open(2) of a /dev/fw* and the first FW_CDEV_IOC_GET_INFO\nioctl(2) on it, the kernel already queues FW_CDEV_EVENT_BUS_RESET events\nto be read(2) by the client.  The get_info ioctl is practically always\nissued right away after open, hence this condition only occurs if the\nclient opens during a bus reset, especially during a rapid series of bus\nresets.\n\nThe problem with this condition is twofold:\n\n  - These bus reset events carry the (as yet undocumented) @closure\n    value of 0.  But it is not the kernel\u0027s place to choose closures;\n    they are privat to the client.  E.g., this 0 value forced from the\n    kernel makes it unsafe for clients to dereference it as a pointer to\n    a closure object without NULL pointer check.\n\n  - It is impossible for clients to determine the relative order of bus\n    reset events from get_info ioctl(2) versus those from read(2),\n    except in one way:  By comparison of closure values.  Again, such a\n    procedure imposes complexity on clients and reduces freedom in use\n    of the bus reset closure.\n\nSo, change the ABI to suppress queuing of bus reset events before the\nfirst FW_CDEV_IOC_GET_INFO ioctl was issued by the client.\n\nNote, this ABI change cannot be version-controlled.  The kernel cannot\ndistinguish old from new clients before the first FW_CDEV_IOC_GET_INFO\nioctl.\n\nWe will try to back-merge this change into currently maintained stable/\nlongterm series, and we only document the new behaviour.  The old\nbehavior is now considered a kernel bug, which it basically is.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "d873d794235efa590ab3c94d5ee22bb1fab19ac4",
      "tree": "6d65b61937517c475318b332b6e62f074df04d9b",
      "parents": [
        "9f426173e54a4f0882f9516c226f3165a3bd5474"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jul 09 16:42:26 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jul 16 07:24:31 2011 +0200"
      },
      "message": "firewire: cdev: return -ENOTTY for unimplemented ioctls, not -EINVAL\n\nOn Jun 27 Linus Torvalds wrote:\n\u003e The correct error code for \"I don\u0027t understand this ioctl\" is ENOTTY.\n\u003e The naming may be odd, but you should think of that error value as a\n\u003e \"unrecognized ioctl number, you\u0027re feeding me random numbers that I\n\u003e don\u0027t understand and I assume for historical reasons that you tried to\n\u003e do some tty operation on me\".\n[...]\n\u003e The EINVAL thing goes way back, and is a disaster. It predates Linux\n\u003e itself, as far as I can tell. You\u0027ll find lots of man-pages that have\n\u003e this line in it:\n\u003e\n\u003e   EINVAL Request or argp is not valid.\n\u003e\n\u003e and it shows up in POSIX etc. And sadly, it generally shows up\n\u003e _before_ the line that says\n\u003e\n\u003e   ENOTTY The specified request does not apply to the kind of object\n\u003e that the descriptor d references.\n\u003e\n\u003e so a lot of people get to the EINVAL, and never even notice the ENOTTY.\n[...]\n\u003e At least glibc (and hopefully other C libraries) use a _string_ that\n\u003e makes much more sense: strerror(ENOTTY) is \"Inappropriate ioctl for\n\u003e device\"\n\nSo let\u0027s correct this in the \u003clinux/firewire-cdev.h\u003e ABI while it is\nstill young, relative to distributor adoption.\n\nSide note:  We return -ENOTTY not only on _IOC_TYPE or _IOC_NR mismatch,\nbut also on _IOC_SIZE mismatch.  An ioctl with an unsupported size of\nargument structure can be seen as an unsupported version of that ioctl.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "6a7ebdf2fd15417e87b4fd02ff411aeaca34da5f",
      "tree": "86b15d8cd3e25c97b348b5a61bdb16c02726a480",
      "parents": [
        "f6b72b6217f8c24f2a54988e58af858b4e66024d",
        "51414d41084496aaefd06d7f19eb8206e8bfac2d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 14 07:56:40 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 14 07:56:40 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/bluetooth/l2cap_core.c\n"
    },
    {
      "commit": "e69dd336ee3a05a589629b505b18ba5e7a5b4c54",
      "tree": "ce221d370029164d5ea498ab0da50672d03a5b0e",
      "parents": [
        "3769cffb1c48f64640ffab7ce3bffe867342c0f0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 12 23:28:12 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 13 02:29:59 2011 -0700"
      },
      "message": "net: Push protocol type directly down to header_ops-\u003ecache()\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7f7e37115a8b6724f26d0637a04e1d35e3c59717",
      "tree": "ddc1d71d7232d6fd715c66763deae5766dc1f763",
      "parents": [
        "105e53f863c04e1d9e5bb34bf753c9fdbce6a60c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jul 10 00:23:03 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jul 10 12:53:27 2011 +0200"
      },
      "message": "firewire: ohci: do not bind to Pinnacle cards, avert panic\n\nWhen firewire-ohci is bound to a Pinnacle MovieBoard, eventually a\n\"Register access failure\" is logged and an interrupt storm or a kernel\npanic happens.  https://bugzilla.kernel.org/show_bug.cgi?id\u003d36622\n\nUntil this is sorted out (if that is going to succeed at all), let\u0027s\njust prevent firewire-ohci from touching these devices.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "9f426173e54a4f0882f9516c226f3165a3bd5474",
      "tree": "a34fc50c7f562eea8726b60c41744567396aa692",
      "parents": [
        "215fa444c2a6d571f1f915cf3dc7a8b01cc51a0a"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jul 03 17:39:26 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jul 09 17:12:09 2011 +0200"
      },
      "message": "firewire: ohci: skip soft reset retries after card ejection\n\nThe software reset in firewire-ohci\u0027s pci_remove does not have a great\nprospect of success if the card was already physically removed at this\npoint.  So let\u0027s skip the 500 ms that were spent in retries here.\n\nAlso, replace a defined constant by its open-coded value.  This is not a\nconstant from a specification but an arbitrarily chosen retry limit.  It\nwas only used in this single place.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "215fa444c2a6d571f1f915cf3dc7a8b01cc51a0a",
      "tree": "9279ad6fd8bf755cb059ab9d89dd061ac2147f93",
      "parents": [
        "b14c369d87d7fbf120ad21919d34a8f1290290f1"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jun 22 21:05:08 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jul 09 17:12:08 2011 +0200"
      },
      "message": "firewire: ohci: fix PHY reg access after card ejection\n\nDetect and handle ejection of FireWire CardBus cards in PHY register\naccesses:\n\n  - The last attempt of firewire-core to reset the bus during shutdown\n    caused a spurious \"firewire_ohci: failed to write phy reg\" error\n    message in the log.  Skip this message as well as the prior retry\n    loop that needlessly took 100 milliseconds.\n\n  - In the unlikely case that a PHY register was read right after card\n    ejection, a bogus value was obtained and possibly acted upon.\n    Instead, fail the read attempt.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b14c369d87d7fbf120ad21919d34a8f1290290f1",
      "tree": "37947e2121f1c205ee4295c8c8c559d9f7693f87",
      "parents": [
        "9ef28ccd59a23d219c4660f55a11ac06ca91f632"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jun 21 15:24:26 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jul 09 17:12:08 2011 +0200"
      },
      "message": "firewire: ohci: add a comment on PHY reg access serialization\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "9ef28ccd59a23d219c4660f55a11ac06ca91f632",
      "tree": "c65839983c1680c1cbb95c5d84c13e7386d49ce2",
      "parents": [
        "dd6254e5c0efe01ad255188898cb3dadf98cb56d"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 12 14:30:57 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jul 09 17:12:07 2011 +0200"
      },
      "message": "firewire: ohci: reduce potential context_stop latency\n\nStopping an isochronous reception DMA context takes two loop iterations\nin context_stop on several controllers (JMicron, NEC, VIA).  But there\nis no extra delay necessary between these two reg_read trials; the MMIO\nreads themselves are slow enough.  Hence bring back the behavior from\nbefore commit dd6254e5c0efe01ad255188898cb3dadf98cb56d \"firewire: ohci:\nremove superfluous posted write flushes\" on these controllers by means\nof an \"if (i)\" condition.\n\nIsochronous context stop is performed in preemptible contexts (and only\nrarely), hence this change is of little impact.  (Besides, Agere and TI\ncontrollers always, or almost always, have the context stopped already\nat the first ContextControl read.)\n\nMore important is asynchronous transmit context stop, which is performed\nwhile local interrupts are disabled (on the two AT DMAs in\nbus_reset_tasklet, i.e. after a self-ID-complete event).  In my\nexperience with several controllers, tested with a usermode AT-request\ntransmitter as well as with FTP transmission over firewire-net, the AT\ncontexts were luckily already stopped at the first ContextControl read,\ni.e. never required another MMIO read let alone mdelay.  A possible\nexplanation for this is that the controllers which I tested perhaps stop\nAT DMA before they perform the self-ID reception DMA.\n\nBut we cannot be sure about that and should keep the interrupts-disabled\nbusy loop as short as possible.  Hence, query the ContextControl\nregister in 1000 udelay(10) intervals instead of 10 udelay(1000)\nintervals.  I understand from an estimation by Clemens Ladisch that\nstopping a busy DMA context should take microseconds or at worst tens of\nmicroseconds, not milliseconds.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "dd6254e5c0efe01ad255188898cb3dadf98cb56d",
      "tree": "3417d788024a41ad5f28689fc1ef5095ae2a4b7f",
      "parents": [
        "bf337b15c28ae25904a73e7e2e0de2f9c4f0e9f8"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon May 16 08:10:10 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 02 13:58:33 2011 +0200"
      },
      "message": "firewire: ohci: remove superfluous posted write flushes\n\nThe call to flush_writes() in context_stop() is superfluous because\nanother register read is done immediately afterwards.\n\nThe call to flush_writes() in ar_context_run() does not need to be done\nindividually for each AR context, so move it to ohci_enable().  This\nalso makes ohci_enable() clearer because it no longer depends on a side\neffect of ar_context_run() to flush its own register writes.\n\nFinally, the setting of a context\u0027s wake bit does not need to be flushed\nbecause neither the driver logic nor the API require the CPU to wait for\nthis action.  This removes the last MMIO reads from the packet queueing\ncode paths.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "bf337b15c28ae25904a73e7e2e0de2f9c4f0e9f8",
      "tree": "2abd4877ffa6d4bec2ca0a00a70eef31b4cb0012",
      "parents": [
        "105e53f863c04e1d9e5bb34bf753c9fdbce6a60c"
      ],
      "author": {
        "name": "August Lilleaas",
        "email": "august@augustl.com",
        "time": "Sun May 29 19:07:19 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 02 13:58:33 2011 +0200"
      },
      "message": "firewire: net: replacing deprecated __attribute__((packed)) with __packed\n\nFixing a deprecation, replacing __attribute__((packed)) with __packed.\nIt was deprecated for portability, specifically to avoid GCC specific\ncode.  See commit 82ddcb040570411fc2d421d96b3e69711c670328.\n\nSigned-off-by: August Lilleaas \u003caugust@augustl.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (added include compiler.h)\n"
    },
    {
      "commit": "105e53f863c04e1d9e5bb34bf753c9fdbce6a60c",
      "tree": "63500c7cb130348b70279cdbfdfb278de6fc83ad",
      "parents": [
        "81bf52d8622f05cfe89893fd5c1101efd85f855b"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun May 01 20:50:31 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue May 10 22:53:46 2011 +0200"
      },
      "message": "firewire: sbp2: parallelize login, reconnect, logout\n\nThe struct sbp2_logical_unit.work items can all be executed in parallel\nbut are not reentrant.  Furthermore, reconnect or re-login work must be\nexecuted in a WQ_MEM_RECLAIM workqueue.\n\nHence replace the old single-threaded firewire-sbp2 workqueue by a\nconcurrency-managed but non-reentrant workqueue with rescuer.\nfirewire-core already maintains one, hence use this one.\n\nIn earlier versions of this change, I observed occasional failures of\nparallel INQUIRY to an Initio INIC-2430 FireWire 800 to dual IDE bridge.\nMore testing indicates that parallel INQUIRY is not actually a problem,\nbut too quick successions of logout and login + INQUIRY, e.g. a quick\nsequence of cable plugout and plugin, can result in failed INQUIRY.\nThis does not seem to be something that should or could be addressed by\nserialization.\n\nAnother dual-LU device to which I currently have access to, an\nOXUF924DSB FireWire 800 to dual SATA bridge with firmware from MacPower,\nhas been successfully tested with this too.\n\nThis change is beneficial to environments with two or more FireWire\nstorage devices, especially if they are located on the same bus.\nManagement tasks that should be performed as soon and as quickly as\npossible, especially reconnect, are no longer held up by tasks on other\ndevices that may take a long time, especially login with INQUIRY and sd\nor sr driver probe.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "81bf52d8622f05cfe89893fd5c1101efd85f855b",
      "tree": "eaad1608312ce1995082c06951af5a194fd66a52",
      "parents": [
        "b75ca5ea8e439893121ad80406a3c04c4b7612ab"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun May 01 21:06:42 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue May 10 22:53:46 2011 +0200"
      },
      "message": "firewire: sbp2: octlet AT payloads can be stack-allocated\n\nWe do not need slab allocations for ORB pointer write transactions\nanymore in order to satisfy streaming DMA mapping constraints, thanks to\ncommit da28947e7e36 \"firewire: ohci: avoid separate DMA mapping for\nsmall AT payloads\".\n\n(Besides, the slab-allocated buffers that firewire-sbp2 used to provide\nfor 8-byte write requests were still not fully portable since they\nshared a cacheline with unrelated CPU-accessed data.)\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b75ca5ea8e439893121ad80406a3c04c4b7612ab",
      "tree": "9a260ae737d99d66aa3d42fdfb0bda2125ca47e2",
      "parents": [
        "6ea9e7bbfc389a12d52646449a201fe933ccd663"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 22 12:21:44 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue May 10 22:53:45 2011 +0200"
      },
      "message": "firewire: sbp2: omit Scsi_Host lock from queuecommand\n\nfirewire-sbp2 already takes care for internal serialization where\nrequired (ORB list accesses), and it does not use cmd-\u003eserial_number\ninternally.  Hence it is safe to not grab the shost lock around\nqueuecommand.\n\nWhile we are at housekeeping, drop a redundant struct member:\nsbp2_command_orb.done is set once in a hot path and dereferenced once in\na hot path.  We can as well dereference sbp2_command_orb.cmd-\u003escsi_done\ninstead.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "6ea9e7bbfc389a12d52646449a201fe933ccd663",
      "tree": "f84e89a394d45db4f30e1286966f69be62f203da",
      "parents": [
        "13882a82ee1646336c3996c93b4a560a55d2a419"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 13 13:39:46 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue May 10 22:53:45 2011 +0200"
      },
      "message": "firewire: core: use non-reentrant workqueue with rescuer\n\nfirewire-core manages the following types of work items:\n\nfw_card.br_work:\n  - resets the bus on a card and possibly sends a PHY packet before that\n  - does not sleep for long or not at all\n  - is scheduled via fw_schedule_bus_reset() by\n      - firewire-ohci\u0027s pci_probe method\n      - firewire-ohci\u0027s set_config_rom method, called by kernelspace\n        protocol drivers and userspace drivers which add/remove\n\tConfiguration ROM descriptors\n      - userspace drivers which use the bus reset ioctl\n      - itself if the last reset happened less than 2 seconds ago\n\nfw_card.bm_work:\n  - performs bus management duties\n  - usually does not (but may in corner cases) sleep for long\n  - is scheduled via fw_schedule_bm_work() by\n      - firewire-ohci\u0027s self-ID-complete IRQ handler tasklet\n      - firewire-core\u0027s fw_device.work instances whenever the root node\n        device was (successfully or unsuccessfully) discovered,\n\trefreshed, or rediscovered\n      - itself in case of resource allocation failures or in order to\n        obey the 125ms bus manager arbitration interval\n\nfw_device.work:\n  - performs node probe, update, shutdown, revival, removal; including\n    kernel driver probe, update, shutdown and bus reset notification to\n    userspace drivers\n  - usually sleeps moderately long, in corner cases very long\n  - is scheduled by\n      - firewire-ohci\u0027s self-ID-complete IRQ handler tasklet via the\n        core\u0027s fw_node_event\n      - firewire-ohci\u0027s pci_remove method via core\u0027s fw_destroy_nodes/\n        fw_node_event\n      - itself during retries, e.g. while a node is powering up\n\niso_resource.work:\n  - accesses registers at the Isochronous Resource Manager node\n  - usually does not (but may in corner cases) sleep for long\n  - is scheduled via schedule_iso_resource() by\n      - the owning userspace driver at addition and removal of the\n        resource\n      - firewire-core\u0027s fw_device.work instances after bus reset\n      - itself in case of resource allocation if necessary to obey the\n        1000ms reallocation period after bus reset\n\nfw_card.br_work instances should not, and instances of the others must\nnot, be executed in parallel by multiple CPUs -- but were not protected\nagainst that.  Hence allocate a non-reentrant workqueue for them.\n\nfw_device.work may be used in the memory reclaim path in case of SBP-2\ndevice updates.  Hence we need a workqueue with rescuer and cannot use\nsystem_nrt_wq.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nReviewed-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "13882a82ee1646336c3996c93b4a560a55d2a419",
      "tree": "8a144d874a0ac46273a7e2f2dd344458d7eb4bfa",
      "parents": [
        "f30e6d3e419bfb5540fa82ba7eca01d578556e6b"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon May 02 09:33:56 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue May 10 22:53:45 2011 +0200"
      },
      "message": "firewire: optimize iso queueing by setting wake only after the last packet\n\nWhen queueing iso packets, the run time is dominated by the two\nMMIO accesses that set the DMA context\u0027s wake bit.  Because most\ndrivers submit packets in batches, we can save much time by\nremoving all but the last wakeup.\n\nThe internal kernel API is changed to require a call to\nfw_iso_context_queue_flush() after a batch of queued packets.\nThe user space API does not change, so one call to\nFW_CDEV_IOC_QUEUE_ISO must specify multiple packets to take\nadvantage of this optimization.\n\nIn my measurements, this patch reduces the time needed to queue\nfifty skip packets from userspace to one sixth on a 2.5 GHz CPU,\nor to one third at 800 MHz.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f30e6d3e419bfb5540fa82ba7eca01d578556e6b",
      "tree": "e4d6e7bad161a76b09557bf7513358ae1ce8f7fb",
      "parents": [
        "020abf03cd659388f94cb328e1e1df0656e0d7ff"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 22 15:13:54 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue May 10 22:53:44 2011 +0200"
      },
      "message": "firewire: octlet AT payloads can be stack-allocated\n\nWe do not need slab allocations anymore in order to satisfy\nstreaming DMA mapping constraints, thanks to commit da28947e7e36\n\"firewire: ohci: avoid separate DMA mapping for small AT payloads\".\n\n(Besides, the slab-allocated buffers that firewire-core, firewire-sbp2,\nand firedtv used to provide for 8-byte write and lock requests were\nstill not fully portable since they crossed cacheline boundaries or\nshared a cacheline with unrelated CPU-accessed data.  snd-firewire-lib\ngot this aspect right by using an extra kmalloc/ kfree just for the\n8-byte transaction buffer.)\n\nThis change replaces kmalloc\u0027ed lock transaction scratch buffers in\nfirewire-core, firedtv, and snd-firewire-lib by local stack allocations.\nPerhaps the most notable result of the change is simpler locking because\nthere is no need to serialize usages of preallocated per-device buffers\nanymore.  Also, allocations and deallocations are simpler.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\n"
    },
    {
      "commit": "020abf03cd659388f94cb328e1e1df0656e0d7ff",
      "tree": "40d05011708ad1b4a05928d167eb120420581aa6",
      "parents": [
        "0ff8fbc61727c926883eec381fbd3d32d1fab504",
        "693d92a1bbc9e42681c42ed190bd42b636ca876f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue May 10 20:52:07 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue May 10 22:50:41 2011 +0200"
      },
      "message": "Merge tag \u0027v2.6.39-rc7\u0027\n\nin order to pull in changes in drivers/media/dvb/firewire/ and\nsound/firewire/.\n"
    },
    {
      "commit": "8db72a7d7268630e04ec285fbd3e90733b2eddf9",
      "tree": "bb41f5ce688f9595b5734b02c48ef53d2cc067bd",
      "parents": [
        "8a3d8ed027b563d2875cd3df816fb4a888a8551e",
        "2e053a27d9d5ad5e0831e002cbf8043836fb2060"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 04 14:21:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 04 14:21:39 2011 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: Fix for broken configrom updates in quick succession\n"
    },
    {
      "commit": "2e053a27d9d5ad5e0831e002cbf8043836fb2060",
      "tree": "4e3ed1110128cbb1ba3b5baf4e45161300ad58c2",
      "parents": [
        "115881d395959b75c8c3bb94913f2ce869b8aa7a"
      ],
      "author": {
        "name": "B.J. Buchalter",
        "email": "bj@mhlabs.com",
        "time": "Mon May 02 13:33:42 2011 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon May 02 22:55:22 2011 +0200"
      },
      "message": "firewire: Fix for broken configrom updates in quick succession\n\nCurrent implementation of ohci_set_config_rom() uses a deferred\nbus reset via fw_schedule_bus_reset(). If clients add multiple\nunit descriptors to the config_rom in quick succession, the\ndeferred bus reset may not have fired before succeeding update\nrequests have come in. This can lead to an incorrect partial\nupdate of the config_rom for both addition and removal of\nconfig_rom descriptors, as the ohci_set_config_rom() routine\nwill return -EBUSY if a previous pending update has not been\ncompleted yet; the requested update just gets dropped on the floor.\n\nThis patch recognizes that the \"in-flight\" update can be modified\nuntil it has been processed by the bus-reset, and the locking\nin the bus_reset_tasklet ensures that the update is done atomically\nwith respect to modifications made by ohci_set_config_rom(). The\n-EBUSY error case is simply removed.\n\n[Stefan R:  The bug always existed at least theoretically.  But it\nbecame easy to trigger since 2.6.36 commit 02d37bed188c \"firewire: core:\nintegrate software-forced bus resets with bus management\" which\nintroduced long mandatory delays between janitorial bus resets.]\n\nSigned-off-by: Benjamin Buchalter \u003cbj@mhlabs.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (trivial style changes)\nCc: \u003cstable@kernel.org\u003e # 2.6.36.y and newer\n"
    },
    {
      "commit": "0ff8fbc61727c926883eec381fbd3d32d1fab504",
      "tree": "37261139bea74569bf4a41bccd5d47d4b406b6a3",
      "parents": [
        "da28947e7e3602669e27d5e9ce787436ed662fa4"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Tue Apr 12 07:54:59 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Apr 19 20:00:11 2011 +0200"
      },
      "message": "firewire: ohci: optimize find_branch_descriptor()\n\nWhen z\u003d\u003d2, the condition \"key \u003d\u003d 2\" is superfluous because it cannot\noccur without \"b \u003d\u003d 3\", as a descriptor with b!\u003d3 and key\u003d\u003d2 would be\nan OUTPUT_MORE_IMMEDIATE descriptor which cannot be used alone.\n\nAlso remove magic numbers and needless computations on the b field.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "da28947e7e3602669e27d5e9ce787436ed662fa4",
      "tree": "33b3cfb25fddbe12b4f19f02ce3253872eed2436",
      "parents": [
        "ecf8328e59447b83a1f79628487e0e9f8801db84"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Apr 11 09:57:54 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Apr 19 20:00:11 2011 +0200"
      },
      "message": "firewire: ohci: avoid separate DMA mapping for small AT payloads\n\nFor AT packet payloads of up to eight bytes, we have enough unused space\nin the DMA descriptors list so that we can put a copy of the payload\nthere and thus avoid having to create a separate streaming DMA mapping\nfor the payload buffer.\n\nIn a CPU-bound microbenchmark that just sends 8-byte packets, bandwidth\nwas measured to increase by 5.7 %, from 1009 KB/s to 1067 KB/s.  In\npractice, the only performance-sensitive usage of small asynchronous\npackets is the SBP-2 driver\u0027s write to the ORB_POINTER register during\nSCSI command submission.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "ecf8328e59447b83a1f79628487e0e9f8801db84",
      "tree": "20ea90d6a38687a48c28ad185c612d0dece86e6f",
      "parents": [
        "115881d395959b75c8c3bb94913f2ce869b8aa7a"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Apr 11 09:56:12 2011 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Apr 19 20:00:10 2011 +0200"
      },
      "message": "firewire: ohci: do not start DMA contexts before link is enabled\n\nOHCI 1.1 5.7.3 not only forbids enabling or starting any DMA contexts\nbefore the linkEnable bit is set, but also explicitly warns of undefined\nbehaviour if this order is violated.\n\nDon\u0027t violate it then.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "c3ca48f062a37c2f79560a9b0b9f1b08039aa248",
      "tree": "9a9a9561b155e3bb805bdbccf5cb2f715ec7bf50",
      "parents": [
        "4e76ae4406449811c0b743ccf0612ef6ffcf2acb",
        "115881d395959b75c8c3bb94913f2ce869b8aa7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 10:05:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 10:05:22 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: core: ignore link-active bit of new nodes, fix device recognition\n  firewire: sbp2: revert obsolete \u0027fix stall with \"Unsolicited response\"\u0027\n  firewire: core: increase default SPLIT_TIMEOUT value\n  firewire: ohci: Misleading kfree in ohci.c::pci_probe/remove\n  firewire: ohci: omit IntEvent.busReset check rom AT queueing\n  firewire: ohci: prevent starting of iso contexts with empty queue\n  firewire: ohci: prevent iso completion callbacks after context stop\n  firewire: core: rename some variables\n  firewire: nosy: should work on Power Mac G4 PCI too\n  firewire: core: fix card-\u003ereset_jiffies overflow\n  firewire: cdev: remove unneeded reference\n  firewire: cdev: always wait for outbound transactions to complete\n  firewire: cdev: remove unneeded idr_find() from complete_transaction()\n  firewire: ohci: log dead DMA contexts\n"
    },
    {
      "commit": "115881d395959b75c8c3bb94913f2ce869b8aa7a",
      "tree": "8beae4353389d5d26bbd6c7f4b7ca9f45d38aff9",
      "parents": [
        "7a4e1e9c682cd87fe8a749b435b13afeef083c34"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 15 00:08:41 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 20 16:45:25 2011 +0100"
      },
      "message": "firewire: core: ignore link-active bit of new nodes, fix device recognition\n\nLike the older ieee1394 core driver, firewire-core skipped scanning of\nany new node whose PHY sent a self ID without \"link active\" bit.  If a\ndevice had this bit off mistakenly, it meant that it was inaccessible to\nkernel drivers with the old IEEE 1394 driver stack but could still be\naccessed by userspace drivers through the raw1394 interface.\n\nBut with firewire-core, userspace drivers don\u0027t get to see such buggy\ndevices anymore.  This is effectively a driver regression since this\ndevice bug is otherwise harmless.\n\nWe now attempt to scan all devices, even repeaters that don\u0027t have a\nlink or powered-down devices that have everything but their PHY shut\ndown when plugged in.  This results in futile repeated scanning attempts\nin case of such devices that really don\u0027t have an active link, but this\ndoesn\u0027t hurt since recent workqueue infrastructure lets us run more\nconcurrent scanning jobs than we can shake a stick at.\n\nThis should fix accessibility of Focusrite Saffire PRO 26 I/O:\nhttp://sourceforge.net/mailarchive/forum.php?thread_name\u003d20110314215622.5c751bb0%40stein\u0026forum_name\u003dffado-user\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "7a4e1e9c682cd87fe8a749b435b13afeef083c34",
      "tree": "4a2d0558222d25a2d37fc215cc95090ace00ffa7",
      "parents": [
        "dd5eeb99f47d18c05efffcd247c0aa07eaa9ffaa"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 15 00:04:42 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 20 16:45:24 2011 +0100"
      },
      "message": "firewire: sbp2: revert obsolete \u0027fix stall with \"Unsolicited response\"\u0027\n\nNow that firewire-core sets the local node\u0027s SPLIT_TIMEOUT to 2 seconds\nper default, commit a481e97d3cdc40b9d58271675bd4f0abb79d4872 is no\nlonger required.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "dd5eeb99f47d18c05efffcd247c0aa07eaa9ffaa",
      "tree": "ea2852c5436fab65afbebaf696a0db5b8d0dcf1e",
      "parents": [
        "d838d2c09af0820e306e3e9e31f97e873823b0b4"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Mar 07 11:21:15 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Mar 20 16:45:24 2011 +0100"
      },
      "message": "firewire: core: increase default SPLIT_TIMEOUT value\n\nThe SPLIT_TIMEOUT mechanism is intended to detect requests that somehow\ngot lost.  However, when the timeout value is too low, transactions that\ncould have been completed successfully will be cancelled.  Furthermore,\nthere are chips whose firmwares ignore the configured split timeout and\nsend late split response; known examples are the DM1x00 (BeBoB), TCD22x0\n(DICE), and some OXUF936QSE firmwares.\n\nThis patch changes the default timeout to two seconds, which happens to\nbe the default on other OSes, too.\n\nActual lost requests are extremely rare, so there should be no practical\ndownside to increasing the split timeout even on devices that work\ncorrectly.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "31ef9134eb52636d383a7d0626cbbd345cb94f2f",
      "tree": "5d994932a8773e844190cbea43ef31d67f605cf8",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Tue Mar 15 07:53:21 2011 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Tue Mar 15 08:42:22 2011 +0100"
      },
      "message": "ALSA: add LaCie FireWire Speakers/Griffin FireWave Surround driver\n\nAdd a driver for two playback-only FireWire devices based on the OXFW970\nchip.\n\nv2: better AMDTP API abstraction; fix fw_unit leak; small fixes\nv3: cache the iPCR value\nv4: FireWave constraints; fix fw_device reference counting;\n    fix PCR caching; small changes and fixes\nv5: volume/mute support; fix crashing due to pcm stop races\nv6: fix build; one-channel volume for LaCie\nv7: use signed values to make volume (range checks) work; fix function\n    block IDs for volume/mute; always use channel 0 for LaCie volume\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nAcked-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nTested-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "d838d2c09af0820e306e3e9e31f97e873823b0b4",
      "tree": "b51cb6854bac7282c925f67b612ee22e946445c2",
      "parents": [
        "b6258fc1feabda868694ad5fdc7ca8edf3ef30ec"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "green@linuxhacker.ru",
        "time": "Fri Mar 11 04:17:27 2011 +0300"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Mar 14 23:30:57 2011 +0100"
      },
      "message": "firewire: ohci: Misleading kfree in ohci.c::pci_probe/remove\n\nIt seems drivers/firewire/ohci.c is making some optimistic assumptions\nabout struct fw_ohci and that member \"card\" will always remain the first\nmember of the struct.\nPlus it\u0027s probably going to confuse a lot of static code analyzers too.\n\nSo I wonder if there is a good reason not to free the ohci struct just\nlike it was allocated instead of the tricky \u0026ohci-\u003ecard way?\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\n\nIt is perhaps just a rudiment from before mainline submission of the\ndriver.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b6258fc1feabda868694ad5fdc7ca8edf3ef30ec",
      "tree": "db2a06bde078d146c4ec32ab34ebe7a1779356ea",
      "parents": [
        "44b74d909dc943fd9384930a141450cb17133511"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 26 15:08:35 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Mar 14 23:30:56 2011 +0100"
      },
      "message": "firewire: ohci: omit IntEvent.busReset check rom AT queueing\n\nSince commit 82b662dc4102 \"flush AT contexts after bus reset for OHCI 1.2\",\nthe driver takes care of any AT packets that were enqueued during a bus\nreset phase.  The check from commit 76f73ca1b291 is therefore no longer\nnecessary and the MMIO read can be avoided.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "44b74d909dc943fd9384930a141450cb17133511",
      "tree": "19861b5b1213d6f0e9571f6c640095f7d74b642c",
      "parents": [
        "e81cbebdfc384f9c2ae91225f16ef994118e5e2c"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Wed Feb 23 09:27:40 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 26 15:11:04 2011 +0100"
      },
      "message": "firewire: ohci: prevent starting of iso contexts with empty queue\n\nIf a misguided program tried to start an isochronous context before it\nhas queued any packets, the call would appear to succeed, but the\ncontext would not actually go into the running state, and the OHCI\ncontroller would then raise an unrecoverableError interrupt because the\nfirst Z value is zero and thus invalid.  The driver logs such errors,\nbut there is no mechanism to report this back to the program.\n\nAdd an explicit check so that this error can be returned synchronously.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e81cbebdfc384f9c2ae91225f16ef994118e5e2c",
      "tree": "7bdb493f5bbb2d175966a8bd5336145c9e871ac3",
      "parents": [
        "5aaffc65a27dd9db65455c2c9ab3ede57238d2f5"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Wed Feb 16 10:32:11 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 26 15:11:03 2011 +0100"
      },
      "message": "firewire: ohci: prevent iso completion callbacks after context stop\n\nTo prevent the iso packet callback from being called after\nfw_iso_context_stop() has returned, make sure that the\ncontext\u0027s tasklet has finished executing before that.\n\nThis fixes access-after-free bugs that have so far been\nobserved only in the upcoming snd-firewire-speakers driver,\nbut can theoretically also happen in the firedtv driver.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5aaffc65a27dd9db65455c2c9ab3ede57238d2f5",
      "tree": "70f621a701752d255907956e76b8983892142ccd",
      "parents": [
        "8fd2af11d2fe1d50621e958747744f1c93e5b758"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Jan 31 11:58:58 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 26 15:11:03 2011 +0100"
      },
      "message": "firewire: core: rename some variables\n\nIn manage_channel(), rename the variables \"c\" and \"i\" to the more\nexpressive \"bit\" and \"channel\".\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "8fd2af11d2fe1d50621e958747744f1c93e5b758",
      "tree": "25fee98e38d3b63e9ba86458af876d2729574bc8",
      "parents": [
        "e71084af58cf15e6043338500eeaf6281d0a62af"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 23 12:26:51 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 26 15:11:03 2011 +0100"
      },
      "message": "firewire: nosy: should work on Power Mac G4 PCI too\n\nThe first board generation of Power Mac G4 (\"Yikes!\", those with PCI\ngraphics) still had a PCILynx controller like their G3 predecessors,\nbut not the later AGP models.  (Jonathan Woithe recalls to have heard\nof it, and some web sources reinforce it.)\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e71084af58cf15e6043338500eeaf6281d0a62af",
      "tree": "d757d4891a4f93f7a07c1f12448d3be3be748fa1",
      "parents": [
        "dbc9880fa731fe2482a706bbabb4165269233063"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Sat Jan 22 15:05:03 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 23 12:31:01 2011 +0100"
      },
      "message": "firewire: core: fix card-\u003ereset_jiffies overflow\n\nOn a 32-bit machine with, e.g., HZ\u003d1000, jiffies will overflow after\nabout 50 days, so if there are between 25 and 50 days between bus\nresets, the card-\u003ereset_jiffies comparisons can get wrong results.\n\nTo fix this, ensure that this timestamp always uses 64 bits.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: \"Stefan Richter\" \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "dbc9880fa731fe2482a706bbabb4165269233063",
      "tree": "288e46fb5df60dc582e74fd20565a802bb31502d",
      "parents": [
        "5a5e62da9be255439e8ce59f96828775b7b33374"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Jan 10 17:29:03 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 23 12:31:01 2011 +0100"
      },
      "message": "firewire: cdev: remove unneeded reference\n\nFor outbound transactions, the IDR\u0027s and the callback\u0027s references now\nhave exactly the same lifetime, so we do not need both of them.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: \"Stefan Richter\" \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5a5e62da9be255439e8ce59f96828775b7b33374",
      "tree": "61c3154c6574f52b0b2981ad7698275fc0693c5b",
      "parents": [
        "3e204dfcaff0e7f6c4d9873fb8c9d948ec5ab2da"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Jan 10 17:28:39 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 23 12:31:00 2011 +0100"
      },
      "message": "firewire: cdev: always wait for outbound transactions to complete\n\nWe must not use fw_cancel_transaction() because it cannot correctly\nabort still-active transactions.  The only place in core-cdev where this\nmatters is when the file is released.  Instead of trying to abort the\ntransactions, we wait for them to complete normally, i.e., until all\noutbound transaction resources have been removed from the IDR tree.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: \"Stefan Richter\" \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "3e204dfcaff0e7f6c4d9873fb8c9d948ec5ab2da",
      "tree": "77d823df1360861fb4edd7cdf0549ea849c8a001",
      "parents": [
        "f117a3e3004381ccadadc5156178c283815ca393"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Jan 10 17:28:27 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 23 12:31:00 2011 +0100"
      },
      "message": "firewire: cdev: remove unneeded idr_find() from complete_transaction()\n\nOutbound transactions are never aborted with release_client_resource(),\nso it is not necessary for complete_transaction() to check whether the\nresource is still registered.  Only shutdown_resource() can abort such\nan transaction, and this is already handled with the in_shutdown check.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: \"Stefan Richter\" \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f117a3e3004381ccadadc5156178c283815ca393",
      "tree": "afc150347ea9a50aec8ca7b4677d0267547d183b",
      "parents": [
        "6044565af458e7fa6e748bff437ecc49dea88d79"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Jan 10 17:21:35 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 23 12:31:00 2011 +0100"
      },
      "message": "firewire: ohci: log dead DMA contexts\n\nWhen a DMA context goes into the dead state (and the controller thus\nstops working correctly), logging this error and the controller\u0027s error\ncode might be helpful for debugging.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a1d3f5b70d13b7035f925de1f2ba0003a04b9ac5",
      "tree": "9c4252d29637f1ccf393259b0709e65e5678f16d",
      "parents": [
        "7971b96d922ccaaa2b732462c8f927af4259db60",
        "6044565af458e7fa6e748bff437ecc49dea88d79",
        "324719978dbb3ffad5a2e3d85af6c5dbbb766b99"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:34:39 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:34:39 2011 -0800"
      },
      "message": "Merge branches \u0027fixes\u0027 and \u0027fwnet\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: core: fix unstable I/O with Canon camcorder\n\n* \u0027fwnet\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: net: is not experimental anymore\n  firewire: net: invalidate ARP entries of removed nodes\n"
    },
    {
      "commit": "324719978dbb3ffad5a2e3d85af6c5dbbb766b99",
      "tree": "af2d92b19eeacf20cb5153d35392c0b24ed0059a",
      "parents": [
        "74a145049938b73b7e5421423f64a254d4192d3f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jan 20 00:07:46 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jan 21 00:36:00 2011 +0100"
      },
      "message": "firewire: net: is not experimental anymore\n\nthanks to Clemens\u0027 and Maxim\u0027s fixes to firewire-ohci and -net in the\nlast two kernel releases.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "74a145049938b73b7e5421423f64a254d4192d3f",
      "tree": "fc79d839596b87449dbb34317d1d282c2e54b6b7",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470"
      ],
      "author": {
        "name": "Maxim Levitsky",
        "email": "maximlevitsky@gmail.com",
        "time": "Mon Nov 29 04:09:52 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jan 21 00:36:00 2011 +0100"
      },
      "message": "firewire: net: invalidate ARP entries of removed nodes\n\nThis makes it possible to resume communication with a node that dropped\noff the bus for a brief period.  Otherwise communication will only be\npossible after ARP cache entry timeouts.\n\nSigned-off-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (rebased)\n"
    },
    {
      "commit": "6044565af458e7fa6e748bff437ecc49dea88d79",
      "tree": "874808ca8f1d8f5413c8e9302e5f52d9c4cfb4f1",
      "parents": [
        "1427130425c1239d977e8891c3a8923f53a6e352"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jan 15 18:19:48 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jan 21 00:27:46 2011 +0100"
      },
      "message": "firewire: core: fix unstable I/O with Canon camcorder\n\nRegression since commit 10389536742c, \"firewire: core: check for 1394a\ncompliant IRM, fix inaccessibility of Sony camcorder\":\n\nThe camcorder Canon MV5i generates lots of bus resets when asynchronous\nrequests are sent to it (e.g. Config ROM read requests or FCP Command\nwrite requests) if the camcorder is not root node.  This causes drop-\nouts in videos or makes the camcorder entirely inaccessible.\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d633260\n\nFix this by allowing any Canon device, even if it is a pre-1394a IRM\nlike MV5i are, to remain root node (if it is at least Cycle Master\ncapable).  With the FireWire controller cards that I tested, MV5i always\nbecomes root node when plugged in and left to its own devices.\n\nReported-by: Ralf Lange\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: \u003cstable@kernel.org\u003e # 2.6.32.y and newer\n"
    },
    {
      "commit": "1427130425c1239d977e8891c3a8923f53a6e352",
      "tree": "940207bbaf155d7ed36c6b8fab201dae6773ec1f",
      "parents": [
        "410cf2bd3dc6ec1ed9e1b36b25b9d7aa927ed14e"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Thu Jan 13 10:12:17 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jan 13 15:48:29 2011 +0100"
      },
      "message": "firewire: ohci: fix compilation on arches without PAGE_KERNEL_RO\n\nPAGE_KERNEL_RO is not available on all architectures, so its use\nin the new AR code broke compilation on sparc64.\n\nBecause the read-only mapping was just a debugging aid, just use\nPAGE_KERNEL instead.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\n\nJames Bottomley wrote:\n\u003e On Thu, 2011-01-13 at 08:27 +0100, Clemens Ladisch wrote:\n\u003e\u003e firewire: ohci: fix compilation on arches without PAGE_KERNEL_RO, e.g. sparc\n\u003e\u003e\n\u003e\u003e PAGE_KERNEL_RO is not available on all architectures, so its use in the\n\u003e\u003e new AR code broke compilation on sparc64.\n\u003e\u003e\n\u003e\u003e Because the R/O mapping is only used to catch drivers that try to write\n\u003e\u003e to the reception buffer and not actually required for correct operation,\n\u003e\u003e we can just use a normal PAGE_KERNEL mapping where _RO is not available.\n[...]\n\u003e\u003e +/*\n\u003e\u003e + * For archs where PAGE_KERNEL_RO is not supported;\n\u003e\u003e + * mapping the AR buffers readonly for the CPU is just a debugging aid.\n\u003e\u003e + */\n\u003e\u003e +#ifndef PAGE_KERNEL_RO\n\u003e\u003e +#define PAGE_KERNEL_RO PAGE_KERNEL\n\u003e\u003e +#endif\n\u003e\n\u003e This might cause interesting issues on sparc64 if it ever acquired a\n\u003e PAGE_KERNEL_RO.  Sparc64 has extern pgprot_t for it\u0027s PAGE_KERNEL types\n\u003e rather than #defines, so the #ifdef check wouldn\u0027t see this.\n\u003e\n\u003e I think either PAGE_PROT_RO becomes part of our arch API (so all\n\u003e architectures are forced to add it), or, if it\u0027s not part of the API,\n\u003e ohci isn\u0027t entitled to use it.  The latter seems simplest since you have\n\u003e no real use for write protection anyway.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "410cf2bd3dc6ec1ed9e1b36b25b9d7aa927ed14e",
      "tree": "4226510c642e882fde0cc801e626492577b61fd0",
      "parents": [
        "693a50b511818e07a131efc944cba1a504b63d3d"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Dec 13 14:56:02 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jan 04 08:48:34 2011 +0100"
      },
      "message": "firewire: use split transaction timeout only for split transactions\n\nInstead of starting the split transaction timeout timer when any request\nis submitted, start it only when the destination\u0027s ACK_PENDING has been\nreceived.  This prevents us from using a timeout that is too short, and,\nif the controller\u0027s AT queue is emptying very slowly, from cancelling\na packet that has not yet been sent.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "693a50b511818e07a131efc944cba1a504b63d3d",
      "tree": "f2791e96a50e10ec07223a9aa3b0719768221ca8",
      "parents": [
        "386a4153a2c1455e424f280d636efa3c91864466"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jan 01 15:17:05 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jan 04 08:48:33 2011 +0100"
      },
      "message": "firewire: ohci: consolidate context status flags\n\n\"firewire: ohci: restart iso DMA contexts on resume from low power mode\"\nadded the flag struct context.active and \"firewire: ohci: cache the\ncontext run bit\" added struct context.running.\n\nThese flags contain the same information; combine them.\nAlso, normalize whitespace in pci_resume().\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    }
  ],
  "next": "386a4153a2c1455e424f280d636efa3c91864466"
}
