)]}'
{
  "log": [
    {
      "commit": "cfc94b2c9ac603b20db54225408df6ed80188dcd",
      "tree": "6e5b21adac556242b89931c4d0929b66efb8c0b9",
      "parents": [
        "4c6a3999651741419cd3cc4303cf0c2be07d89bc",
        "e1393667be574807a13bfaf1bb471f5fd1a5287b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 22 12:54:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 22 12:54:54 2010 -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: ohci: wait for local CSR lock access to finish\n  firewire: ohci: prevent aliasing of locally handled register addresses\n  firewire: core: fw_iso_resource_manage: return -EBUSY when out of resources\n  firewire: core: fix retries calculation in iso manage_channel()\n  firewire: cdev: fix cut+paste mistake in disclaimer\n"
    },
    {
      "commit": "e1393667be574807a13bfaf1bb471f5fd1a5287b",
      "tree": "5f2084f1a5099062cb27e74765ec3cd8a69c3489",
      "parents": [
        "2608203daf5f87311c6e5d36e5de5efcb14aab24"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Apr 12 10:35:44 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Apr 19 19:58:32 2010 +0200"
      },
      "message": "firewire: ohci: wait for local CSR lock access to finish\n\nAdd a loop to wait for the controller to finish a locally-initiated CSR\nlock operation.  Google shows some occurrences of the \"swap not done\nyet\" message which might indicate that some OHCI controllers are not\nfast enough to do the lock/swap in the time needed for one PCI access.\n\nThis also correctly handles the case where the lock operation did not\nfinish, instead of silently returning an uninitialized value.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "2608203daf5f87311c6e5d36e5de5efcb14aab24",
      "tree": "f0060813795c68ab988a998c4cced16d67139ded",
      "parents": [
        "d6372b6e7c6142e6cc2108b3b850584cd7ade106"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Apr 12 10:35:30 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Apr 19 19:58:32 2010 +0200"
      },
      "message": "firewire: ohci: prevent aliasing of locally handled register addresses\n\nWe must compute the offset from the CSR register base with the\nfull 48 address bits to prevent matching with addresses whose\nlower 32 bits happen to be equal with one of the specially\nhandled registers.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "d6372b6e7c6142e6cc2108b3b850584cd7ade106",
      "tree": "14ae5783465c1f987de1d33e5a2a70db71acbb0a",
      "parents": [
        "3a1f0a0e3d871e3d3e08a1429009992151becda8"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Apr 12 10:35:18 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Apr 19 19:58:32 2010 +0200"
      },
      "message": "firewire: core: fw_iso_resource_manage: return -EBUSY when out of resources\n\nReturning -EIO for all errors would not allow clients to determine if\nthe resource allocation process itself failed, or if the resources are\nnot available.  (The latter information is needed by CMP to synchronize\nrestoring of overlayed connections after a bus reset.)\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "3a1f0a0e3d871e3d3e08a1429009992151becda8",
      "tree": "79bb6e3cb82e58310442c986d46077ad8ff2dddc",
      "parents": [
        "a2612cb16d4d8447793609cbdd2a2f4f156c0020"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Apr 12 10:35:05 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Apr 19 19:58:32 2010 +0200"
      },
      "message": "firewire: core: fix retries calculation in iso manage_channel()\n\nIf there is a permanent error condition when communicating with the IRM,\nafter the sixth error, the retry variable will be decremented to -1.\nIf, in this case, the bits in channels_mask are not yet exhausted, the\nnext channel is retried 2^32 times.\n\nTo fix this, check that retry is never decremented beyond zero.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "2fed94c032316d89422d4abfca2a882897489b94",
      "tree": "9381c79a351d2c13f6b87bae550c51689491ded6",
      "parents": [
        "00eef7bd01c7598d195699983c5290d901df19ad",
        "19b3eecc21b65a24b0aae2684ca0c8e1b99ef802"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 15 11:56:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 15 11:56:20 2010 -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: cdev: change license of exported header files to MIT license\n  firewire: cdev: comment fixlet\n  firewire: cdev: iso packet documentation\n  firewire: cdev: fix information leak\n  firewire: cdev: require quadlet-aligned headers for transmit packets\n  firewire: cdev: disallow receive packets without header\n"
    },
    {
      "commit": "9cac00b8f0079d5d3d54ec4dae453d58dec30e7c",
      "tree": "902b5f22c553395e5bab8c7561b996f19584e7f6",
      "parents": [
        "385ab5bcd4be586dffdba550b310308d89eade71"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Apr 07 08:30:50 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Apr 10 16:51:13 2010 +0200"
      },
      "message": "firewire: cdev: fix information leak\n\nA userspace client got to see uninitialized stack-allocated memory if it\nspecified an _IOC_READ type of ioctl and an argument size larger than\nexpected by firewire-core\u0027s ioctl handlers (but not larger than the\ncore\u0027s union ioctl_arg).\n\nFix this by clearing the requested buffer size to zero, but only at _IOR\nioctls.  This way, there is almost no runtime penalty to legitimate\nioctls.  The only legitimate _IOR is FW_CDEV_IOC_GET_CYCLE_TIMER with 12\nor 16 bytes to memset.\n\n[Another way to fix this would be strict checking of argument size (and\npossibly direction) vs. command number.  However, we then need a lookup\ntable, and we need to allow for slight size deviations in case of 32bit\nuserland on 64bit kernel.]\n\nReported-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "385ab5bcd4be586dffdba550b310308d89eade71",
      "tree": "76b56fc42e4f11aeb4cfdcc6e98b16220927ca04",
      "parents": [
        "4ba1d9c0c22947a9207029e7184733252e6135f1"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Wed Mar 31 16:26:46 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Apr 10 16:51:13 2010 +0200"
      },
      "message": "firewire: cdev: require quadlet-aligned headers for transmit packets\n\nThe definition of struct fw_cdev_iso_packet seems to imply that the\nheader_length must be quadlet-aligned, and in fact, specifying an\nunaligned header has never really worked when using multiple packet\nstructures, because the position of the next control word is computed by\nrounding the header_length _down_, so the last one to three bytes of the\nheader would overlap the next control word.\n\nTo avoid this problem, check that the header length is properly aligned.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "4ba1d9c0c22947a9207029e7184733252e6135f1",
      "tree": "7801ca5b28bfb50a1992483ebbf86b46471b05dc",
      "parents": [
        "fe43d6d9cf59d8f8cbfdcde2018de13ffd1285c7"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Wed Mar 31 16:26:39 2010 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Apr 10 16:51:13 2010 +0200"
      },
      "message": "firewire: cdev: disallow receive packets without header\n\nIn receive contexts, reject packets with header_length\u003d\u003d0.  This would\nbe an instruction to queue zero packets which would not make sense.\n\nThis prevents a division by zero in the OHCI driver.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "50da56706b989b99edb20f9c03172df193240c78",
      "tree": "79c89c416bc2d5369a49320bfbc91a03f3957a44",
      "parents": [
        "e0df9c0b42cc8cb48b801f7a0f54382f6a89ca16",
        "fe43d6d9cf59d8f8cbfdcde2018de13ffd1285c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 26 15:07:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 26 15:07:46 2010 -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: align driver match with modalias\n  firewire: core: fix Model_ID in modalias\n  firewire: ohci: add cycle timer quirk for the TI TSB12LV22\n  firewire: core: fw_iso_resource_manage: fix error handling\n"
    },
    {
      "commit": "fe43d6d9cf59d8f8cbfdcde2018de13ffd1285c7",
      "tree": "4eb14adaa43b7746cd8e0bc5416281b5d3839f9c",
      "parents": [
        "5ae73518cb39dd81e641dfa7ce20751c853579e0"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 19 00:39:07 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Mar 24 22:01:47 2010 +0100"
      },
      "message": "firewire: core: align driver match with modalias\n\nThe driver match strategy was:\n  - Match vendor/model/specifier/version of the unit directory.\n  - If that was a miss, match vendor from the root directory and\n    model/specifier/version of the unit directory.\n\nThis was inconsistent with how the modalias string was constructed\nuntil recently (take vendor/model from root directory and specifier/\nversion from unit directory).  It was also inconsistent with how it is\ndone since the parent commit:\n  - Use vendor/model/specifier/version of the unit directory if possible,\n  - fall back to one or more of vendor/model/specifier/version from the\n    root directory depending on which ones are not present at the unit\n    directory.\n\nFix this inconsistency by sharing the ROM scanner function between\nmodalias printer function and driver match function.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5ae73518cb39dd81e641dfa7ce20751c853579e0",
      "tree": "1ae10520855a21e7a470d3bfcdf1e0d67e81365c",
      "parents": [
        "8301b91ba0b2d15c86fdf5357efe7c04eb767a6e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 19 00:38:29 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Mar 24 22:01:47 2010 +0100"
      },
      "message": "firewire: core: fix Model_ID in modalias\n\nThe modalias string of devices that represent units on a FireWire node\ndid not show Module_ID entries within unit directories.  This was\nbecause firewire-core searched only the root directory of the\nconfiguration ROM for a Model_ID entry.\n\nWe now search first the root directory, then the unit directory.  IOW\nhonor a unit directory\u0027s Model_ID if present, otherwise fall back to the\nroot directory\u0027s model ID (if present).\n\nFurthermore, apply the same change to Vendor_ID.  This had the same\nissue but it was less apparent because most devices provide Vendor_ID\nonly in the root directory.\n\nAnd finally, also use this strategy for the remaining two IDs in the\nmodalias, Specifier_ID and Version.  It does not actually make sense to\nlook for them elsewhere than in the unit directory because they are\nmandatory there.  However, a uniform search order simplifies the\nimplementation and has no adverse affect in practice.\n\nSide notes:\n  - The older counterpart of this, nodemgr.c of ieee1394, looked for\n    Vendor_ID first in the root directory, then in the unit directory,\n    and for Model_ID only in the unit directory.\n  - There is a single mainline driver which requires Vendor_ID and\n    Model_ID --- the firedtv driver.  This one worked because FireDTVs\n    provide Vendor_ID in the root directory and Model_ID identically in\n    root directory and unit directory.\n  - Apart from firedtv, there are currently no drivers known to me\n    (including userspace drivers) that look at the Vendor_ID or Model_ID\n    of the modalias.\n\nReported-by: Maciej Żenczykowski \u003czenczykowski@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "8301b91ba0b2d15c86fdf5357efe7c04eb767a6e",
      "tree": "618f6ef4d1b4a35bba74af004a0aabdde4f315e2",
      "parents": [
        "cf36df6bfb49fd265a39f676bfc9718029fef160"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Wed Mar 17 11:07:55 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Mar 17 23:24:42 2010 +0100"
      },
      "message": "firewire: ohci: add cycle timer quirk for the TI TSB12LV22\n\nAmong the many entries in the TSB12LV22 errata list (TI literature\nnumber SLLS312) is the following:\n\n  PCI Slave reads of the Cycle Timer register may occasionally get an\n  incorrect value.\n  Software may be able to validate value by reading the register\n  multiple times rapidly and evaluating for a reasonable difference.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e (untested)\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (added #define)\n"
    },
    {
      "commit": "cf36df6bfb49fd265a39f676bfc9718029fef160",
      "tree": "684051014d4d516a5510797e4b887a06d412cb65",
      "parents": [
        "6fdb2ee243404c7cbf530387bf904ad1841ebf5b"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Mar 15 13:20:32 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Mar 15 14:29:44 2010 +0100"
      },
      "message": "firewire: core: fw_iso_resource_manage: fix error handling\n\nIf the bandwidth allocation fails, the error must be returned in\n*channel regardless of whether the channel allocation succeeded.\nChecking for c \u003e\u003d 0 is not correct if no channel allocation was\nrequested, in which case this part of the code is reached with\nc \u003d\u003d -EINVAL.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "8e9394ce2412254ec69fd2a4f3e44a66eade2297",
      "tree": "355f25148b4ce3f5cfebeaf0939d71cb6beaf88b",
      "parents": [
        "62e877b893e6350c900d381f353aa62ed48dcc97"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 17 10:57:05 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:52 2010 -0800"
      },
      "message": "Driver core: create lock/unlock functions for struct device\n\nIn the future, we are going to be changing the lock type for struct\ndevice (once we get the lockdep infrastructure properly worked out)  To\nmake that changeover easier, and to possibly burry the lock in a\ndifferent part of struct device, let\u0027s create some functions to lock and\nunlock a device so that no out-of-core code needs to be changed in the\nfuture.\n\nThis patch creates the device_lock/unlock/trylock() functions, and\nconverts all in-tree users to them.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Ming Lei \u003ctom.leiming@gmail.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Magnus Damm \u003cdamm@igel.co.jp\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Alex Chiang \u003cachiang@hp.com\u003e\nCc: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nCc: Yu Zhao \u003cyu.zhao@intel.com\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nCc: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: CHENG Renquan \u003crqcheng@smu.edu.sg\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nCc: Frans Pop \u003celendil@planet.nl\u003e\nCc: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "c1dcb4bb1e3e16e9baee578d9bb040e5fba1063e",
      "tree": "1bba995740aed8ef9a47111c1ee6ceeda84af836",
      "parents": [
        "60f8a8d4c6c46bb080e8e65d30be31b172a39a78",
        "6fdb2ee243404c7cbf530387bf904ad1841ebf5b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 08:08:44 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 08:08:44 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (23 commits)\n  firewire: ohci: extend initialization log message\n  firewire: ohci: fix IR/IT context mask mixup\n  firewire: ohci: add module parameter to activate quirk fixes\n  firewire: ohci: use an ID table for quirks detection\n  firewire: ohci: reorder struct fw_ohci for better cache efficiency\n  firewire: ohci: remove unused dualbuffer IR code\n  firewire: core: combine a bit of repeated code\n  firewire: core: change type of a data buffer\n  firewire: cdev: increment ABI version number\n  firewire: cdev: add more flexible cycle timer ioctl\n  firewire: core: rename an internal function\n  firewire: core: fix an information leak\n  firewire: core: increase stack size of config ROM reader\n  firewire: core: don\u0027t fail device creation in case of too large config ROM blocks\n  firewire: core: fix \"giving up on config rom\" with Panasonic AG-DV2500\n  firewire: remove incomplete Bus_Time CSR support\n  firewire: get_cycle_timer optimization and cleanup\n  firewire: ohci: enable cycle timer fix on ALi and NEC controllers\n  firewire: ohci: work around cycle timer bugs on VIA controllers\n  firewire: make PCI device id constant\n  ...\n"
    },
    {
      "commit": "086fa5ff0854c676ec333760f4c0154b3b242616",
      "tree": "ee63fb3c7c7d964bd799355b7cde18ba95f91f07",
      "parents": [
        "eb28d31bc97e6374d81f404da309401ffaed467b"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Feb 26 00:20:38 2010 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 26 13:58:08 2010 +0100"
      },
      "message": "block: Rename blk_queue_max_sectors to blk_queue_max_hw_sectors\n\nThe block layer calling convention is blk_queue_\u003climit name\u003e.\nblk_queue_max_sectors predates this practice, leading to some confusion.\nRename the function to appropriately reflect that its intended use is to\nset max_hw_sectors.\n\nAlso introduce a temporary wrapper for backwards compability.  This can\nbe removed after the merge window is closed.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6fdb2ee243404c7cbf530387bf904ad1841ebf5b",
      "tree": "f4a3cec81b7dc416b38d7b107ff60ac5c42ad463",
      "parents": [
        "4802f16d512d6e3b36177709d50c05df0ef52a6c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 21 17:59:14 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 24 20:36:55 2010 +0100"
      },
      "message": "firewire: ohci: extend initialization log message\n\nby the number of available isochronous DMA contexts and active quirks\nwhich is occasionally useful information.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "4802f16d512d6e3b36177709d50c05df0ef52a6c",
      "tree": "3d46d5088d41b8e38e7601a1a37c676d54270fe2",
      "parents": [
        "3e9cc2f3b7ddabbbfc9abd043887030c669380aa"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 21 17:58:52 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 24 20:36:55 2010 +0100"
      },
      "message": "firewire: ohci: fix IR/IT context mask mixup\n\nThis bug was present in firewire-ohci since day one:  The number of\navailable isochronous receive DMA contexts was mixed up with that of\navailable isochronous transmit DMA contexts.\n\nThis is harmless on a few chips which offer the same number of contexts\nin both directions, but most chips nowadays implement only the standard\nminimum of 4 IR contexts, but 8 IT contexts.  If a user attempted to run\na lot of IR contexts at once, results with more than four were therefore\nunpredictable.  I suppose the controller would simply refuse to start\nDMA of any unimplemented context.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "3e9cc2f3b7ddabbbfc9abd043887030c669380aa",
      "tree": "1495ea0e7fa0861be914492d7bb7b5518fb34a34",
      "parents": [
        "4a635593f447443459fb92a482b5cc6d1dd15199"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 21 17:58:29 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 24 20:36:55 2010 +0100"
      },
      "message": "firewire: ohci: add module parameter to activate quirk fixes\n\nThis way, we can advise users of precompiled kernel packages to test\nexisting quirk fixes on chips which have not been listed yet, without\nthem having to build a kernel from source.\n\nNote, to use this feature on a machine with more than one controller,\nsteps like these are necessary:\n# lspci | grep 1394\n# ls /sys/bus/pci/drivers/firewire_ohci/\n# echo -n \"0000:03:02.0\" \u003e /sys/bus/pci/drivers/firewire_ohci/unbind\n# echo 2 \u003e /sys/module/firewire_ohci/parameters/quirks\n# echo -n \"0000:03:02.0\" \u003e /sys/bus/pci/drivers/firewire_ohci/bind\n# echo 0 \u003e /sys/module/firewire_ohci/parameters/quirks\n\nThe parameter can also be used to switch off quirk flags that were\nhardwired into firewire-ohci\u0027s quirks table.  Simply specify a non-zero\nquirks value but without any known flags, e.g. 0x100.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "4a635593f447443459fb92a482b5cc6d1dd15199",
      "tree": "a3821827971de21daa1dd56f760064f8d3ead604",
      "parents": [
        "ecb1cf9c446ad7e8248160fe6797cd9bed817f24"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 21 17:58:01 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 24 20:36:55 2010 +0100"
      },
      "message": "firewire: ohci: use an ID table for quirks detection\n\nWe don\u0027t have a lot of quirks to take into account (especially since\ndual-buffer IR is out of the picture), but still, a table-based approach\nis more organized than a series of if () clauses.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "ecb1cf9c446ad7e8248160fe6797cd9bed817f24",
      "tree": "b31a52f938f7eee08f26455c2602bb8aca94bd9e",
      "parents": [
        "6498ba04aee69540f8f586438f90d58e5b8e6936"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 21 17:57:32 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 24 20:36:55 2010 +0100"
      },
      "message": "firewire: ohci: reorder struct fw_ohci for better cache efficiency\n\nThe config_rom struct members are only accessed during relatively\ninfrequent self-ID-complete interrupts and only if the local config ROM\nwas changed, while the ar_, at_, ir_, it_ members are used very\nfrequently during I/O.  Hence move the config_rom members further down.\n\nMore importantly, make the huge self_id_buffer member the last one; this\nis only accessed in self-ID-complete interrupts.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "6498ba04aee69540f8f586438f90d58e5b8e6936",
      "tree": "07f085b966af88265cbf36f30464f6f3943ecd77",
      "parents": [
        "64582298b9c29535188380f488873e7d2196a2eb"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 21 17:57:05 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 24 20:36:55 2010 +0100"
      },
      "message": "firewire: ohci: remove unused dualbuffer IR code\n\nThis code was no longer used since 2.6.33, \"firewire: ohci: always use\npacket-per-buffer mode for isochronous reception\" commit 090699c0.  If\nanybody needs this code in the future for special purposes, it can be\nbrought back in.  But it must not be re-enabled by default; drivers\n(kernelspace or userspace drivers) should only get this mode if they\nexplicitly request it.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "64582298b9c29535188380f488873e7d2196a2eb",
      "tree": "6478773259ee39594d8cabfa300eb5cc665051c4",
      "parents": [
        "6e95dea728f4af36c033fcf2318529bd46dae540"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 21 17:56:42 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 24 20:36:55 2010 +0100"
      },
      "message": "firewire: core: combine a bit of repeated code\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "6e95dea728f4af36c033fcf2318529bd46dae540",
      "tree": "611870be19f96a4937cadf349e5a4e12723283fb",
      "parents": [
        "e94b6d7736107c07b1b089797651d02994d268c7"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 21 17:56:21 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 24 20:36:55 2010 +0100"
      },
      "message": "firewire: core: change type of a data buffer\n\nfrom array of char to union of structs.  I already used a union to size\nthe buffer which holds ioctl arguments; more consequent is to define it\nas an instance of this union in the first place.\n\nAlso rename several local variables from \"request\" to \"a\"(rgument) since\nthe term request can be mistaken to mean a transaction subaction, e.g.\nan instance of struct fw_request.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "abfe5a01ef1e463cbafdae461b693db34e308c02",
      "tree": "e33056c7d8b80a3128f7714c31b083091be3ea9b",
      "parents": [
        "fd6e0c518121d22b50060d26c8aec2b701c6aab7"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 20 12:13:49 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 24 20:36:54 2010 +0100"
      },
      "message": "firewire: cdev: add more flexible cycle timer ioctl\n\nThe system time from CLOCK_REALTIME is not monotonic, hence problematic\nfor the main user of the FW_CDEV_IOC_GET_CYCLE_TIMER ioctl.  This issue\nexists in its successor ABI, i.e. raw1394, too.\nhttp://subversion.ffado.org/ticket/242\n\nWe now offer an alternative ioctl which lets the caller choose between\nCLOCK_REALTIME, CLOCK_MONOTONIC, and CLOCK_MONOTONIC_RAW as source of\nthe local time, very similar to the clock_gettime libc function.  The\nformat of the local time return value matches that of clock_gettime\n(seconds and nanoseconds, instead of a single microseconds value from\nthe existing ioctl).\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "fd6e0c518121d22b50060d26c8aec2b701c6aab7",
      "tree": "187955ecd1f8dd1319ad8fb4ddf1b434548718da",
      "parents": [
        "137d9ebfdbaa45c01f9f0f6d5121ae6f1eb942bd"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Feb 19 21:00:31 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 24 20:36:54 2010 +0100"
      },
      "message": "firewire: core: rename an internal function\n\naccording to what it really does.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "137d9ebfdbaa45c01f9f0f6d5121ae6f1eb942bd",
      "tree": "982433a233709231acc7ae92d31dbee166602e8e",
      "parents": [
        "58aaa5427663b680030aa58aaaf1e2738564b8dc"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Feb 19 21:00:02 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 24 20:36:54 2010 +0100"
      },
      "message": "firewire: core: fix an information leak\n\nIf a device exposes a sparsely populated configuration ROM,\nfirewire-core\u0027s sysfs interface and character device file interface\nshowed random data in the gaps between config ROM blocks.  Fix this by\nzero-initialization of the config ROM reader\u0027s scratch buffer.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "58aaa5427663b680030aa58aaaf1e2738564b8dc",
      "tree": "d084f4cb49842cefe5e9753cf3050c1171fd4560",
      "parents": [
        "2799d5c5f9d2064c6d1f50ec82e28e3eac5f6954"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Feb 18 01:54:00 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 24 20:36:54 2010 +0100"
      },
      "message": "firewire: core: increase stack size of config ROM reader\n\nThe stack size of 16 was artificially chosen and may be too small in\nextreme cases.  A device won\u0027t be accessible then.\n\nSince it doesn\u0027t really matter to the slab allocator whether we ask for\n1088 bytes or 2048 bytes of scratch memory, just allocate 2048 bytes for\nthe sum of temporary config ROM image and stack, and we will never ever\noverflow the stack (because there simply can\u0027t be more stack items than\nROM entries).\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "2799d5c5f9d2064c6d1f50ec82e28e3eac5f6954",
      "tree": "a1a954e92c75793a977c8362ba8d97f700da0fa6",
      "parents": [
        "d54423c62c2f687919d4e5bdd4bb064234ff2d44"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Feb 18 01:52:45 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 24 20:36:54 2010 +0100"
      },
      "message": "firewire: core: don\u0027t fail device creation in case of too large config ROM blocks\n\nIt never happened yet, but better safe than sorry:  If a device\u0027s config\nROM contains a block which overlaps the boundary at 0xfffff00007ff, just\nignore that one block instead of refusing to add the device\nrepresentation.  That way, upper layers (kernelspace or userspace\ndrivers) might still be able to use the device to some degree.\n\nThat\u0027s better than total inaccessibility of the device.  Worse, the core\nwould have logged only a generic \"giving up on config rom\" message which\ncould only be debugged by feeding a firewire-ohci debug logging session\nthrough a config ROM interpreter, IOW would likely remain undiagnosed.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "d54423c62c2f687919d4e5bdd4bb064234ff2d44",
      "tree": "d5f32f6188e69c1bca388b92127cb0f26ac0f3aa",
      "parents": [
        "109d28152b6e9d5de64cd23e3bc08885ccb3d1ef"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Feb 18 01:50:31 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 24 20:36:54 2010 +0100"
      },
      "message": "firewire: core: fix \"giving up on config rom\" with Panasonic AG-DV2500\n\nThe Panasonic AG-DV2500 tape deck contains an invalid entry in its\nconfiguration ROM root directory:  A leaf pointer with the undefined key\nID 0 and an offset that points way out of the standard config ROM area.\nThis caused firewire-core to dismiss the device with the generic log\nmessage \"giving up on config rom for node id...\", after which it was of\ncourse impossible to access the tape deck with dvgrab or any other\nprogram.  https://bugzilla.redhat.com/show_bug.cgi?id\u003d449252#c29\n\nThe fix is to simply ignore this invalid ROM entry and proceed to read\nthe valid rest of the ROM.  There is a catch though:  When the kernel\nlater iterates over the ROM, it would be nasty having to check again for\nsuch too large ROM offsets.  Therefore we manipulate the defective or\nunsupported ROM entry to become a harmless immediate entry that won\u0027t\nhave any side effects later (an entry with the value 0x00000000).\n\nReported-by: George Chriss\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "109d28152b6e9d5de64cd23e3bc08885ccb3d1ef",
      "tree": "b7b8863faa05254781acfb85cc41da3eef467c6b",
      "parents": [
        "168cf9af699e87d5a6f44b684583714ecabb8e71",
        "60b341b778cc2929df16c0a504c91621b3c6a4ad"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 24 20:31:04 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Feb 24 20:33:45 2010 +0100"
      },
      "message": "Merge tag \u0027v2.6.33\u0027 for its firewire changes since last branch point\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "168cf9af699e87d5a6f44b684583714ecabb8e71",
      "tree": "2f491d28a4a129caf7c2be306aec33c437a5cb30",
      "parents": [
        "4a9bde9b8ab55a2bb51b57cad215a97bcf80bae2"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 14 18:49:18 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 20 22:33:14 2010 +0100"
      },
      "message": "firewire: remove incomplete Bus_Time CSR support\n\nThe current implementation of Bus_Time read access was buggy since it\ndid not ensure that Bus_Time.second_count_hi and second_count_lo came\nfrom the same 128 seconds period.\n\nReported-by: Håkan Johansson \u003cf96hajo@chalmers.se\u003e\n\nInstead of a fix, remove Bus_Time register support altogether.  The spec\nrequires all cycle master capable nodes to implement this (all Linux\nnodes are cycle master capable) while it also says that it \"may\" be\ninitialized by the bus manager or by the IRM standing in for a bus\nmanager.  (Neither Linux\u0027 firewire-core nor ieee1394 nodemgr implement\nthis.)\n\nSince we cannot rely on Bus_Time having been initialized by a bus\nmanager, it is better to return an error instead of a nonsensical value\non a read request to Bus_Time.\n\nAlternatively, we could fix the Bus_Time read integrity bug _and_\nimplement (a) cycle master\u0027s write support of the register as well as\n(b) bus manager\u0027s Bus_Time initialization service, i.e. preservation of\nthe Bus_Time when the cycle master node of a bus changes.  However, that\nwould be quite some code for a feature that is unreliable to begin with\nand very likely unused in practice.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "4a9bde9b8ab55a2bb51b57cad215a97bcf80bae2",
      "tree": "e36282d7ed7e39f499e93f413cad57897477c53f",
      "parents": [
        "1c1517efe173599ca2f1526ce7a04521cd424a9f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 20 22:24:43 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 20 22:33:13 2010 +0100"
      },
      "message": "firewire: get_cycle_timer optimization and cleanup\n\nohci:  Break out of the retry loop if too many attempts were necessary.\nThis may theoretically happen if the chip is fatally defective or if the\nget_cycle_timer ioctl was performed after a CardBus controller was\nejected.\n\nAlso micro-optimize the loop by re-using the last two register reads in\nthe next iteration, remove a questionable inline keyword, and shuffle a\ncomment around.\n\ncore:  ioctl_get_cycle_timer() is always called with interrupts on,\ntherefore local_irq_save() can be replaced by local_irq_disable().\nDisabled local IRQs imply disabled preemption, hence preempt_disable()\ncan be removed.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1c1517efe173599ca2f1526ce7a04521cd424a9f",
      "tree": "72c9cfdb9481c689ecad6573e12e766ca5038cbc",
      "parents": [
        "b677532b971276f48e82578b4d829fb4382e7b41"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 14 18:47:07 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Feb 19 20:51:10 2010 +0100"
      },
      "message": "firewire: ohci: enable cycle timer fix on ALi and NEC controllers\n\nDiscussed in \"read_cycle_timer backwards for sub-cycle 0000, 0001\",\nhttp://thread.gmane.org/gmane.linux.kernel.firewire.devel/13704\n\nKnown bad controllers:\n  ALi M5271, listed by lspci as M5253 [10b9:5253]\n  NEC OrangeLink [1033:00cd] (rev 03)\n  NEC uPD72874 [1033:00f2] (rev 01)\n  VIA VT6306 [1106:3044] (rev 46)\n  VIA VT6308P, listed by lspci as rev c0\n\nReported-by: Pieter Palmers \u003cpieterp@joow.be\u003e\nReported-by: Håkan Johansson \u003cf96hajo@chalmers.se\u003e\nReported-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b677532b971276f48e82578b4d829fb4382e7b41",
      "tree": "5f773a4d65614872c619109595c09b8f9c93bda1",
      "parents": [
        "a67483d2be12dfc5563c09e6169bec9a88f434b0"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Wed Jan 20 09:58:02 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Feb 19 20:51:10 2010 +0100"
      },
      "message": "firewire: ohci: work around cycle timer bugs on VIA controllers\n\nVIA controllers sometimes return an inconsistent value when reading the\nisochronous cycle timer register.  To work around this, read the\nregister multiple times and add consistency checks.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nReported-by: Pieter Palmers \u003cpieterp@joow.be\u003e\nReported-by: Håkan Johansson \u003cf96hajo@chalmers.se\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "7f51a100bba517196ac4bdf29408d20ee1c771e8",
      "tree": "6e1af632f6a3f5ffd635a07c181125609297977a",
      "parents": [
        "110f82d7a2e0ff5a17617a9672f1ccb7e44bc0c6"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Mon Feb 08 08:30:03 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 14 15:10:41 2010 +0100"
      },
      "message": "firewire: ohci: retransmit isochronous transmit packets on cycle loss\n\nIn isochronous transmit DMA descriptors, link the skip address pointer\nback to the descriptor itself.  When a cycle is lost, the controller\nwill send the packet in the next cycle, instead of terminating the\nentire DMA program.\n\nThere are two reasons for this:\n\n* This behaviour is compatible with the old IEEE1394 stack.  Old\n  applications would not expect the DMA program to stop in this case.\n\n* Since the OHCI driver does not report any uncompleted packets, the\n  context would stop silently; clients would not have any chance to\n  detect and handle this error without a watchdog timer.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\n\nPieter Palmers notes:\n\n\"The reason I added this retry behavior to the old stack is because some\ncards now and then fail to send a packet (e.g. the o2micro card in my\ndell laptop).  I couldn\u0027t figure out why exactly this happens, my best\nguess is that the card cannot fetch the payload data on time.  This\nhappens much more frequently when sending large packets, which leads me\nto suspect that there are some contention issues with the DMA that fills\nthe transmit FIFO.\n\nIn the old stack it was a pretty critical issue as it resulted in a\nfreeze of the userspace application.\n\nThe omission of a packet doesn\u0027t necessarily have to be an issue.  E.g.\nin IEC61883 streams the DBC field can be used to detect discontinuities\nin the stream.  So as long as the other side doesn\u0027t bail when no\n[packet] is present in a cycle, there is not really a problem.\n\nI\u0027m not convinced though that retrying is the proper solution, but it is\nsimple and effective for what it had to do.  And I think there are no\nreasons not to do it this way.  Userspace can still detect this by\nchecking the cycle the descriptor was sent in.\"\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (changelog, comment)\n"
    },
    {
      "commit": "110f82d7a2e0ff5a17617a9672f1ccb7e44bc0c6",
      "tree": "64387d5a82eccf8156b746a2c42c2e81e9d34b91",
      "parents": [
        "abe94c756c08d50566c09a65b9c7fe72f83071c5"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jan 18 22:36:49 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Feb 01 21:51:28 2010 +0100"
      },
      "message": "firewire: net: fix panic in fwnet_write_complete\n\nIn the transmit path of firewire-net (IPv4 over 1394), the following\nrace condition may occur:\n  - The networking soft IRQ inserts a datagram into the 1394 async\n    request transmit DMA.\n  - The 1394 async transmit completion tasklet runs to finish cleaning\n    up (unlink datagram from list of pending ones, release skb and\n    outbound 1394 transaction object) --- before the networking soft IRQ\n    had a chance to proceed and add the datagram to the list of pending\n    datagrams.\n\nThis caused a panic in the 1394 async transmit completion tasklet when\nit dereferenced unitialized list heads:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d15077\n\nThe fix is to add checks in the tx soft IRQ and in the tasklet to\ndetermine which of these two is the last referrer to the transaction\nobject.  Then handle the cleanup of the object by the last referrer\nrather than assuming that the tasklet is always the last one.\n\nThere is another similar race:  Between said tasklet and fwnet_close,\ni.e. at ifdown.  However, that race is much less likely to occur in\npractice and shall be fixed in a separate update.\n\nReported-by: Илья Басин \u003cbasinilya@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "7a481436787cbc932af6c407b317ac603969a242",
      "tree": "b58660247f56926f591b06bd9b1e77280beef51e",
      "parents": [
        "281e20323ab72180137824a298ee9e21e6f9acf6"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jan 26 21:39:07 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 27 18:24:53 2010 +0100"
      },
      "message": "firewire: ohci: fix crashes with TSB43AB23 on 64bit systems\n\nUnsurprisingly, Texas Instruments TSB43AB23 exhibits the same behaviour\nas TSB43AB22/A in dual buffer IR DMA mode:  If descriptors are located\nat physical addresses above the 31 bit address range (2 GB), the\ncontroller will overwrite random memory.  With luck, this merely\nprevents video reception.  With only a little less luck, the machine\ncrashes.\n\nWe use the same workaround here as with TSB43AB22/A:  Switch off the\ndual buffer capability flag and use packet-per-buffer IR DMA instead.\nAnother possible workaround would be to limit the coherent DMA mask to\n31 bits.\n\nIn Linux 2.6.33, this change serves effectively only as documentation\nsince dual buffer mode is not used for any controller anymore.  But\nsomebody might want to re-enable it in the future to make use of\nfeatures of dual buffer DMA that are not available in packet-per-buffer\nmode.\n\nIn Linux 2.6.32 and older, this update is vital for anyone with this\ncontroller, more than 2 GB RAM, a 64 bit kernel, and FireWire video or\naudio applications.\n\nWe have at least four reports:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d13808\nhttp://marc.info/?l\u003dlinux1394-user\u0026m\u003d126154279004083\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d552142\nhttp://marc.info/?l\u003dlinux1394-user\u0026m\u003d126432246128386\n\nReported-by: Paul Johnson\nReported-by: Ronneil Camara\nReported-by: G Zornetzer\nReported-by: Mark Thompson\nCc: stable@kernel.org\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "281e20323ab72180137824a298ee9e21e6f9acf6",
      "tree": "b807edaafec3c00e442d41d9091b9783a53820f9",
      "parents": [
        "6d3faf6f431bafb25f4b9926c50a7e5c267738c6"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 24 16:45:03 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jan 26 20:54:50 2010 +0100"
      },
      "message": "firewire: core: fix use-after-free regression in FCP handler\n\nCommit db5d247a \"firewire: fix use of multiple AV/C devices, allow\nmultiple FCP listeners\" introduced a regression into 2.6.33-rc3:\nThe core freed payloads of incoming requests to FCP_Request or\nFCP_Response before a userspace driver accessed them.\n\nWe need to copy such payloads for each registered userspace client\nand free the copies according to the lifetime rules of non-FCP client\nrequest resources.\n\n(This could possibly be optimized by reference counts instead of\ncopies.)\n\nThe presently only kernelspace driver which listens for FCP requests,\nfiredtv, was not affected because it already copies FCP frames into an\nown buffer before returning to firewire-core\u0027s FCP handler dispatcher.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e300839da40e99581581c5d053a95a172651fec8",
      "tree": "bb6c59a38828f4af0fd728f959dcbd39546891ce",
      "parents": [
        "92dcffb916d309aa01778bf8963a6932e4014d07"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 24 14:47:02 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jan 26 20:54:50 2010 +0100"
      },
      "message": "firewire: core: add_descriptor size check\n\nPresently, firewire-core only checks whether descriptors that are to be\nadded by userspace drivers to the local node\u0027s config ROM do not exceed\na size of 256 quadlets.  However, the sum of the bare minimum ROM plus\nall descriptors (from firewire-core, from firewire-net, from userspace)\nmust not exceed 256 quadlets.\n\nOtherwise, the bounds of a statically allocated buffer will be\noverwritten.  If the kernel survives that, firewire-core will\nsubsequently be unable to parse the local node\u0027s config ROM.\n\n(Note, userspace drivers can add descriptors only through device files\nof local nodes.  These are usually only accessible by root, unlike\ndevice files of remote nodes which may be accessible to lesser\nprivileged users.)\n\nTherefore add a test which takes the actual present and required ROM\nsize into account for all descriptors of kernelspace and userspace\ndrivers.\n\nCc: stable@kernel.org\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a67483d2be12dfc5563c09e6169bec9a88f434b0",
      "tree": "fc9988664bd6b969103cea2543a4416774aebf12",
      "parents": [
        "13b302d0a217580c0129b0641b0ca8b592e437b0"
      ],
      "author": {
        "name": "Németh Márton",
        "email": "nm127@freemail.hu",
        "time": "Sun Jan 10 13:14:26 2010 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 10 17:04:19 2010 +0100"
      },
      "message": "firewire: make PCI device id constant\n\nThe id_table field of the struct pci_driver is constant in \u003clinux/pci.h\u003e\nso it is worth to make pci_table also constant.  Found with Coccinelle.\n\nSigned-off-by: Márton Németh \u003cnm127@freemail.hu\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: cocci@diku.dk\nSigned-off-by: Stefan Richter stefanr@s5r6.in-berlin.de\u003e (changelog)\n"
    },
    {
      "commit": "13b302d0a217580c0129b0641b0ca8b592e437b0",
      "tree": "aa895bb410b4262d9942a0f77fe623c7d610da0c",
      "parents": [
        "3c2c58cb33b3b15a2c4871babeec8fe1456e1db6"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Dec 26 01:44:10 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Dec 29 19:58:17 2009 +0100"
      },
      "message": "firewire: qualify config ROM cache pointers as const pointers\n\nSeveral config ROM related functions only peek at the ROM cache; mark\ntheir arguments as const pointers.  Ditto fw_device.config_rom and\nfw_unit.directory, as the memory behind them is meant to be write-once.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5d7db0499e5bb13381a7fbfdd0d913b966545e75",
      "tree": "0c782ba5f882685bdbb5c142a83ce38288d487ec",
      "parents": [
        "958a29cb1c9161d61dcd4ced51f260578e19823c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Dec 26 01:36:53 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Dec 29 19:58:17 2009 +0100"
      },
      "message": "firewire, ieee1394: update Kconfig help\n\nUpdate the Kconfig help texts of both stacks to encourage a general move\nfrom the older to the newer drivers.  However, do not label ieee1394 as\n\"Obsolete\" yet, as the newer drivers have not been deployed as default\nstack in the majority of Linux distributions yet, and those who start\ndoing so now may still want to install the old drivers as fallback for\nunforeseen issues.\n\nSince Linux 2.6.32, FireWire audio devices can be driven by the newer\nfirewire driver stack too, hence remove an outdated comment about audio\ndevices.  Also remove comments about library versions since the 2nd\ngeneration of libraw1394 and libdc1394 is now in common use; details on\nlibrary versions can be read at the wiki link from the help texts.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "3c2c58cb33b3b15a2c4871babeec8fe1456e1db6",
      "tree": "c19f59e4de0d9fb84fa5e4a7b3cd4d600d3708cd",
      "parents": [
        "1f8fef7b3388b5a976e80839679b5bae581a1091"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Dec 26 01:43:21 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Dec 29 19:58:17 2009 +0100"
      },
      "message": "firewire: core: fw_csr_string addendum\n\nWitespace and comment changes, and a different way to say i + 1 \u003c end.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1f8fef7b3388b5a976e80839679b5bae581a1091",
      "tree": "40ce4828cee287d6e54f627df787f8d993a21b1e",
      "parents": [
        "5d7db0499e5bb13381a7fbfdd0d913b966545e75"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Thu Dec 24 11:59:57 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Dec 29 19:58:17 2009 +0100"
      },
      "message": "firewire: add fw_csr_string() helper function\n\nThe core (sysfs attributes), the firedtv driver, and possible future\ndrivers all read strings from some configuration ROM directory.  Factor\nout the generic code from show_text_leaf() into a new helper function,\nmodified slightly to handle arbitrary buffer sizes.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "090699c0530ae5380a9b8511d76f656cc437bb6e",
      "tree": "395c61692df693e6562446b2d23b06793f87a0a4",
      "parents": [
        "cf0e575dcc4cab9fd955e9bec49df7e8ee30a7cf"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Dec 26 01:35:14 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Dec 29 19:58:17 2009 +0100"
      },
      "message": "firewire: ohci: always use packet-per-buffer mode for isochronous reception\n\nThis is a minimal change meant for the short term:  Never set the\nohci-\u003euse_dualbuffer flag to true.\n\nThere are two reasons to do so:\n\n  - Packet-per-buffer mode and dual-buffer mode do not behave the same\n    under certain circumstances, notably if several packets are covered\n    by a single fw_cdev_iso_packet descriptor.\n    http://marc.info/?l\u003dlinux1394-devel\u0026m\u003d124965653718313\n    Therefore the driver stack should not silently choose one or the\n    other mode but should leave the choice to the high-level driver\n    (regardless if kernel driver or userspace driver).  Or simply always\n    only offer packet-per-buffer mode, since a considerable number of\n    controllers, even current ones, does not offer dual-buffer support.\n\n  - Even under circumstances where packet-per-buffer mode and\n    dual-buffer mode behave exactly the same --- notably when used\n    through libraw1394, libdc1394, as well as the current two kernel\n    drivers which use isochronous reception (firewire-net and firedtv)\n    --- we are still faced with the problem that several OHCI 1.1\n    controllers have bugs in dual-buffer mode.  Although it looks like\n    we have identified most of those buggy controllers by now, we\n    cannot be quite sure about that.\n\nSo, use packet-per-buffer by default from now on.  This change should\nbe followed up by a more complete solution:  Either extend the\nin-kernel API and the userspace ABI by a choice between the two IR modes\nor remove all dual-buffer related code from firewire-ohci.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "cf0e575dcc4cab9fd955e9bec49df7e8ee30a7cf",
      "tree": "5f0e2a2c57aa2ca999d118d1dee7d84c71d1ecde",
      "parents": [
        "db5d247ae811f49185a71e703b65acad845e4b18"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Dec 26 01:34:29 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Dec 29 19:58:16 2009 +0100"
      },
      "message": "firewire: cdev: fix another memory leak in an error path\n\nIf copy_from_user in an FW_CDEV_IOC_SEND_RESPONSE ioctl failed, the\nfw_request pointed to by the inbound_transaction_resource is no\nlonger referenced and needs to be freed.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "db5d247ae811f49185a71e703b65acad845e4b18",
      "tree": "630586f3bdeea2df01c349d3cf27fb2e6317370c",
      "parents": [
        "6b7b284958d47b77d06745b36bc7f36dab769d9b"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "cladisch@fastmail.net",
        "time": "Thu Dec 24 12:05:58 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Dec 29 19:58:16 2009 +0100"
      },
      "message": "firewire: fix use of multiple AV/C devices, allow multiple FCP listeners\n\nControl of more than one AV/C device at once --- e.g. camcorders, tape\ndecks, audio devices, TV tuners --- failed or worked only unreliably,\ndepending on driver implementation.  This affected kernelspace and\nuserspace drivers alike and was caused by firewire-core\u0027s inability to\naccept multiple registrations of FCP listeners.\n\nThe fix allows multiple address handlers to be registered for the FCP\ncommand and response registers.  When a request for these registers is\nreceived, all handlers are invoked, and the Firewire response is\ngenerated by the core and not by any handler.\n\nThe cdev API does not change, i.e., userspace is still expected to send\na response for FCP requests; this response is silently ignored.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (changelog, rebased, whitespace)\n"
    },
    {
      "commit": "5f1141eb352ea79d849920039503e40dd623fffa",
      "tree": "1378b88a847c483933334d5c3695138bfa6c5a4d",
      "parents": [
        "880188b2433c3af51fa006207d9b13c70d2e5938",
        "8c0c0cc2d9f4c523fde04bdfe41e4380dec8ee54"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:22:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:22:27 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: ohci: handle receive packets with a data length of zero\n"
    },
    {
      "commit": "8c0c0cc2d9f4c523fde04bdfe41e4380dec8ee54",
      "tree": "eeb3a432eab9e357b332366fe7719fa932e29b88",
      "parents": [
        "af0940dac37545b1e7900b19c464fb6367d3f82f"
      ],
      "author": {
        "name": "Jay Fenlason",
        "email": "fenlason@redhat.com",
        "time": "Fri Dec 11 14:23:58 2009 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Dec 11 21:43:45 2009 +0100"
      },
      "message": "firewire: ohci: handle receive packets with a data length of zero\n\nQueueing to receive an ISO packet with a payload length of zero\nsilently does nothing in dualbuffer mode, and crashes the kernel in\npacket-per-buffer mode.  Return an error in dualbuffer mode, because\nthe DMA controller won\u0027t let us do what we want, and work correctly in\npacket-per-buffer mode.\n\nSigned-off-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "4ef58d4e2ad1fa2a3e5bbf41af2284671fca8cf8",
      "tree": "856ba96302a36014736747e8464f80eeb827bbdd",
      "parents": [
        "f6c4c8195b5e7878823caa1181be404d9e86d369",
        "d014d043869cdc591f3a33243d3481fa4479c2d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)\n  tree-wide: fix misspelling of \"definition\" in comments\n  reiserfs: fix misspelling of \"journaled\"\n  doc: Fix a typo in slub.txt.\n  inotify: remove superfluous return code check\n  hdlc: spelling fix in find_pvc() comment\n  doc: fix regulator docs cut-and-pasteism\n  mtd: Fix comment in Kconfig\n  doc: Fix IRQ chip docs\n  tree-wide: fix assorted typos all over the place\n  drivers/ata/libata-sff.c: comment spelling fixes\n  fix typos/grammos in Documentation/edac.txt\n  sysctl: add missing comments\n  fs/debugfs/inode.c: fix comment typos\n  sgivwfb: Make use of ARRAY_SIZE.\n  sky2: fix sky2_link_down copy/paste comment error\n  tree-wide: fix typos \"couter\" -\u003e \"counter\"\n  tree-wide: fix typos \"offest\" -\u003e \"offset\"\n  fix kerneldoc for set_irq_msi()\n  spidev: fix double \"of of\" in comment\n  comment typo fix: sybsystem -\u003e subsystem\n  ...\n"
    },
    {
      "commit": "bb592cf474404e51cbf3c419fb72fda83c4b7d72",
      "tree": "05823f536d5f095857a7aff732e205d249e4b7a1",
      "parents": [
        "79c9601c2e0dbbe69895d302de4d19f3a31fbd30",
        "af0940dac37545b1e7900b19c464fb6367d3f82f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:13:10 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:13:10 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  ieee1394: Use hweight32\n  firewire: cdev: reduce stack usage by ioctl_dispatch\n  firewire: ohci: 0 may be a valid DMA address\n  firewire: core: WARN on wrong usage of core transaction functions\n  firewire: core: optimize Topology Map creation\n  firewire: core: clarify generate_config_rom usage\n  firewire: optimize config ROM creation\n  firewire: cdev: normalize variable names\n  firewire: normalize style of queue_work wrappers\n  firewire: cdev: fix memory leak in an error path\n"
    },
    {
      "commit": "d014d043869cdc591f3a33243d3481fa4479c2d0",
      "tree": "63626829498e647ba058a1ce06419fe7e4d5f97d",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d",
        "6070d81eb5f2d4943223c96e7609a53cdc984364"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\n\tkernel/irq/chip.c\n"
    },
    {
      "commit": "af901ca181d92aac3a7dc265144a9081a86d8f39",
      "tree": "380054af22521144fbe1364c3bcd55ad24c9bde4",
      "parents": [
        "972b94ffb90ea6d20c589d9a47215df103388ddd"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Nov 14 13:09:05 2009 -0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:55 2009 +0100"
      },
      "message": "tree-wide: fix assorted typos all over the place\n\nThat is \"success\", \"unknown\", \"through\", \"performance\", \"[re|un]mapping\"\n, \"access\", \"default\", \"reasonable\", \"[con]currently\", \"temperature\"\n, \"channel\", \"[un]used\", \"application\", \"example\",\"hierarchy\", \"therefore\"\n, \"[over|under]flow\", \"contiguous\", \"threshold\", \"enough\" and others.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "f8a2cee0911fca04dab114ebd961aa564b3e65c3",
      "tree": "c2816db88a4c15f835e00232c013f989156e7cee",
      "parents": [
        "a5e63931fd36b7c24e383106ac0f4523cf179206",
        "31769cef2e973544164aa7d0db2e2024660d5e21"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 13:58:23 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 13:58:23 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: ohci: pass correct iso xmit timestamps to core\n  firewire: ohci: Make cycleMatch ISO transmission work\n"
    },
    {
      "commit": "31769cef2e973544164aa7d0db2e2024660d5e21",
      "tree": "6f3c2ce2e742fa197ac1460012a14eaf09bf3afa",
      "parents": [
        "5ed1f321a71b8549cc2eea26c94fe7943ed01d31"
      ],
      "author": {
        "name": "Jay Fenlason",
        "email": "fenlason@redhat.com",
        "time": "Sat Nov 21 00:05:56 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Nov 21 00:56:47 2009 +0100"
      },
      "message": "firewire: ohci: pass correct iso xmit timestamps to core\n\nHere is the final set of patches I used to get ffado to work with the\nnew firewire stack.  With these patches, I was able to start ardour\nand record from and playback to my PreSonus Inspire1394 from a\n(mostly) Fedora 12 system.\n\nSigned-off-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\n\nUntil now, firewire-ohci exposed only the transmit cycle of the last\ntransmitted packet at each isochronous transmit complete event.  This\nmade it impossible for FFADO (FireWire audio drivers in userspace) to\nsynchronize audio-out streams.  The fix is to store the timestamp of\neach packet in the iso xmit event.  As a bonus, the transfer status is\nstored too.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5ed1f321a71b8549cc2eea26c94fe7943ed01d31",
      "tree": "c27a802d0feed854a4842805d041bcb44d362f10",
      "parents": [
        "eaf76e0d027a917a013ad8a88a94132d0feab622"
      ],
      "author": {
        "name": "Jay Fenlason",
        "email": "fenlason@redhat.com",
        "time": "Tue Nov 17 12:29:17 2009 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Nov 18 20:31:17 2009 +0100"
      },
      "message": "firewire: ohci: Make cycleMatch ISO transmission work\n\nCalling the START_ISO ioctl with a nonnegative cycle paramater has\nnever worked.  Last night I got around to figuring out why.  Most of\nthis patch is a big comment explaining why we enable an interrupt\nsource then don\u0027t actually do anything when we get one.  As the\ncomment says, we should do more, but we don\u0027t have a way to tell\nuserspace what happened. . .\n\nSigned-off-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (edited comment)\n"
    },
    {
      "commit": "b2c0a2ac3e59f4764c59c23bd90b571e44256030",
      "tree": "b42fc9ccf784a8948161350b01354d0ce3f7b6e8",
      "parents": [
        "19593ffdb6daa6ba691d247a2400cece12687c52"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Oct 15 21:16:53 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Oct 31 11:40:52 2009 +0100"
      },
      "message": "firewire: cdev: reduce stack usage by ioctl_dispatch\n\nReplace a hardcoded buffer size by a sizeof union {}.  This shrinks the\nstack-allocated ioctl argument buffer from 256 to 40 bytes.  (This is\nnot much, but subsequent stack usage particularly by the queue_iso ioctl\nhandler adds up.)\n\nThe new form is also easier to keep up to date than a hardcoded size if\nmore ioctls are added.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "19593ffdb6daa6ba691d247a2400cece12687c52",
      "tree": "18c3508bbdb5f2d1b1bf51ac653ec580043a9340",
      "parents": [
        "5b189bf3633c3b73d4f08124a86f3e019953d412"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 14 20:40:10 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Oct 31 11:40:51 2009 +0100"
      },
      "message": "firewire: ohci: 0 may be a valid DMA address\n\nI was told that there are obscure architectures with non-coherent DMA\nwhich may DMA-map to bus address 0.  We shall not use 0 as a magic\nnumber of uninitialized bus address variables.\n\nThe packet-\u003epayload_length \u003e 0 test cannot be used either (except in\nat_context_queue_packet) because local requests are not DMA-mapped\nregardless of payload_length.  Hence add a state flag to struct\nfw_packet.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5b189bf3633c3b73d4f08124a86f3e019953d412",
      "tree": "3ee30bdd7b5e086e903199f29903400c77a3ddfe",
      "parents": [
        "cb7c96da3651111efbe088fa12f9bed61836ea93"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 14 20:37:36 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Oct 31 11:40:51 2009 +0100"
      },
      "message": "firewire: core: WARN on wrong usage of core transaction functions\n\nIn the code path which creates request packets, clearly mark a switch\nbranch which must never be reached with a WARN.\n\nIn the code path which creates response packets, replace a BUG by a\nfriendlier to debug WARN.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a3ccf63ee643ef243cbf8918da8b3f9238f10029",
      "tree": "569049e38e9b420a8c0e50a84d2579e176ca29de",
      "parents": [
        "d6047d79b90f6122fcbf2c3e783b507f7dd78fc6",
        "eaf76e0d027a917a013ad8a88a94132d0feab622"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 14 15:36:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 14 15:36:19 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: sbp2: provide fallback if mgt_ORB_timeout is missing\n  ieee1394: add documentation entry to MAINTAINERS\n  ieee1394: update URLs in debugging-via-ohci1394.txt\n"
    },
    {
      "commit": "cb7c96da3651111efbe088fa12f9bed61836ea93",
      "tree": "d31d9ba7e321206cd5b32753f444aabc2c76efeb",
      "parents": [
        "fe242579e9f33150868f1bb79c7e262ad7953f17"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Oct 08 00:42:53 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 14 23:10:48 2009 +0200"
      },
      "message": "firewire: core: optimize Topology Map creation\n\nThe Topology Map of the local node was created in CPU byte order,\nthen a temporary big endian copy was created to compute the CRC,\nand when a read request to the Topology Map arrived it had to be\nconverted to big endian byte order again.\n\nWe now generate it in big endian byte order in the first place.\nThis also rids us of 1000 bytes stack usage in tasklet context.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "fe242579e9f33150868f1bb79c7e262ad7953f17",
      "tree": "6b6ca473ed6e506372f0c0e7d97faac02bc1f88c",
      "parents": [
        "8e85973efc87dfae8508f1a3440fd44612897458"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Oct 08 00:42:27 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 14 23:10:48 2009 +0200"
      },
      "message": "firewire: core: clarify generate_config_rom usage\n\nMove the static config ROM buffer into the scope of the two callers of\ngenerate_config_rom().  That way the ROM length can be passed over as\nreturn value rather than through a pointer argument.\n\nIt also becomes more obvious that accesses to the config ROM buffer have\nto be serialized and how this is accomplished.  And firewire-core.ko\nshrinks a bit as well.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "8e85973efc87dfae8508f1a3440fd44612897458",
      "tree": "9b8f0f0d1adf5a2611b58565db4d9da0ebd1cc9c",
      "parents": [
        "e21fcf798e246202d7b60e864f1d7302ebaaf41c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Oct 08 00:41:59 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 14 23:10:48 2009 +0200"
      },
      "message": "firewire: optimize config ROM creation\n\nThe config ROM image of the local node was created in CPU byte order,\nthen a temporary big endian copy was created to compute the CRC, and\nfinally the card driver created its own big endian copy.\n\nWe now generate it in big endian byte order in the first place to avoid\none byte order conversion and the temporary on-stack copy of the ROM\nimage (1000 bytes stack usage in process context).  Furthermore, two\n1000 bytes memset()s are replaced by one 1000 bytes - ROM length sized\nmemset.\n\nThe trivial fw_memcpy_{from,to}_be32() helpers are now superfluous and\nremoved.  The newly added __compute_block_crc() function will be folded\ninto fw_compute_block_crc() in a subsequent change.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e21fcf798e246202d7b60e864f1d7302ebaaf41c",
      "tree": "8864afba6fb25e2c9b178ad8907b0c123463166f",
      "parents": [
        "9fb551bf72929b316abb6d96cfb2ec05e896042a"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Oct 08 00:41:38 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 14 23:10:48 2009 +0200"
      },
      "message": "firewire: cdev: normalize variable names\n\nUnify some names:\n  - \"e\" for pointers to subtypes of struct event,\n  - \"event\" for struct members and pointers to struct event,\n  - \"r\" for pointers to subtypes of struct client_resource,\n  - \"resource\" for struct members and pointers to struct client_resource,\n  - other names for struct members and pointers to other types.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "9fb551bf72929b316abb6d96cfb2ec05e896042a",
      "tree": "63c52c2b3c6ee05b11176ce16fa3eb9c7b69edad",
      "parents": [
        "7e44c0b56b07a5e34de9943cfb2fee72e71a9f0e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Oct 08 00:41:10 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 14 23:10:48 2009 +0200"
      },
      "message": "firewire: normalize style of queue_work wrappers\n\nA few stylistic changes to unify some code patterns in the subsystem:\n\n  - The similar queue_delayed_work helpers fw_schedule_bm_work,\n    schedule_iso_resource, and sbp2_queue_work now have the same call\n    convention.\n  - Two conditional calls of schedule_iso_resource are factored into\n    another small helper.\n  - An sbp2_target_get helper is added as counterpart to\n    sbp2_target_put.\n\nObject size of firewire-core is decreased a little bit, object size of\nfirewire-sbp2 remains unchanged.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "eaf76e0d027a917a013ad8a88a94132d0feab622",
      "tree": "3a6a97af6160688b94a673e08ad77e3e3d032c77",
      "parents": [
        "544df55d6c1590bc21c86119b89a1689b1eb5e75"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Oct 08 00:39:31 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 14 21:55:19 2009 +0200"
      },
      "message": "firewire: sbp2: provide fallback if mgt_ORB_timeout is missing\n\nThe Unit_Characteristics entry of an SBP-2 unit directory is not\nmandatory as far as I can tell.  If it is missing, we would probably\nfail to log in into the target because firewire-sbp2 would not wait for\nstatus after it sent the login request.\n\nThe fix moves the cleanup of tgt-\u003emgt_orb_timeout into a place where it\nis executed exactly once before login, rather than 0..n times depending\non the target\u0027s config ROM.  With targets with one or more\nUnit_Characteristics entries, the result is the same as before.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "7e44c0b56b07a5e34de9943cfb2fee72e71a9f0e",
      "tree": "b7b30a9d709f439423bb13ed07868d61ae546258",
      "parents": [
        "eaf76e0d027a917a013ad8a88a94132d0feab622"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Oct 08 00:39:56 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 14 21:55:19 2009 +0200"
      },
      "message": "firewire: cdev: fix memory leak in an error path\n\nIf copy_from_user in an FW_CDEV_IOC_SEND_RESPONSE ioctl failed, an\ninbound_transaction_resource instance is no longer referenced and needs\nto be freed.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a99bbaf5ee6bad1aca0c88ea65ec6e5373e86184",
      "tree": "2b0314d68b9e0a76e8f4fb60865a1d56e138833a",
      "parents": [
        "5e5027bd26ed4df735d29e66cd5c1c9b5959a587"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Oct 04 16:11:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 04 15:05:10 2009 -0700"
      },
      "message": "headers: remove sched.h from poll.h\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff830b8e5f999d1ccbd0282a666520f0b557daa4",
      "tree": "5979aba5ed48c93d658a208f3a1f714e9e1e8b67",
      "parents": [
        "746942d06acdb4dd78d16baa5f3728a48a033bdd",
        "625f0850a8e27b6a8d6fdb95056f35bc22d92b55"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:43:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:43:22 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  ieee1394: sbp2: remove a workaround for Momobay FX-3A\n  firewire: sbp2: remove a workaround for Momobay FX-3A\n  firewire: sbp2: fix status reception\n  firewire: core: fix topology map response handler\n  firewire: core: fix race with parallel PCI device probe\n  firewire: core: header file cleanup\n  firewire: ohci: fix Self ID Count register mask (safeguard against buffer overflow)\n  ieee1394: raw1394: Do not leak memory on failed trylock.\n"
    },
    {
      "commit": "a4dbd6740df0872cdf0a86841f75beec8381964d",
      "tree": "1093687845d89f8397d61e7df1ad8546a5a25225",
      "parents": [
        "5b2ea2f10dbb2fa91d8033993000f8664309395f"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Jun 24 10:06:31 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Sep 15 09:50:47 2009 -0700"
      },
      "message": "driver model: constify attribute groups\n\nLet attribute group vectors be declared \"const\".  We\u0027d\nlike to let most attribute metadata live in read-only\nsections... this is a start.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d7e9660ad9d5e0845f52848bce31bcf5cdcdea6b",
      "tree": "c6c67d145771187b194d79d603742b31090a59d6",
      "parents": [
        "b8cb48aae1b8c50b37dcb7710363aa69a7a0d9ca",
        "13af7a6ea502fcdd4c0e3d7de6e332b102309491"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:37:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:37:28 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1623 commits)\n  netxen: update copyright\n  netxen: fix tx timeout recovery\n  netxen: fix file firmware leak\n  netxen: improve pci memory access\n  netxen: change firmware write size\n  tg3: Fix return ring size breakage\n  netxen: build fix for INET\u003dn\n  cdc-phonet: autoconfigure Phonet address\n  Phonet: back-end for autoconfigured addresses\n  Phonet: fix netlink address dump error handling\n  ipv6: Add IFA_F_DADFAILED flag\n  net: Add DEVTYPE support for Ethernet based devices\n  mv643xx_eth.c: remove unused txq_set_wrr()\n  ucc_geth: Fix hangs after switching from full to half duplex\n  ucc_geth: Rearrange some code to avoid forward declarations\n  phy/marvell: Make non-aneg speed/duplex forcing work for 88E1111 PHYs\n  drivers/net/phy: introduce missing kfree\n  drivers/net/wan: introduce missing kfree\n  net: force bridge module(s) to be GPL\n  Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded\n  ...\n\nFixed up trivial conflicts:\n\n - arch/x86/include/asm/socket.h\n\n   converted to \u003casm-generic/socket.h\u003e in the x86 tree.  The generic\n   header has the same new #define\u0027s, so that works out fine.\n\n - drivers/net/tun.c\n\n   fix conflict between 89f56d1e9 (\"tun: reuse struct sock fields\") that\n   switched over to using \u0027tun-\u003esocket.sk\u0027 instead of the redundantly\n   available (and thus removed) \u0027tun-\u003esk\u0027, and 2b980dbd (\"lsm: Add hooks\n   to the TUN driver\") which added a new \u0027tun-\u003esk\u0027 use.\n\n   Noted in \u0027next\u0027 by Stephen Rothwell.\n"
    },
    {
      "commit": "3c5f80357c3fb3170e39e5d0ae87ddd6652f36ac",
      "tree": "acec232dac1d945e79f9382783c05440389704f5",
      "parents": [
        "094614fc14966bc6a6259ade55f051fe17f36122"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Sep 06 19:33:50 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 12 14:48:40 2009 +0200"
      },
      "message": "firewire: sbp2: remove a workaround for Momobay FX-3A\n\nThe inquiry delay does more harm than good in tests on a recent kernel.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "094614fc14966bc6a6259ade55f051fe17f36122",
      "tree": "36ccc96edeb9dff1f947de727599b3d33a2efdd4",
      "parents": [
        "85cb9b68640cf467a99d4b6d518f1293222dbc9e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Sep 06 18:51:27 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 12 14:48:40 2009 +0200"
      },
      "message": "firewire: sbp2: fix status reception\n\nPer SBP-2 clause 5.3, a target shall store 8...32 bytes of status\ninformation.  Trailing zeros after the first 8 bytes don\u0027t need to be\nstored, they are implicit.  Fix the status write handler to clear all\nunwritten status data.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "85cb9b68640cf467a99d4b6d518f1293222dbc9e",
      "tree": "02aca6e2bfc101b1ec9fa578701d5b01dc6bcd33",
      "parents": [
        "b171e204b32b69e241af994d6e9be559e33535c1"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Sep 08 01:13:53 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 12 14:48:40 2009 +0200"
      },
      "message": "firewire: core: fix topology map response handler\n\nThis register is 1 kBytes large.  Adjust topology_map.length to prevent\nregistration of other response handlers in this region and to make sure\nthat we respond to requests to the upper half of the register.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b171e204b32b69e241af994d6e9be559e33535c1",
      "tree": "0ba90b20dfed4e721a573e2dfe9e4584e8a80737",
      "parents": [
        "18668ff9a3232d5f942a2f7abc1ad67d2760dcdf"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Sep 06 18:50:29 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 12 14:48:40 2009 +0200"
      },
      "message": "firewire: core: fix race with parallel PCI device probe\n\nThe config ROM buffer received from generate_config_rom is a globally\nshared static buffer.  Extend the card_mutex protection in fw_add_card\nuntil after the config ROM was copied into the card driver\u0027s buffer.\nOtherwise, parallelized card driver probes may end up with ROM contents\nthat were meant for a different card.\n\nfirewire-ohci\u0027s card-\u003edriver-\u003eenable hook is safe to be called within\nthe card_mutex.  Furthermore, it is safe to reorder card_list update\nversus card enable, which simplifies the code a little.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "18668ff9a3232d5f942a2f7abc1ad67d2760dcdf",
      "tree": "251594c51144f5993b0975c5fb4ba9f200e5c79f",
      "parents": [
        "928ec5f148e729076e9202e7c78babede628a50c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Sep 06 18:49:48 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 12 14:48:40 2009 +0200"
      },
      "message": "firewire: core: header file cleanup\n\nfw_card_get, fw_card_put, fw_card_release are currently not exported for\nuse outside the firewire-core.  Move their definitions/ declarations\nfrom the subsystem header file to the core header file.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "928ec5f148e729076e9202e7c78babede628a50c",
      "tree": "2ad9c7263728d6f1ba91f69003873ed80e966328",
      "parents": [
        "64549e9357e5222a73e41aa87372b37abb047720"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Sep 06 18:49:17 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 12 14:48:40 2009 +0200"
      },
      "message": "firewire: ohci: fix Self ID Count register mask (safeguard against buffer overflow)\n\nThe selfIDSize field of Self ID Count is 9 bits wide, and we are only\ninterested in the high 8 bits.  Fix the mask accordingly.  The\npreviously too large mask didn\u0027t do damage though because the next few\nbits in the register are reserved and therefore zero with presently\nexisting hardware.\n\nAlso, check for the maximum possible self ID count of 252 (according to\nOHCI 1.1 clause 11.2 and IEEE 1394a-2000 clause 4.3.4.1, i.e. up to four\nself IDs of up to 63 nodes, even though IEEE 1394 up to edition 2008\ndefines only up to three self IDs per node).  More than 252 self IDs\nwould only happen if the self ID receive DMA unit malfunctioned, which\nwould likely be caught by other self ID buffer checks.  However, check\nit early to be sure.  More than 253 quadlets would overflow the Topology\nMap CSR.\n\nReported-By: PaX Team\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f815c335d21f9965f8dbe142fd168aaba1baf98e",
      "tree": "4e9a65b7810de10141595125cc65f2b0e7533dfc",
      "parents": [
        "74a01180db4bbfd61304ae0ba1f60af55ffc803d",
        "baed6b82d9f160184c1c14cdb4accb08f3eb6b87"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:59:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:59:00 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: sbp2: fix freeing of unallocated memory\n  firewire: ohci: fix Ricoh R5C832, video reception\n  firewire: ohci: fix Agere FW643 and multiple cameras\n  firewire: core: fix crash in iso resource management\n"
    },
    {
      "commit": "baed6b82d9f160184c1c14cdb4accb08f3eb6b87",
      "tree": "eaeee0797d802462447d5aefbb09ddbdefa69986",
      "parents": [
        "4fe0badd5882c64dc2dcd8893f9b85db63339736"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Sep 03 23:07:35 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 05 15:59:34 2009 +0200"
      },
      "message": "firewire: sbp2: fix freeing of unallocated memory\n\nIf a target writes invalid status (typically status of a command that\nalready timed out), firewire-sbp2 attempts to put away an ORB that\ndoesn\u0027t exist.  https://bugzilla.redhat.com/show_bug.cgi?id\u003d519772\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "4fe0badd5882c64dc2dcd8893f9b85db63339736",
      "tree": "d84d7773171be1a0a4cfacd646e0b7e2754a8089",
      "parents": [
        "fc383796a8cc5df0a0c8633a16dd2e9528a16a63"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Aug 28 13:26:03 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 05 15:59:34 2009 +0200"
      },
      "message": "firewire: ohci: fix Ricoh R5C832, video reception\n\nIn dual-buffer DMA mode, no video frames are ever received from R5C832\nby libdc1394.  Fallback to packet-per-buffer DMA works reliably.\nhttp://thread.gmane.org/gmane.linux.kernel.firewire.devel/13393/focus\u003d13476\n\nReported-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "fc383796a8cc5df0a0c8633a16dd2e9528a16a63",
      "tree": "92a231d28de6d396246a1136099d896a37be2332",
      "parents": [
        "1821bc19d54009b6f5e6462dd79074d728080839"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Aug 28 13:25:15 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 05 15:59:34 2009 +0200"
      },
      "message": "firewire: ohci: fix Agere FW643 and multiple cameras\n\nAn Agere FW643 OHCI 1.1 card works fine for video reception from one\ncamera but fails early if receiving from two cameras.  After a short\nwhile, no IR IRQ events occur and the context control register does not\nreact anymore.  This happens regardless whether both IR DMA contexts are\ndual-buffer or one is dual-buffer and the other packet-per-buffer.\n\nThis can be worked around by disabling dual buffer DMA mode entirely.\nhttp://sourceforge.net/mailarchive/message.php?msg_name\u003d4A7C0594.2020208%40gmail.com\n(Reported by Samuel Audet.)\n\nIn another report (by Jonathan Cameron), an FW643 works OK with two\ncameras in dual buffer mode.  Whether this is due to different chip\nrevisions or different usage patterns (different video formats) is not\nyet clear.  However, as far as the current capabilities of\nfirewire-core\u0027s isochronous I/O interface are concerned, simply\nswitching off dual-buffer on non-working and working FW643s alike is not\na problem in practice.  We only need to revisit this issue if we are\ngoing to enhance the interface, e.g. so that applications can explicitly\nchoose modes.\n\nReported-by: Samuel Audet \u003csamuel.audet@gmail.com\u003e\nReported-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1821bc19d54009b6f5e6462dd79074d728080839",
      "tree": "27c11feb1f613d719ab8d1beff2639ecd3b31dc7",
      "parents": [
        "ebbb16bffa646f853899ef3fdc0ac7abab888703"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 05 13:23:49 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 05 15:59:34 2009 +0200"
      },
      "message": "firewire: core: fix crash in iso resource management\n\nThis fixes a regression due to post 2.6.30 commit \"firewire: core: do\nnot DMA-map stack addresses\" 6fdc03709433ccc2005f0f593ae9d9dd04f7b485.\n\nAs David Moore noted, a previously correct sizeof() expression became\nwrong since the commit changed its argument from an array to a pointer.\nThis resulted in an oops in ohci_cancel_packet in the shared workqueue\nthread\u0027s context when an isochronous resource was to be freed.\n\nReported-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "451f14439847db302e5104c44458b2dbb4b1829d",
      "tree": "697046c4438806c37c5b0835dc71b7fdd35b8a92",
      "parents": [
        "6ce9e7b5fe3195d1ae6e3a0753d4ddcac5cd699e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Aug 31 06:34:50 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 23:07:36 2009 -0700"
      },
      "message": "drivers: Kill now superfluous -\u003elast_rx stores\n\nThe generic packet receive code takes care of setting\nnetdev-\u003elast_rx when necessary, for the sake of the\nbonding ARP monitor.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Neil Horman \u003cnhorman@txudriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0fc0b732eaa38beb93a6fb62f77c7bd9622c76ec",
      "tree": "2423b134116c16f027ebeae7954c098f27d6e619",
      "parents": [
        "daf09de817353f18bb81a23a023d429cfd258e62"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Sep 02 01:03:33 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 01:03:33 2009 -0700"
      },
      "message": "netdev: drivers should make ethtool_ops const\n\nNo need to put ethtool_ops in data, they should be const.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "424efe9caf6047ffbcd6b383ff4d2347254aabf1",
      "tree": "d0ed516baa5b452ed8bc3a88fbd061f6e415bfb9",
      "parents": [
        "6518bbb803fe02b15a3211c8db2afdff0ac4f808"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 31 19:50:51 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 01:13:40 2009 -0700"
      },
      "message": "netdev: convert pseudo drivers to netdev_tx_t\n\nThese are all drivers that don\u0027t touch real hardware.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f63bafe55654caf3a62f73500eafd1b89ca6f7ff",
      "tree": "d8c80b71e1197fb805c07282139377e9542421ea",
      "parents": [
        "4148df9b0f38bdd362dd91d52076926c11cbe5a9",
        "ebbb16bffa646f853899ef3fdc0ac7abab888703"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 06 14:03:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 06 14:03:44 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  ieee1394: sbp2: add support for disks \u003e2 TB (and 16 bytes long CDBs)\n  firewire: sbp2: add support for disks \u003e2 TB (and 16 bytes long CDBs)\n  firewire: core: do not DMA-map stack addresses\n"
    },
    {
      "commit": "af2719415a5ceae06f2a6d33e78b555e64697fc8",
      "tree": "30c3a6a5b2dd100e8ecf06d722032f1190cc6710",
      "parents": [
        "6fdc03709433ccc2005f0f593ae9d9dd04f7b485"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jun 30 20:27:59 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jul 02 21:27:01 2009 +0200"
      },
      "message": "firewire: sbp2: add support for disks \u003e2 TB (and 16 bytes long CDBs)\n\nIncrease the command ORB data structure to transport up to 16 bytes long\nCDBs (instead of 12 bytes), and tell the SCSI mid layer about it.  This\nis notably necessary for READ CAPACITY(16) and friends, i.e. support of\nlarge disks.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "6fdc03709433ccc2005f0f593ae9d9dd04f7b485",
      "tree": "e42e7304084b1b6420d456fbd2a5622e93327a74",
      "parents": [
        "0c53decdd0a9f9c459ccabe0b5f79660bde5375b"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jun 20 13:23:59 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 25 19:42:36 2009 +0200"
      },
      "message": "firewire: core: do not DMA-map stack addresses\n\nThe DMA mapping API cannot map on-stack addresses, as explained in\nDocumentation/DMA-mapping.txt.  Convert the two cases of on-stack packet\npayload buffers in firewire-core (payload of lock requests in the bus\nmanager work and in iso resource management) to slab-allocated memory.\n\nThere are a number on-stack buffers for quadlet write or quadlet read\nrequests in firewire-core and firewire-sbp2.  These are harmless; they\nare copied to/ from card driver internal DMA buffers since quadlet\npayloads are inlined with packet headers.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1053414068bad659479e6efa62a67403b8b1ec0a",
      "tree": "d4096db0f3aa9ca5e6b44c85ab848b7bedbfc37a",
      "parents": [
        "b88f8a546f5dba213938fdfc11e66bc5c2421623",
        "0c53decdd0a9f9c459ccabe0b5f79660bde5375b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 21:29:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 21:29:52 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: new stack is no longer experimental\n  firewire: net: better FIFO address range check and rcodes\n  firewire: net: fix card driver reloading\n  firewire: core: fix iso context shutdown on card removal\n  firewire: core: fix DMA unmapping in iso buffer removal\n  firewire: net: adjust net_device ops\n  firewire: net: remove unused code\n  firewire: net: allow for unordered unit discovery\n  firewire: net: style changes\n  firewire: net: add Kconfig item, rename driver\n  firewire: add IPv4 support\n"
    },
    {
      "commit": "0c53decdd0a9f9c459ccabe0b5f79660bde5375b",
      "tree": "b0956ec994028dc65e1e7ce51d05862018971e15",
      "parents": [
        "00635b8ee2b5650fd01f5602ecfa289db336b570"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jun 16 22:36:34 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 21 10:53:26 2009 +0200"
      },
      "message": "firewire: new stack is no longer experimental\n\nThe new stack is now recommended over the old one if used for industrial\nvideo (IIDC/DCAM) or for storage devices (SBP-2) due to better\nperformance, improved compatibility, added features, and security.  It\nshould also be functionally on par with and is more secure than the old\nieee1394 stack in the use case of consumer video devices.\n\nIP-over-1394 support for the new stack is currently emerging, and a\nbackend of the firedtv DVB driver to the new stack should be available\nsoon.\n\nThe one remaining area where the old stack is still required are audio\ndevices, as the new stack is not yet able to support the FFADO FireWire\naudio framework.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f83b1e616f2f68b56b09b2f5116591981fee0c1c",
      "tree": "d8c423502853b46ec82c58ee31b695552579f7da",
      "parents": [
        "2f38d70fb4e97e7d00e12eaac45790cf6ebd7b22",
        "1e626fdcef61460dc75fe7377f38bb019722b848"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 14:29:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 14:29:46 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: core: use more outbound tlabels\n  firewire: core: don\u0027t update Broadcast_Channel if RFC 2734 conditions aren\u0027t met\n  firewire: core: prepare for non-core children of card devices\n  firewire: core: include linux/uaccess.h instead of asm/uaccess.h\n  firewire: add parent-of-unit accessor\n  firewire: rename source files\n  firewire: reorganize header files\n  firewire: clean up includes\n  firewire: ohci: access bus_seconds atomically\n  firewire: also use vendor ID in root directory for driver matches\n  firewire: share device ID table type with ieee1394\n  firewire: core: add sysfs attribute for easier udev rules\n  firewire: core: check for missing struct update at build time, not run time\n  firewire: core: improve check for local node\n"
    },
    {
      "commit": "00635b8ee2b5650fd01f5602ecfa289db336b570",
      "tree": "cac06b270ad4ad7f4171c3b47206ebb9bb035428",
      "parents": [
        "b01b4babbf204443b5a846a7494546501614cefc"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jun 16 22:35:32 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jun 16 22:48:09 2009 +0200"
      },
      "message": "firewire: net: better FIFO address range check and rcodes\n\nThe AR req handler should not check the generation; higher level code\nis the better place to handle bus generation changes.  The target node\nID just needs to be checked for not being the \"all nodes\" address; in\nthis case don\u0027t handle the request and don\u0027t respond.\n\nUse Address_Error and Type_Error rcodes as appropriate.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b01b4babbf204443b5a846a7494546501614cefc",
      "tree": "7488129b4e41cde0b614d8f999064fc33fd211ca",
      "parents": [
        "d645f4dad056a98089df904294f66b96d04e91b6"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jun 16 20:43:55 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jun 16 22:48:09 2009 +0200"
      },
      "message": "firewire: net: fix card driver reloading\n\nFix some problems from \"firewire: net: allow for unordered unit\ndiscovery\":\n  - fwnet_remove was missing a list_del, causing fwnet_probe to crash if\n    called after fwnet_remove, e.g. if firewire-ohci was unloaded and\n    reloaded.\n  - fwnet_probe should set its new_netdev flag only if it actually\n    allocated a net_device.\n  - Use dev_set_drvdata and dev_get_drvdata instead of deprecated direct\n    access to device.driver_data.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "d645f4dad056a98089df904294f66b96d04e91b6",
      "tree": "993ec9d0c64dac6fb4e1214f213220fbc0e29f63",
      "parents": [
        "29ad14cddd6246d17ff22f496363dfd6b3de8964"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jun 16 19:15:25 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jun 16 22:48:09 2009 +0200"
      },
      "message": "firewire: core: fix iso context shutdown on card removal\n\nIf isochronous contexts existed when firewire-ohci was unloaded, the\ncore iso shutdown functions crashed with NULL dereferences, and buffers\netc. weren\u0027t released.\n\nHow the fix works:  We first copy the card driver\u0027s iso shutdown hooks\ninto the dummy driver, then fw_destroy_nodes notifies upper layers of\ndevices going away, these should shut down (including their iso\ncontexts), wait_for_completion(\u0026card-\u003edone) will be triggered after\nupper layers gave up all fw_device references, after which the card\ndriver\u0027s shutdown proceeds.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "29ad14cddd6246d17ff22f496363dfd6b3de8964",
      "tree": "a7477110ea9c76e553e244af42a2e54ad3e5addb",
      "parents": [
        "1337f8535ac1f41915d9e8aa03d5a3edf2f7c0a5"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jun 15 00:38:50 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jun 16 22:48:09 2009 +0200"
      },
      "message": "firewire: core: fix DMA unmapping in iso buffer removal\n\ndmap_unmap_page() shall use the same direction as dma_map_page().\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "d961450da5e16dae8da276c0a234764872b2307b",
      "tree": "b91bab945c21060e9d687ac0472bf6cf0a44be01",
      "parents": [
        "4b9d0d3b81ec0900971cbe8aba8ba0ae9c08a087"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Apr 30 14:43:31 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:26 2009 -0700"
      },
      "message": "firewire: remove driver_data direct access of struct device\n\nIn the near future, the driver core is going to not allow direct access\nto the driver_data pointer in struct device.  Instead, the functions\ndev_get_drvdata() and dev_set_drvdata() should be used.  These functions\nhave been around since the beginning, so are backwards compatible with\nall older kernel versions.\n\nCc: linux1394-devel@lists.sourceforge.net\nAcked-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1337f8535ac1f41915d9e8aa03d5a3edf2f7c0a5",
      "tree": "87e11b5184d1a5df659d90fb4cd48183043b247f",
      "parents": [
        "156ce867a6725ea8a24b452469a6dc9f3fa6a161"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 14 11:47:44 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 14 14:26:29 2009 +0200"
      },
      "message": "firewire: net: adjust net_device ops\n\nThe .ndo_tx_timeout callback is currently without function; delete it.\nGive .watchdog_timeo a proper time value; lower it to 2 seconds.\n\nDecrease the .tx_queue_len from 1000 (as in Ethernet card drivers) to 10\nbecause we have only 64 transaction labels available, and responders\nmight have further limits of their AR req contexts.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    }
  ],
  "next": "156ce867a6725ea8a24b452469a6dc9f3fa6a161"
}
