)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "386a4153a2c1455e424f280d636efa3c91864466",
      "tree": "b99bc0351da1d37808d633cb8d64c1030dc37479",
      "parents": [
        "78dec56d6a56322e1b728d51f3a7def416d36b34"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Fri Dec 24 14:42:46 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jan 04 08:48:33 2011 +0100"
      },
      "message": "firewire: ohci: cache the context run bit\n\nThe DMA context run control bit is entirely controlled by software, so\nit is safe to cache it.  This allows the driver to avoid doing an\nadditional MMIO read when queueing an AT packet.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "78dec56d6a56322e1b728d51f3a7def416d36b34",
      "tree": "cecebe0b2376af8a774172286d4682bc5a697bfc",
      "parents": [
        "82b662dc41027527675740de15344d1b4e34958e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jan 01 15:15:40 2011 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jan 04 08:48:33 2011 +0100"
      },
      "message": "firewire: ohci: flush AT contexts after bus reset - addendum\n\nAdd comments\n  - on why bus_reset_tasklet flushes AT queues,\n  - that commit 76f73ca1b291 can possibly be reverted now.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Jarod Wilson \u003cjarod@redhat.com\u003e\n"
    },
    {
      "commit": "82b662dc41027527675740de15344d1b4e34958e",
      "tree": "e9e38e035e426c40b5f52f48da7928872fe61f5c",
      "parents": [
        "c16714704bb35165e5b85d927873dcc643772648"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Fri Dec 24 14:40:15 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jan 03 22:34:48 2011 +0100"
      },
      "message": "firewire: ohci: flush AT contexts after bus reset for OHCI 1.2\n\nThe OHCI 1.2 (draft) specification, clause 7.2.3.3, allows and\nrecommends that, after a bus reset, the controller does not flush all\nthe packets in the AT queues.  Therefore, the driver has to do this\nitself.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c16714704bb35165e5b85d927873dcc643772648",
      "tree": "c8aa70b7d7aaf3984a7c1b8579bd7f2ae29ec39d",
      "parents": [
        "18bb36f9fab5980efeff063755c037a622f0231c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Dec 17 22:22:33 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 19 15:27:02 2010 +0100"
      },
      "message": "firewire: net: set carrier state at ifup\n\nAt ifup, carrier status would be shown on even if it actually was off.\nAlso add an include for ethtool_ops rather than to rely on the one from\nnetdevice.h.\n\nNote, we can alas not use fwnet_device_mutex to serialize access to\ndev-\u003epeer_count (as I originally wanted).  This would cause a lock\ninversion:\n  - fwnet_probe | takes fwnet_device_mutex\n      + register_netdev | takes rtnl_mutex\n  - devinet_ioctl | takes rtnl_mutex\n      + fwnet_open | ...must not take fwnet_device_mutex\n\nHence use the dev-\u003elock spinlock for serialization.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "18bb36f9fab5980efeff063755c037a622f0231c",
      "tree": "f12d16c98aab9934306d29dc7584095479077813",
      "parents": [
        "c4d6fd40df38eb4c187565d48807f5f902481ba8"
      ],
      "author": {
        "name": "Maxim Levitsky",
        "email": "maximlevitsky@gmail.com",
        "time": "Wed Dec 08 04:22:57 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 19 15:27:01 2010 +0100"
      },
      "message": "firewire: net: add carrier detection\n\nTo make userland, e.g. NetworkManager work with firewire, we need to\ndetect whether cable is plugged or not.  Simple and correct way of doing\nthat is just counting number of peers.  No peers - no link and vice\nversa.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c4d6fd40df38eb4c187565d48807f5f902481ba8",
      "tree": "076b1e225faf7341149825449c528d2b99356005",
      "parents": [
        "dd23736e092035b71df1117482b71fdfb5634239"
      ],
      "author": {
        "name": "Maxim Levitsky",
        "email": "maximlevitsky@gmail.com",
        "time": "Mon Nov 29 04:09:53 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Dec 13 20:39:15 2010 +0100"
      },
      "message": "firewire: net: ratelimit error messages\n\nUnfortunately its easy to trigger such error messages by removing the\ncable while sending streams of data over the link.\n\nSuch errors are normal, and therefore this patch stops firewire-net from\nflooding the kernel log with these errors, by combining series of same\nerrors together.\n\nSigned-off-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\n\n(Stefan R:)  Eventually we should remove this logging when firewire-net\nand related firewire-ohci facilities have been stabilized.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "dd23736e092035b71df1117482b71fdfb5634239",
      "tree": "82e5ca95a4065f57e6c0e6504b3458d592a7c7f0",
      "parents": [
        "8662b6b029636c35e5876e184d90daf6b0072667"
      ],
      "author": {
        "name": "Maxim Levitsky",
        "email": "maximlevitsky@gmail.com",
        "time": "Mon Nov 29 04:09:50 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Dec 13 20:39:15 2010 +0100"
      },
      "message": "firewire: ohci: restart iso DMA contexts on resume from low power mode\n\nRestore iso channels DMA so that iso channels could continue to work\nafter resume from RAM/disk.\n\nSigned-off-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "8662b6b029636c35e5876e184d90daf6b0072667",
      "tree": "448ac2fb1db32087cb414f9f00ca420fc6ac3d7e",
      "parents": [
        "ec766a7970126f99665992c0b0b10bd60a4d6208"
      ],
      "author": {
        "name": "Maxim Levitsky",
        "email": "maximlevitsky@gmail.com",
        "time": "Mon Nov 29 04:09:49 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Dec 13 20:39:15 2010 +0100"
      },
      "message": "firewire: ohci: restore GUID on resume.\n\nSome lousy BIOSes, e.g. my Aspire 5720 BIOS forget to restore the GUID\nregister on resume from RAM.\n\nFix that by setting it to the last value that was read from it.\n\nSigned-off-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "ec766a7970126f99665992c0b0b10bd60a4d6208",
      "tree": "dc049e0bcb3e1fb33a68efea8760391af62f6681",
      "parents": [
        "2dd5bed59356e03610bebe1a37c397788df50b9b"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Tue Nov 30 08:25:17 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Dec 13 20:39:15 2010 +0100"
      },
      "message": "firewire: ohci: use common buffer for self IDs and AR descriptors\n\nThe buffers used for the selfIDs packets and the AR request and response\ndescriptors end up using three pages because dma_alloc_coherent()\nallocates at least one page per call.  However, these data structures\nwould all fit into 4 KB, so we can save space by using a common buffer\nfor them.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "2dd5bed59356e03610bebe1a37c397788df50b9b",
      "tree": "c1d069389a923d3b33ead320003e39d19ee86975",
      "parents": [
        "5b06db166c4d38638980283505259fa165d4f369"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Tue Nov 30 08:25:05 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Dec 13 20:39:14 2010 +0100"
      },
      "message": "firewire: ohci: optimize iso context checks in the interrupt handler\n\nWhen the isochRx/isochTx bit is clear, we do not need to read the\ncorresponding iso interrupt event register.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5b06db166c4d38638980283505259fa165d4f369",
      "tree": "3384d55b420987325ffabf523ded740b1daac2c4",
      "parents": [
        "8327b37b18addfc6f8cf41a2f1a4490b656377b9"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Tue Nov 30 08:24:47 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Dec 13 20:39:14 2010 +0100"
      },
      "message": "firewire: make PHY packet header format consistent\n\nChange the header of PHY packets to be sent to include a pseudo\ntransaction code.  This makes the header consistent with that of\nreceived PHY packets, and allows at_context_queue_packet() and\nlog_ar_at_event() to see the packet type directly instead of having\nto deduce it from the header length or even from the header contents.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "8327b37b18addfc6f8cf41a2f1a4490b656377b9",
      "tree": "ff9f3ccefccc5ab3b6bf0b5b7690af6a451230cc",
      "parents": [
        "e597e9898abe45beff4696159c7fe5c96f53e581"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Tue Nov 30 08:24:32 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Dec 13 20:39:14 2010 +0100"
      },
      "message": "firewire: ohci: properly clear posted write errors\n\nTo remove the error information from the controller\u0027s queue and to allow\nmore posted writes, the driver has to read the failed posted write\naddress before clearing the postedWriteErr interrupt bit.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\n\n(Stefan R:) The spec is somewhat fuzzy about the actual requirements.\nTo err on the safe side, let\u0027s do these two read accesses.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e597e9898abe45beff4696159c7fe5c96f53e581",
      "tree": "e50555f1356e9c5ad206215df1eed4e0e33bd517",
      "parents": [
        "c088ab30ebf184afae01d919c77cebcfdce39df3"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Tue Nov 30 08:24:19 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Dec 13 20:39:14 2010 +0100"
      },
      "message": "firewire: ohci: flush MMIO writes in the interrupt handler\n\nMake sure that interrupt event clear bit writes are executed before the\ninterrupt handler returns.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c088ab30ebf184afae01d919c77cebcfdce39df3",
      "tree": "7a66936c37b0c938db2eb398bdb763a648281393",
      "parents": [
        "7a39d8b82165462729d09066bddb395a19025acd"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Tue Nov 30 08:24:01 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Dec 13 20:39:13 2010 +0100"
      },
      "message": "firewire: ohci: fix AT context initialization error handling\n\nAdd proper error handling for the context_init() calls.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "7a39d8b82165462729d09066bddb395a19025acd",
      "tree": "c0fea8d963b7f421e97dccacb059cfca610072de",
      "parents": [
        "5878730be4e3d0c9527d6f2f688874e38acacc98"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Fri Nov 26 08:57:31 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Dec 13 20:39:13 2010 +0100"
      },
      "message": "firewire: ohci: Asynchronous Reception rewrite\n\nMove the AR DMA descriptors out of the buffer pages, and map the buffer\npages linearly into the kernel\u0027s address space.  This allows the driver\nto ignore any page boundaries in the DMA data and thus to avoid any\ncopying around of packet payloads.\n\nThis fixes the bug where S800 packets that are so big (\u003e 4080 bytes)\nthat they can be split over three pages were not handled correctly.\n\nDue to the changed algorithm, we can now use arbitrarily many buffer\npages, which improves performance because the controller can more easily\nunload its DMA FIFO.\n\nFurthermore, using streaming DMA mappings should improve perfomance on\narchitectures where coherent DMA mappings are not cacheable.  Even on\nother architectures, the caching behaviour should be improved slightly\nbecause the CPU no longer writes to the buffer pages.\n\nv2: Detect the last filled buffer page by searching the descriptor\u0027s\n    residual count value fields in order (like in the old code), instead\n    of going backwards through the transfer status fields; it looks as\n    if some controllers do not set the latter correctly.\n\nv3: Fix an old resume bug that would now make the handler run into\n    a BUG_ON, and replace that check with more useful error handling.\n    Increase the buffer size for better performance with non-TI chips.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\n\nMaxim Levitsky writes:\n    Works almost perfectly.  I can still see RCODE_BUSY errors\n    sometimes, not very often though.  64K here eliminates these errors\n    completely.  This is most likely due to nouveau drivers and lowest\n    perf level I use to lower card temperature.  That increases\n    latencies too much I think.  Besides that the IO is just perfect.\n\nTested-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5878730be4e3d0c9527d6f2f688874e38acacc98",
      "tree": "49cbdaefffddac39378cf8ad861b6313f2f89773",
      "parents": [
        "60a74a6ff86b4e90b9558956589390efdeb4e924"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sat Oct 30 14:08:27 2010 -0700"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 12 15:47:03 2010 +0100"
      },
      "message": "firewire: core: Update WARN uses\n\nAdd missing newlines.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "60a74a6ff86b4e90b9558956589390efdeb4e924",
      "tree": "188cfc02511b8e8a21e324efd9046f9e5b8c097a",
      "parents": [
        "9993e0fe0f5f29c69e79efcb271ffc9843002985"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Oct 23 13:18:56 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 12 15:47:02 2010 +0100"
      },
      "message": "firewire: nosy: char device is not seekable\n\nAmend .open handler accordingly and remove the .llseek handler.\n.llseek \u003d NULL means no_llseek (return error) since commit 776c163b1b93.\n\nThe only client that uses this interface is nosy-dump in linux/tools/firewire\nand it knows not to seek in this char dev.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "9993e0fe0f5f29c69e79efcb271ffc9843002985",
      "tree": "ed35a971df3613385819d58bf79817b7100c2992",
      "parents": [
        "af0cdf4947818becfe209610b209315578645ab4"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Dec 07 20:32:40 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 12 15:47:02 2010 +0100"
      },
      "message": "firewire: ohci: fix regression with Agere FW643 rev 06, disable MSI\n\nAgere FW643 rev 06, listed as \"11c1:5901 (rev 06) (prog-if 10 [OHCI])\",\nproduced SBP-2 I/O errors since kernel 2.6.36.  Disabling MSI fixes it.\n\nSince MSI work on Agere FW643-E (same vendor and device ID, but rev 07),\nintroduce a device revision field into firewire-ohci\u0027s quirks list so\nthat different quirks can be defined for older and newer revisions.\n\nReported-by: Jonathan Isom \u003cjeisom@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: \u003cstable@kernel.org\u003e # 2.6.36.y\n"
    },
    {
      "commit": "af0cdf4947818becfe209610b209315578645ab4",
      "tree": "6294d93f9eccfb857769929d1269aedd32681fc9",
      "parents": [
        "cf7d7e5a1980d1116ee152d25dac382b112b9c17"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Dec 07 19:16:02 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 12 15:47:02 2010 +0100"
      },
      "message": "firewire: ohci: fix regression with VIA VT6315, disable MSI\n\n\"VIA Technologies, Inc. VT6315 Series Firewire Controller [1106:3403]\"\ndoes not generate any interrupts if Message Signaled Interrupts were\nenabled.  This is a regression since kernel 2.6.36 in which MSI support\nwas added to firewire-ohci.  Hence blacklist MSI on all VIA controllers.\n\nReported-by: Robin Cook \u003crcook@wyrms.net\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: \u003cstable@kernel.org\u003e # 2.6.36.y\n"
    },
    {
      "commit": "75f5d2c9bd36047364d1fb35c0720ab37df3be02",
      "tree": "20f7bfba3397366e0f4526dcdbdb20f23559d8a5",
      "parents": [
        "0f639a3c5ca63dd76ee07de9b02ebf0178ce9a17",
        "b2268830f5cf29d94b3e4a2af0b795a8f28776fe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 28 12:24:20 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 28 12:24:20 2010 -0800"
      },
      "message": "Merge branch \u0027fwnet\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027fwnet\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: net: throttle TX queue before running out of tlabels\n  firewire: net: replace lists by counters\n  firewire: net: fix memory leaks\n  firewire: net: count stats.tx_packets and stats.tx_bytes\n"
    },
    {
      "commit": "b2268830f5cf29d94b3e4a2af0b795a8f28776fe",
      "tree": "a52483756446f1e09dcd80b5243d899612cf5caa",
      "parents": [
        "48553011cea504796e513350740781ac6745f556"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Nov 14 14:35:40 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Nov 17 00:08:49 2010 +0100"
      },
      "message": "firewire: net: throttle TX queue before running out of tlabels\n\nThis prevents firewire-net from submitting write requests in fast\nsuccession until failure due to all 64 transaction labels were used up\nfor unfinished split transactions.  The netif_stop/wake_queue API is\nused for this purpose.\n\nWithout this stop/wake mechanism, datagrams were simply lost whenever\nthe tlabel pool was exhausted.  Plus, tlabel exhaustion by firewire-net\nalso prevented other unrelated outbound transactions to be initiated.\n\nThe chosen queue depth was checked by me to hit the maximum possible\nthroughput with an OS X peer whose receive DMA is good enough to never\nreject requests due to busy inbound request FIFO.  Current Linux peers\nshow a mixed picture of -5%...+15% change in bandwidth; their current\nbottleneck are RCODE_BUSY situations (fewer or more, depending on TX\nqueue depth) due to too small AR buffer in firewire-ohci.\n\nMaxim Levitsky tested this change with similar watermarks with a Linux\npeer and some pending firewire-ohci improvements that address the\nRCODE_BUSY problem and confirmed that these TX queue limits are good.\n\nNote:  This removes some netif_wake_queue from reception code paths.\nThey were apparently copy\u0026paste artefacts from a nonsensical\nnetif_wake_queue use in the older eth1394 driver.  This belongs only\ninto the transmit path.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nTested-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\n"
    },
    {
      "commit": "48553011cea504796e513350740781ac6745f556",
      "tree": "f90a9e23ecd00c9c476e61e6e2c2fdd6cc552008",
      "parents": [
        "7ee11fa8d0a84b05cefe12b0bebc05ab0ea89cd6"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Nov 06 23:18:23 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Nov 17 00:08:48 2010 +0100"
      },
      "message": "firewire: net: replace lists by counters\n\nThe current transmit code does not at all make use of\n  - fwnet_device.packet_list\nand only very limited use of\n  - fwnet_device.broadcasted_list,\n  - fwnet_device.queued_packets.\nTheir current function is to track whether the TX soft-IRQ finished\ndealing with an skb when the AT-req tasklet takes over, and to discard\npending tx datagrams (if there are any) when the local node is removed.\n\nThe latter does actually contain a race condition bug with TX soft-IRQ\nand AT-req tasklet.\n\nInstead of these lists and the corresponding link in fwnet_packet_task,\n  - a flag in fwnet_packet_task to track whether fwnet_tx is done,\n  - a counter of queued datagrams in fwnet_device\ndo the job as well.\n\nThe above mentioned theoretic race condition is resolved by letting\nfwnet_remove sleep until all datagrams were flushed.  It may sleep\nalmost arbitrarily long since fwnet_remove is executed in the context of\na multithreaded (concurrency managed) workqueue.\n\nThe type of max_payload is changed to u16 here to avoid waste in struct\nfwnet_packet_task.  This value cannot exceed 4096 per IEEE 1394:2008\ntable 16-18 (or 32678 per specification of packet headers, if there is\never going to be something else than beta mode).\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "7ee11fa8d0a84b05cefe12b0bebc05ab0ea89cd6",
      "tree": "ed0f67e8b3687aef93acd50db1f635d43c8073f5",
      "parents": [
        "902bca00dc6e3b3ff5fbb1e32e5dbb45d5f30579"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Nov 06 16:57:28 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Nov 17 00:08:48 2010 +0100"
      },
      "message": "firewire: net: fix memory leaks\n\na) fwnet_transmit_packet_done used to poison ptask-\u003ept_link by list_del.\nIf fwnet_send_packet checked later whether it was responsible to clean\nup (in the border case that the TX soft IRQ was outpaced by the AT-req\ntasklet on another CPU), it missed this because ptask-\u003ept_link was no\nlonger shown as empty.\n\nb) If fwnet_write_complete got an rcode other than RCODE_COMPLETE, we\nmissed to free the skb and ptask entirely.\n\nAlso, count stats.tx_dropped and stats.tx_errors when rcode !\u003d 0.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "902bca00dc6e3b3ff5fbb1e32e5dbb45d5f30579",
      "tree": "4800783df10844fc3f41071fe4446cea957f63e4",
      "parents": [
        "e53beacd23d9cb47590da6a7a7f6d417b941a994"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Nov 06 12:36:13 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Nov 17 00:08:48 2010 +0100"
      },
      "message": "firewire: net: count stats.tx_packets and stats.tx_bytes\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f281233d3eba15fb225d21ae2e228fd4553d824a",
      "tree": "51134454ba8acb558735f90be5540f7d756483e3",
      "parents": [
        "bdbd01ac444bffb3c9aefed3059d12554059b320"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Nov 16 02:10:29 2010 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 16 13:33:23 2010 -0800"
      },
      "message": "SCSI host lock push-down\n\nMove the mid-layer\u0027s -\u003equeuecommand() invocation from being locked\nwith the host lock to being unlocked to facilitate speeding up the\ncritical path for drivers who don\u0027t need this lock taken anyway.\n\nThe patch below presents a simple SCSI host lock push-down as an\nequivalent transformation.  No locking or other behavior should change\nwith this patch.  All existing bugs and locking orders are preserved.\n\nAdditionally, add one parameter to queuecommand,\n\tstruct Scsi_Host *\nand remove one parameter from queuecommand,\n\tvoid (*done)(struct scsi_cmnd *)\n\nScsi_Host* is a convenient pointer that most host drivers need anyway,\nand \u0027done\u0027 is redundant to struct scsi_cmnd-\u003escsi_done.\n\nMinimal code disturbance was attempted with this change.  Most drivers\nneeded only two one-line modifications for their host lock push-down.\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nAcked-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f69fa76482e654f7d94e4aa40ea0ebf04363396a",
      "tree": "3cb1976afa6daf39a9e45551671ecfb5bb580e08",
      "parents": [
        "2e5c36722d4c9c86281f25a1e963a6078c7fce6a",
        "693fa7792e9db9f32da9436e633976fbacd04b55"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 05 14:17:22 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 05 14:17:22 2010 -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 race when reading count in AR descriptor\n  firewire: ohci: avoid reallocation of AR buffers\n  firewire: ohci: fix race in AR split packet handling\n  firewire: ohci: fix buffer overflow in AR split packet handling\n"
    },
    {
      "commit": "693fa7792e9db9f32da9436e633976fbacd04b55",
      "tree": "227078047db9c8f3497133769b1b9b1f7b681fa1",
      "parents": [
        "837596a61ba8f9bb53bb7aa27d17328ff9b2bcd5"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Oct 25 11:43:05 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Oct 30 23:37:20 2010 +0200"
      },
      "message": "firewire: ohci: fix race when reading count in AR descriptor\n\nIf the controller is storing a split packet and therefore changing\nd-\u003eres_count to zero between the two reads by the driver, we end up with\nan end pointer that is not at a packet boundary, and therefore overflow\nthe buffer when handling the split packet.\n\nTo fix this, read the field once, atomically.  The compiler usually\nmerges the two reads anyway, but for correctness, we have to enforce it.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nTested-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "837596a61ba8f9bb53bb7aa27d17328ff9b2bcd5",
      "tree": "a9b2ba0d4382a1c0ad75182662570f61b5e03e57",
      "parents": [
        "a1f805e5e73a8fe166b71c6592d3837df0cd5e2e"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Oct 25 11:42:42 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Oct 30 23:37:20 2010 +0200"
      },
      "message": "firewire: ohci: avoid reallocation of AR buffers\n\nFreeing an AR buffer page just to allocate a new page immediately\nafterwards is not only a pointless effort but also dangerous because\nthe allocation can fail, which would result in an oops later.\n\nSplit ar_context_add_page() into two functions so that we can reuse\nthe old page directly.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nTested-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a1f805e5e73a8fe166b71c6592d3837df0cd5e2e",
      "tree": "f8bc4a2d8d0bcaf4a1b7d4c547d7a2525459f852",
      "parents": [
        "85f7ffd5d2b320f73912b15fe8cef34bae297daf"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Oct 25 11:42:20 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Oct 30 23:37:19 2010 +0200"
      },
      "message": "firewire: ohci: fix race in AR split packet handling\n\nWhen handling an AR buffer that has been completely filled, we assumed\nthat its descriptor will not be read by the controller and can be\noverwritten.  However, when the last received packet happens to end at\nthe end of the buffer, the controller might not yet have moved on to the\nnext buffer and might read the branch address later.  If we overwrite\nand free the page before that, the DMA context will either go dead\nbecause of an invalid Z value, or go off into some random memory.\n\nTo fix this, ensure that the descriptor does not get overwritten by\nusing only the actual buffer instead of the entire page for reassembling\nthe split packet.  Furthermore, to avoid freeing the page too early,\nmove on to the next buffer only when some data in it guarantees that the\ncontroller has moved on.\n\nThis should eliminate the remaining firewire-net problems.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nCc: 2.6.22-2.6.36 \u003cstable@kernel.org\u003e\nTested-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    }
  ],
  "next": "85f7ffd5d2b320f73912b15fe8cef34bae297daf"
}
