)]}'
{
  "log": [
    {
      "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": "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"
    },
    {
      "commit": "156ce867a6725ea8a24b452469a6dc9f3fa6a161",
      "tree": "826d820ed5e2d2155747999ef9f0c87adcc258bc",
      "parents": [
        "5a124d382ea5c97be43c779e4f481455e0287654"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 14 11:46:57 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 14 14:26:29 2009 +0200"
      },
      "message": "firewire: net: remove unused code\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5a124d382ea5c97be43c779e4f481455e0287654",
      "tree": "d77069fe1456932f4ce2872dc6b1f963cb8662c5",
      "parents": [
        "f91e3bd842ec6f5cea245993926ee8ff26250467"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 14 11:45:27 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 14 14:26:29 2009 +0200"
      },
      "message": "firewire: net: allow for unordered unit discovery\n\nDecouple the creation and destruction of the net_device from the order\nof discovery and removal of nodes with RFC 2734 unit directories since\nthere is no reliable order.  The net_device is now created when the\nfirst RFC 2734 unit on a card is discovered, and destroyed when the last\nRFC 2734 unit on a card went away.  This includes all remote units as\nwell as the local unit, which is therefore tracked as a peer now too.\n\nAlso, locking around the list of peers is slightly extended to guard\nagainst peer removal.  As a side effect, fwnet_peer.pdg_lock has become\nsuperfluous and is deleted.\n\nPeer data (max_rec, speed, node ID, generation) are updated more\ncarefully.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f91e3bd842ec6f5cea245993926ee8ff26250467",
      "tree": "c7b66078c862a85fdc7d21bc2eb61f9c32a530ca",
      "parents": [
        "b9530fd6c3f057bda258c8e2631ad1a25959f4a2"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 07 22:57:53 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 14 14:26:29 2009 +0200"
      },
      "message": "firewire: net: style changes\n\nChange names of types, variables, functions.\nOmit debug code.\nUse get_unaligned*, put_unaligned*.\nAnnotate big endian data.\nHandle errors in __init.\nChange whitespace.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b9530fd6c3f057bda258c8e2631ad1a25959f4a2",
      "tree": "509bc37394a27822b0a98b940f38d4c0401a4a6a",
      "parents": [
        "c76acec6d55107b652a37c90b36c00bc8b04dabb"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 07 22:57:53 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 14 14:26:29 2009 +0200"
      },
      "message": "firewire: net: add Kconfig item, rename driver\n\nThe driver is now called firewire-net.  It might implement the transport\nof other networking protocols in the future, notably IPv6 per RFC 3146.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c76acec6d55107b652a37c90b36c00bc8b04dabb",
      "tree": "f51f4cea0bd006352bc636586717d009e24ef3c3",
      "parents": [
        "1e626fdcef61460dc75fe7377f38bb019722b848"
      ],
      "author": {
        "name": "Jay Fenlason",
        "email": "fenlason@redhat.com",
        "time": "Mon May 18 13:08:06 2009 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 14 14:26:28 2009 +0200"
      },
      "message": "firewire: add IPv4 support\n\nImplement IPv4 over IEEE 1394 as per RFC 2734 for the newer firewire\nstack.  This feature has only been present in the older ieee1394 stack\nvia the eth1394 driver.\n\nStill to do:\n  - fix ipv4_priv and ipv4_node lifetime logic\n  - fix determination of speeds and max payloads\n  - fix bus reset handling\n  - fix unaligned memory accesses\n  - fix coding style\n  - further testing/ improvement of fragment reassembly\n  - perhaps multicast support\n\nSigned-off-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (rebased, copyright note, changelog)\n"
    },
    {
      "commit": "1e626fdcef61460dc75fe7377f38bb019722b848",
      "tree": "5ae5587507b07ff4832d1f3c53fe4dd01a8636d3",
      "parents": [
        "837ec787d85fda8d73193a399ebcea0288e4765b"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 14 13:23:58 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 14 14:23:42 2009 +0200"
      },
      "message": "firewire: core: use more outbound tlabels\n\nTlabel is a 6 bits wide datum.  Wrap it after 63 rather than 31 for more\nsafety against transaction label exhaustion and potential responders\u0027\ntransaction layer bugs.  (As noted by Guus Sliepen, this change requires\nan expansion of tlabel_mask to 64 bits.)\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "837ec787d85fda8d73193a399ebcea0288e4765b",
      "tree": "813a25088e68dc734966ce5ed4aacada01084996",
      "parents": [
        "099d54143e49d49c33cd25779ca725191df59b73"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jun 09 23:56:55 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jun 14 11:57:06 2009 +0200"
      },
      "message": "firewire: core: don\u0027t update Broadcast_Channel if RFC 2734 conditions aren\u0027t met\n\nThis extra check will avoid Broadcast_Channel register related traffic\nto many IIDC, SBP-2, and AV/C devices which aren\u0027t IRMC or have a\nmax_rec \u003c 8 (i.e. support \u003c 512 bytes async payload).  This avoids a\nlittle bit of traffic after bus reset and is even more careful with\ndevices which don\u0027t implement this CSR.\n\nThe assumption is that no other protocol than IP over 1394 uses the\nbroadcast channel for streams.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "099d54143e49d49c33cd25779ca725191df59b73",
      "tree": "8237acfc84aa5057ce8c98b1301b6d54cf056ba0",
      "parents": [
        "e034d242593f12533c11742ce38c245a33e57dc7"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jun 06 18:37:25 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jun 06 21:45:50 2009 +0200"
      },
      "message": "firewire: core: prepare for non-core children of card devices\n\nThe IP-over-1394 driver will add child devices beneath card devices\nwhich are not of type fw_device.  Hence firewire-core\u0027s callbacks in\ndevice_for_each_child() and device_find_child() need to check for the\ndevice type now.\n\nInitial version written by Jay Fenlason.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e034d242593f12533c11742ce38c245a33e57dc7",
      "tree": "ae970541127274885dc9e1b67792d1b7c66acb0f",
      "parents": [
        "e5110d011e03030926872457f05e49e3d5031737"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jun 06 18:36:24 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jun 06 21:45:50 2009 +0200"
      },
      "message": "firewire: core: include linux/uaccess.h instead of asm/uaccess.h\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e5110d011e03030926872457f05e49e3d5031737",
      "tree": "09037ffddcea6f5b8b18ab20035904408d2869ea",
      "parents": [
        "e71d31da062095d8b0b02a26fb5e8879e8d3d0de"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jun 06 18:35:27 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jun 06 21:45:50 2009 +0200"
      },
      "message": "firewire: add parent-of-unit accessor\n\nRetrieval of an fw_unit\u0027s parent is a common pattern in high-level code.\nWrap it up as device \u003d fw_parent_device(unit).\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e71d31da062095d8b0b02a26fb5e8879e8d3d0de",
      "tree": "6d45660ec489d9d58bad51a02d8d8877b534e81b",
      "parents": [
        "77c9a5daa9c4d9b37812c9c69c7bcbb3f9399c3c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:18 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:18 2009 +0200"
      },
      "message": "firewire: rename source files\n\nThe source files of firewire-core, firewire-ohci, firewire-sbp2, i.e.\n \"drivers/firewire/fw-*.c\"\nare renamed to\n \"drivers/firewire/core-*.c\",\n \"drivers/firewire/ohci.c\",\n \"drivers/firewire/sbp2.c\".\n\nThe old fw- prefix was redundant to the directory name.  The new core-\nprefix distinguishes the files according to which driver they belong to.\n\nThis change comes a little late, but still before further firewire\ndrivers are added as anticipated RSN.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "77c9a5daa9c4d9b37812c9c69c7bcbb3f9399c3c",
      "tree": "54ea3c48e0663ef1b9f227ffff7710f0ea03f9a1",
      "parents": [
        "e8ca97021c8eb127bb04aec4e2420e1d66be371d"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:18 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:18 2009 +0200"
      },
      "message": "firewire: reorganize header files\n\nThe three header files of firewire-core, i.e.\n \"drivers/firewire/fw-device.h\",\n \"drivers/firewire/fw-topology.h\",\n \"drivers/firewire/fw-transaction.h\",\nare replaced by\n \"drivers/firewire/core.h\",\n \"include/linux/firewire.h\".\n\nThe latter includes everything which a firewire high-level driver (like\nfirewire-sbp2) needs besides linux/firewire-constants.h, while core.h\ncontains the rest which is needed by firewire-core itself and by low-\nlevel drivers (card drivers) like firewire-ohci.\n\nHigh-level drivers can now also reside outside of drivers/firewire\nwithout having to add drivers/firewire to the header file search path in\nmakefiles.  At least the firedtv driver will be such a driver.\n\nI also considered to spread the contents of core.h over several files,\none for each .c file where the respective implementation resides.  But\nit turned out that most core .c files will end up including most of the\ncore .h files.  Also, the combined core.h isn\u0027t unreasonably big, and it\nwill lose more of its contents to linux/firewire.h anyway soon when more\nfirewire drivers are added.  (IP-over-1394, firedtv, and there are plans\nfor one or two more.)\n\nFurthermore, fw-ohci.h is renamed to ohci.h.  The name of core.h and\nohci.h is chosen with regard to name changes of the .c files in a\nfollow-up change.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e8ca97021c8eb127bb04aec4e2420e1d66be371d",
      "tree": "bc9e6c3597eff48632f57903e5cd0d3456fe8d7a",
      "parents": [
        "3dcdc50079bc2c9dbc6524518976353f743f7ec8"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 04 21:09:38 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:17 2009 +0200"
      },
      "message": "firewire: clean up includes\n\nInclude required headers which were only indirectly included.\nRemove unused includes and an unused constant.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "3dcdc50079bc2c9dbc6524518976353f743f7ec8",
      "tree": "ec620a55e21631efee6622f12338fae59b41d1ae",
      "parents": [
        "e41f8d709c31b42129a34305a99d29c38aff75c4"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 04 21:08:43 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:17 2009 +0200"
      },
      "message": "firewire: ohci: access bus_seconds atomically\n\nIn the unlikely event that card-\u003edriver-\u003eget_bus_time() is called during\na cycle64Seconds interrupt, we could read garbage unless atomic accesses\nare used.\n\nThe switch to atomic ops requires to change the 64 seconds counter from\nunsigned to signed, but this shouldn\u0027t matter to the end result.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e41f8d709c31b42129a34305a99d29c38aff75c4",
      "tree": "d361c3818d6e14f96555f0e6700aace29c7c449d",
      "parents": [
        "b3b2988841ac6215e137e34e38b71acc915d1f00"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Feb 16 00:22:05 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:17 2009 +0200"
      },
      "message": "firewire: also use vendor ID in root directory for driver matches\n\nDue to AV/C protocol extensions, FireDTV devices need a vendor-specific\ndriver.  But their configuration ROM features a vendor ID only in the\nroot directory, not in the unit directory.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b3b2988841ac6215e137e34e38b71acc915d1f00",
      "tree": "a79df9327881a789f22f97ccebb4618008bf8529",
      "parents": [
        "0210b66dd88a2a1e451901b00378a2068b6ccb35"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 15 23:12:34 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jun 05 16:26:17 2009 +0200"
      },
      "message": "firewire: share device ID table type with ieee1394\n\nThat way, the new firedtv driver will be able to use a single ID table\nin builds against ieee1394 core and/or against firewire core.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "0210b66dd88a2a1e451901b00378a2068b6ccb35",
      "tree": "e1a308f0800a2a0950f1af4e259008af1a62babf",
      "parents": [
        "e5333db9285e088a98f4bad5147bfb0b4665fafb"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat May 23 00:03:29 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jun 01 12:48:49 2009 +0200"
      },
      "message": "firewire: core: add sysfs attribute for easier udev rules\n\nThis adds the attribute /sys/bus/firewire/devices/fw[0-9]+/units.  It\ncan be used in udev rules like the following ones:\n\n# IIDC devices: industrial cameras and some webcams\nSUBSYSTEM\u003d\u003d\"firewire\", ATTR{units}\u003d\u003d\"*0x00a02d:0x00010?*\", GROUP\u003d\"video\"\n\n# AV/C devices: camcorders, set-top boxes, TV sets, audio devices, ...\nSUBSYSTEM\u003d\u003d\"firewire\", ATTR{units}\u003d\u003d\"*0x00a02d:0x010001*\", GROUP\u003d\"video\"\n\nBackground:\n\nfirewire-core manages two device types:\n  - fw_device is a FireWire node.  A character device file is associated\n    with it.\n  - fw_unit is a unit directory on a node.  Each fw_device may have 0..n\n    children of type fw_unit.  The units tell us what kinds of protocols\n    a node implements.\n\nWe want to set ownership or ACLs or permissions of the character device\nfile of an fw_device, or/and create symlinks to it, based on available\nprotocols.  Until now udev rules had to look at the fw_unit devices and\nthen modify their parent\u0027s character device file accordingly.  This is\nproblematic for two reasons:  1) It happens sometime after the creation\nof the fw_device, 2) an access policy may require that information from\nall children is evaluated before a decision about the parent is made.\n\nProblem 1) can ultimately not be avoided since this is the nature of\nFireWire nodes:  They may add or remove unit directories at any point in\ntime.\n\nHowever, we can still help userland a lot by providing the protocol type\ninformation of all units in a summary sysfs attribute directly at the\nfw_device.  This way,\n   - the information is immediately available at the affected device\n     when userspace goes about to handle an ADD or CHANGE event of the\n     fw_device,\n   - with most policies, it won\u0027t be necessary anymore to dig through\n     child attributes.\n\nThe new attribute is called \"units\".  It contains space-separated tuples\nof specifier_id and version of each present unit.  The delimiter within\ntuples is a colon.  Specifier_id and version are printed as 0x%06x.\n\nHere is an example of a node which implements an IPv4 unit and an IPv6\nunit:  $ cat /sys/bus/firewire/devices/fw2/units\n0x00005e:0x000001 0x00005e:0x000002\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e5333db9285e088a98f4bad5147bfb0b4665fafb",
      "tree": "10a46852f80d27a4eef4f51ae847c7c541c0fd07",
      "parents": [
        "92368890d551794ee8d7e90477d8498bb7f82a9b"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri May 22 23:16:27 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jun 01 12:48:49 2009 +0200"
      },
      "message": "firewire: core: check for missing struct update at build time, not run time\n\nstruct fw_attribute_group.attrs.[] must have enough room for all\nattributes.  This can and should be checked at build time.\n\nOur previous check at run time was a little late and not reliable since\nmost of the time less than the available attributes are populated.\n\nFurthermore, omit an increment of an index at its last usage.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "92368890d551794ee8d7e90477d8498bb7f82a9b",
      "tree": "0c9fe72c0d770ce4ac358235fafd18803415b1ac",
      "parents": [
        "32a0f488ce5e8a9a148491f15edc508ab5e8265b"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed May 13 21:42:14 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun May 17 14:13:47 2009 +0200"
      },
      "message": "firewire: core: improve check for local node\n\nMy recently added test for a device being local in fw-cdev.c got it\nslightly wrong:  Comparisons of node IDs are only valid if the\ngeneration is current, which I forgot to check.  Normally, serialization\nby card-\u003elock takes care of this, but a device in FW_DEVICE_GONE state\nwill necessarily have a wrong generation and invalid node_id.\n\nThe \"is it local?\" check is made 100% correct and simpler now by means\nof a struct fw_device flag which is set at fw_device creation.\n\nBesides the fw-cdev site which was to be fixed, there is another site\nwhich can make use of the new flag, and an RFC-2734 driver will benefit\nfrom it too.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "7889b60ee71eafaf50699a154a2455424bb92daa",
      "tree": "d5bb3a4d274bf186e32605284a34a36398475818",
      "parents": [
        "cbae787c0f288c3ad385ad4165ae30b5500a1f23"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 10 21:09:28 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:52 2009 +0100"
      },
      "message": "firewire: core: optimize propagation of BROADCAST_CHANNEL\n\nCache the test result of whether a device implements BROADCAST_CHANNEL.\nThis minimizes traffic on the bus after each bus reset.  A majority of\ndevices does not implement BROADCAST_CHANNEL.\n\nRemove busy retries; just rely on the hardware to retry requests to busy\nresponders.  Remove unnecessary log messages.\n\nRename the flag is_irm to broadcast_channel_allocated to better reflect\nits meaning.  Reset the flag earlier in fw_core_handle_bus_reset.\n\nPass the generation down as a call parameter; that way generation can\u0027t\nbe newer than card-\u003ebroadcast_channel_allocated and device-\u003enode_id.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "cbae787c0f288c3ad385ad4165ae30b5500a1f23",
      "tree": "89946d56640109660ddba5e90dc10ce5249cf265",
      "parents": [
        "e1dc7cab43619a2fbc90fd4cd712bd3fff703768"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 10 21:08:37 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:51 2009 +0100"
      },
      "message": "firewire: core: simplify broadcast channel allocation\n\nfw-iso.c has channel allocation code now, use it.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e1dc7cab43619a2fbc90fd4cd712bd3fff703768",
      "tree": "71c0868fbd395e7dd67e4add14aa5b247b9693ce",
      "parents": [
        "a38a00fdef98a8eda23a25e54490b32865bc7c33"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 10 21:07:46 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:51 2009 +0100"
      },
      "message": "firewire: core: increase bus manager grace period\n\nPer IEEE 1394 clause 8.4.2.5, bus manager capable nodes which are not\nincumbent shall wait at least 125ms before trying to establish\nthemselves as bus manager.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a38a00fdef98a8eda23a25e54490b32865bc7c33",
      "tree": "e62895872fc14e779ddfb8ed1eaee9b81bed67d9",
      "parents": [
        "18e9b10fcdc090d3a38606958167d5923c7099b7"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 10 21:07:06 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:51 2009 +0100"
      },
      "message": "firewire: core: drop unused call parameters of close_transaction\n\nAll callers inserted NULL and 0 here.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "18e9b10fcdc090d3a38606958167d5923c7099b7",
      "tree": "fd83055d908e8786afc9b3fbc791b57b2ba10c33",
      "parents": [
        "664d8010b170ae8b3ce9268b4f4da934d27b0491"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 10 21:02:21 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:50 2009 +0100"
      },
      "message": "firewire: cdev: add closure to async stream ioctl\n\nThis changes the as yet unreleased FW_CDEV_IOC_SEND_STREAM_PACKET ioctl\nto generate an fw_cdev_event_response event just like the other two\nioctls for asynchronous request transmission do.  This way, clients get\nfeedback on successful or unsuccessful transmission.\n\nThis also adds input validation for length, tag, channel, sy, speed.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "664d8010b170ae8b3ce9268b4f4da934d27b0491",
      "tree": "2e7f8e304267d0a925402dd0abf6f6a319c9a163",
      "parents": [
        "207fbefb18de9bc6f871e4008da29879c90cb67e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 10 21:01:54 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:50 2009 +0100"
      },
      "message": "firewire: cdev: simplify FW_CDEV_IOC_SEND_REQUEST return value\n\nThis changes the ioctl() return value of FW_CDEV_IOC_SEND_REQUEST and of\nthe as yet unreleased FW_CDEV_IOC_SEND_BROADCAST_REQUEST.  They used to\nreturn\n\tsizeof(struct fw_cdev_send_request *) + data_length\n\nwhich is obviously a failed attempt to emulate the return value of\nraw1394\u0027s respective interface which uses write() instead of ioctl().\n\nHowever, the first summand, as size of a kernel pointer, is entirely\nmeaningless to clients and the second summand is already known to\nclients.  And the result does not resemble raw1394\u0027s write() return\ncode anyway.\n\nSo simplify it to a constant non-negative value, i.e. 0.  The only\ndangers here would be that future client implementations check for error\nby ret !\u003d 0 instead of ret \u003c 0 when running on top of an old kernel; or\nthat current clients interpret ret \u003d 0 or more as failure.  But both are\nhypothetical cases which don\u0027t justify to return irritating values.\n\nWhile we touch this code, also remove \"\u0026 0x1f\" from tcode in the call of\nfw_send_request.  The tcode cannot be bigger than 0x1f at this point.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "207fbefb18de9bc6f871e4008da29879c90cb67e",
      "tree": "a1f24a4b814ee43ca3e8dffa290e3db84a68d5b9",
      "parents": [
        "de487da8ca5839d057e1f4b57ee3f387e180b800"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 10 21:01:08 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:50 2009 +0100"
      },
      "message": "firewire: cdev: fix race of ioctl_send_request with bus reset\n\nThe bus reset handler concurrently frees client-\u003edevice-\u003enode.  Use\ndevice-\u003enode_id instead.  This is equivalent to device-\u003enode-\u003enode_id\nwhile device-\u003egeneration is current.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "de487da8ca5839d057e1f4b57ee3f387e180b800",
      "tree": "92003bce782f3f1bf49183637d6dac6367c19dd0",
      "parents": [
        "c8a25900f35e575938c791507894c036c0f2ca7d"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 10 21:00:23 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:50 2009 +0100"
      },
      "message": "firewire: cdev: secure add_descriptor ioctl\n\nThe access permissions and ownership or ACL of /dev/fw* character device\nfiles will typically be set based on the device type of the respective\nnodes, as obtained by firewire-core from descriptors in the device\u0027s\nconfiguration ROM.  An example policy is to deny write permission by\ndefault but grant write permission to files of AV/C video and audio\ndevices and IIDC video devices.\n\nThe FW_CDEV_IOC_ADD_DESCRIPTOR ioctl could be used to partly subvert\nsuch a policy:  Find a device file with relaxed permissions, use the\nioctl to add a descriptor with AV/C marker to the local node\u0027s ROM, thus\ngain access to the local node\u0027s character device file.  (This is only\npossible if there are udev scripts installed which actively relax\npermissions for known device types and if there is a device of such a\ntype connected.)\n\nAccessibility of the local node\u0027s device file is relevant to host\nsecurity if the host contains two or more IEEE 1394 link layer\ncontrollers which are plugged into a single bus.\n\nTherefore change the ABI to deny FW_CDEV_IOC_ADD_DESCRIPTOR if the file\nbelongs to a remote node.  (This change has no impact on known\nimplementers of the ABI:  None of them uses the ioctl yet.)\n\nAlso clarify the documentation:  The ioctl affects all local nodes, not\njust one local node.\n\nCc: stable@kernel.org\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c8a25900f35e575938c791507894c036c0f2ca7d",
      "tree": "e413f9e098dea94c74fd0aab35a511800043c97b",
      "parents": [
        "6104ee92d62ea3638b67494fcf061cb4b9b9d518"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 10 20:59:16 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:49 2009 +0100"
      },
      "message": "firewire: cdev: amendment to \"add ioctl to query maximum transmission speed\"\n\nThe as yet unreleased FW_CDEV_IOC_GET_SPEED ioctl puts only a single\ninteger into the parameter buffer.  We can use ioctl()\u0027s return value\ninstead.\n\n(Also: Some whitespace change in firewire-cdev.h.)\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "6104ee92d62ea3638b67494fcf061cb4b9b9d518",
      "tree": "899549d281a47f6aaae7a1645b5cb7d882f8e194",
      "parents": [
        "f8c2287c65f8f72000102fc058232669e4540bc4"
      ],
      "author": {
        "name": "Jay Fenlason",
        "email": "fenlason@redhat.com",
        "time": "Mon Feb 23 15:59:34 2009 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:49 2009 +0100"
      },
      "message": "firewire: broadcast channel support\n\nThis patch adds the ISO broadcast channel support that is required of a\n1394a IRM.  In specific, if the local device the IRM, it allocates ISO\nchannel 31 and sets the broadcast channel register of all devices on the\nlocal bus to BROADCAST_CHANNEL_INITIAL | BROADCAST_CHANNEL_VALID to indicate\nthat channel 31 can be use for broadcast messages.\n\nOne minor complication is that on startup the local device may become IRM\nbefore all the devices on the bus have been enumerated by the stack.  Therefore\nwe have to keep a \"the local device is IRM\" flag and possibly set the\nbroadcast channel register of new devices at enumeration time.\n\nSigned-off-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f8c2287c65f8f72000102fc058232669e4540bc4",
      "tree": "a82393fbdd3a2b20f8e499537b10eb9e61dae941",
      "parents": [
        "ba27e1f7bf220799cd3d7503f82bda71b8ebe8c5"
      ],
      "author": {
        "name": "Jay Fenlason",
        "email": "fenlason@redhat.com",
        "time": "Thu Mar 05 19:08:40 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:49 2009 +0100"
      },
      "message": "firewire: implement asynchronous stream transmission\n\nAllow userspace and other firewire drivers (fw-ipv4 I\u0027m looking at\nyou!) to send Asynchronous Transmit Streams as described in 7.8.3 of\nrelease 1.1 of the 1394 Open Host Controller Interface Specification.\n\nSigned-off-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (tweaks)\n"
    },
    {
      "commit": "ba27e1f7bf220799cd3d7503f82bda71b8ebe8c5",
      "tree": "0d08f399eae860e112f3031a09be674c679d9189",
      "parents": [
        "e1eff7a393d4a4e3ad1cf65fcba899146840bfd2"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Mar 05 19:07:00 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:48 2009 +0100"
      },
      "message": "firewire: core: normalize a function argument name\n\nIt\u0027s called \"payload\" rather than \"data\" almost everywhere in\nfw-transaction.c.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e1eff7a393d4a4e3ad1cf65fcba899146840bfd2",
      "tree": "88a040babea1853f40072ed199a78b60f4dcb387",
      "parents": [
        "d01b01787680a1156ff6a554e40baa460bb88efb"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 03 17:55:19 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:48 2009 +0100"
      },
      "message": "firewire: normalize a variable name\n\nStandardize on  if (err)\n                        handle_error;\n           and  if (ret \u003c 0)\n                        handle_error;\n\nDon\u0027t call a variable err if we store values in it which mean success.\nAlso, offset some return statements by a blank line since this how we do\nit in drivers/firewire.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "d01b01787680a1156ff6a554e40baa460bb88efb",
      "tree": "b4ccc2860654a358e26216cee52d94ee00f57e49",
      "parents": [
        "aed808927410d0b1d80378492059f22a46974267"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jan 17 22:45:54 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:47 2009 +0100"
      },
      "message": "firewire: core: remove condition which is always false\n\nreread_bus_info_block() only gets to see devices whose config_rom_length\nis at least 6 (ROM header, bus info block, root directory header).\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "aed808927410d0b1d80378492059f22a46974267",
      "tree": "faad596a85c99c90fa1988bc891dad9b15e9bca6",
      "parents": [
        "41f321c2ecf416f9dcf76de989e9059fd699c8c1"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jan 17 22:45:54 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:47 2009 +0100"
      },
      "message": "firewire: core: move some functions\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "41f321c2ecf416f9dcf76de989e9059fd699c8c1",
      "tree": "a2b569521ec178be36bc610811b6d4c86faec3af",
      "parents": [
        "81610b8fbfc027a67707ff567d490819a3d55844"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jan 17 22:45:54 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:47 2009 +0100"
      },
      "message": "firewire: core: clean up includes\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "81610b8fbfc027a67707ff567d490819a3d55844",
      "tree": "b828ef4868938534fb17d75659246715179a29f5",
      "parents": [
        "5d9cb7d276a9c465fef5a771792eac2cf1929f2b"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 11 13:44:46 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:46 2009 +0100"
      },
      "message": "firewire: cdev: simplify a schedule_delayed_work wrapper\n\nThe kernel API documentation says that queue_delayed_work() returns 0\n(only) if the work was already queued.  The return codes of\nschedule_delayed_work() are not documented but the same.\n\nIn init_iso_resource(), the work has never been queued yet, hence we\ncan assume schedule_delayed_work() to be a guaranteed success there.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5d9cb7d276a9c465fef5a771792eac2cf1929f2b",
      "tree": "46fb54d0e462debe4016830ee1fa9f7292fb511b",
      "parents": [
        "77258da403be4cfce84b6abcdb515ad0bd1f92f1"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jan 08 23:07:40 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:46 2009 +0100"
      },
      "message": "firewire: cdev: add ioctls for iso resource management, amendment\n\nSome fixes:\n  - Remove stale documentation.\n  - Fix a !\u003d vs. \u003d\u003d thinko that got in the way of channel management.\n  - Try bandwidth deallocation even if channel deallocation failed.\n\nA simplification:\n  - fw_cdev_allocate_iso_resource.channels is now ordered like\n    libdc1394\u0027s dc1394_iso_allocate_channel() channels_allowed\n    argument.\n\nBy the way, I looked closer at cards from NEC, TI, and VIA, and noticed\nthat they all don\u0027t implement IEEE 1394a behaviour which is meant to\ndeviate from IEEE 1212\u0027s notion of lock compare-swap.  This means that\nwe have to do two lock transactions instead of one in many cases where\none transaction would already succeed on a fully 1394a compliant IRM.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "36a755cfc398fc50abc74055d4478c1b067dac55",
      "tree": "fbf8208d5b0314ee9b523a9edaf0b3343e4add39",
      "parents": [
        "3ba949868a6dc082b24cba5c3bf3f50de7391433"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jan 05 20:28:10 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:46 2009 +0100"
      },
      "message": "firewire: cdev: shut down iso context before freeing the buffer\n\nDMA must be halted before we DMA-unmap and free the DMA buffer.  Since\nwe cannot rely on the client to stop the context before it closes the\nfd, we have to reorder fw_iso_buffer_destroy vs. fw_iso_context_destroy.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "3ba949868a6dc082b24cba5c3bf3f50de7391433",
      "tree": "67111ee78f57bae142182a43b5193802c1183d22",
      "parents": [
        "5d3fd692a7196a9045fb606f891f5987959b65a0"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 16:23:29 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:45 2009 +0100"
      },
      "message": "firewire: cdev: replace some spin_lock_irqsave by spin_lock_irq\n\nAll of these functions are entered with IRQs enabled.\nHence the unconditional spin_unlock_irq can be used.\n\nFunction:                  Caller context:\n    dequeue_event()            client process, via read(2)\n    fill_bus_reset_event()     fw-device.c update worqueue job\n    release_client_resource()  client process, via ioctl(2)\n    fw_device_op_release()     client process, via close(2)\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "5d3fd692a7196a9045fb606f891f5987959b65a0",
      "tree": "f5dd0b2db4171ea05c70035e29b2cc7ff7f82850",
      "parents": [
        "1566f3dc3e5986a16c7bbb3bb95bb691251a8d25"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 16:23:29 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:45 2009 +0100"
      },
      "message": "firewire: cdev: extend transaction payload size check\n\nMake the size check of ioctl_send_request and\nioctl_send_broadcast_request speed dependent.  Also change the error\nreturn code from -EINVAL to -EIO to distinguish this from other errors\nconcerning the ioctl parameters.\n\nAnother payload size limit for which we don\u0027t check here though is the\nremote node\u0027s Bus_Info_Block.max_rec.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1566f3dc3e5986a16c7bbb3bb95bb691251a8d25",
      "tree": "3a6a5f6c29cbd9d71354fede1e6da69273ec803d",
      "parents": [
        "acfe8333572cad5dc70fce18ac966be0446548d7"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 16:23:29 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:45 2009 +0100"
      },
      "message": "firewire: cdev: restrict broadcast write requests to Units Space\n\nWe don\u0027t want random users write to Memory Space (e.g. PCs with physical\nDMA filters down) or to core CSRs like Reset_Start.\n\nThis does not protect SBP-2 target CSRs.  But properly behaving SBP-2\ntargets ignore broadcast write requests to these registers, and the\nmaximum damage which can happen with laxer targets is DOS.  But there\nare ways to create DOS situations anyway if there are devices with weak\ndevice file permissions (like audio/video devices) present at the same\nbus as an SBP-2 target.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "acfe8333572cad5dc70fce18ac966be0446548d7",
      "tree": "7402f2c6759465c351d735855990620e24a644e2",
      "parents": [
        "33580a3ef5ba3bc0ee1b520df82a24bb37ce28f0"
      ],
      "author": {
        "name": "Jay Fenlason, Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 16:23:29 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:44 2009 +0100"
      },
      "message": "firewire: cdev: add ioctl for broadcast write requests\n\nWrite transactions to the broadcast node ID are a convenient way to\ntrigger functions of multiple nodes at once.  IIDC is a protocol which\ncan make use of this if multiple cameras with same command_regs_base are\nconnected at the same bus.\n\nBased on\n    Date: Wed, 10 Sep 2008 11:32:16 -0400\n    From: Jay Fenlason \u003cfenlason@redhat.com\u003e\n    Subject: [patch] SEND_BROADCAST_REQUEST\nChanges:  ioctl_send_request() and ioctl_send_broadcast_request() now\nshare code.  Broadcast speed corrected to S100.  Check for proper tcode.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "33580a3ef5ba3bc0ee1b520df82a24bb37ce28f0",
      "tree": "3bd567d8c5244a049eef32147f4fb84f6a19a184",
      "parents": [
        "1ec3c0269d7196118cc7c403654ca5f19ef4d584"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 16:23:29 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:44 2009 +0100"
      },
      "message": "firewire: cdev: add ioctl to query maximum transmission speed\n\nWhile the speed of asynchronous transactions is automatically chosen by\nthe kernel, the speed of isochronous streams has to be chosen by the\ninitiating client.\n\nIn case of 1394a bus topologies, the maximum possible speed could be\nfigured out with some effort by evaluation of the remote node\u0027s link\nspeed field in the config ROM, the local node\u0027s link speed field, and\nthe PHY speeds and topologic information in the local node\u0027s or IRM\u0027s\ntopology map CSR.  However, this does not work in case of 1394b buses.\n\nHence add an ioctl to export the maximum speed which the kernel already\ndetermined.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1ec3c0269d7196118cc7c403654ca5f19ef4d584",
      "tree": "087bdf8db274f29f92762adf0ed6cef1bae2ce5d",
      "parents": [
        "b1bda4cdc2037447bd66753bf5ccab66d91b0b59"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 16:23:29 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:44 2009 +0100"
      },
      "message": "firewire: cdev: add ioctls for manual iso resource management\n\nThis adds ioctls for allocation and deallocation of a channel or/and\nbandwidth without auto-reallocation and without auto-deallocation.\n\nThe benefit of these ioctls is that libraw1394-style isochronous\nresource management can be implemented without write access to the IRM\u0027s\ncharacter device file.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b1bda4cdc2037447bd66753bf5ccab66d91b0b59",
      "tree": "6aae47fb85125c15150d6d306354de5deb1e316f",
      "parents": [
        "b769bd17656f991c5588c676376e5ec77d25997a"
      ],
      "author": {
        "name": "Jay Fenlason, Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 16:23:29 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:43 2009 +0100"
      },
      "message": "firewire: cdev: add ioctls for isochronous resource management\n\nBased on\n    Date: Tue, 18 Nov 2008 11:41:27 -0500\n    From: Jay Fenlason \u003cfenlason@redhat.com\u003e\n    Subject: [Patch V4] Add ISO resource management support\nwith several changes to the ABI and implementation.  Only the part of\nthe ABI which enables auto-reallocation and auto-deallocation is\nincluded here.\n\nThis implements ioctls for kernel-assisted allocation of isochronous\nchannels and isochronous bandwidth.  The benefits are:\n  - The client does not have to have write access to the /dev/fw* device\n    corresponding to the IRM.\n  - The client does not have to perform reallocation after bus resets.\n  - Channel and bandwidth are deallocated by the kernel if the file is\n    closed before the client deallocated the resources.  Thus resources\n    are released even if the client crashes.\n\nIt is anticipated that future in-kernel code (firewire-core IRM code;\nthe firewire port of firedtv), will use the fw-iso.c portions of this\ncode too.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nTested-by: David Moore \u003cdcm@acm.org\u003e\n"
    },
    {
      "commit": "b769bd17656f991c5588c676376e5ec77d25997a",
      "tree": "6f637a16cde9a88b763226b4dbb7adf3f4ccfe91",
      "parents": [
        "be5bbd6756b44602a3f281af05c2f416fa9bd1c6"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 16:23:29 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:43 2009 +0100"
      },
      "message": "firewire: core: topology header fix\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "be5bbd6756b44602a3f281af05c2f416fa9bd1c6",
      "tree": "1b22ed8b6135f2cbf058c508bb1ffb8cfcbceb1d",
      "parents": [
        "97c18b7fd6df4ae0d32509f292a2eb0d4b26d623"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 16:23:29 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:43 2009 +0100"
      },
      "message": "firewire: cdev: sort includes\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "97c18b7fd6df4ae0d32509f292a2eb0d4b26d623",
      "tree": "bd8f79c6577bd57a09275988e01ac7ea783f9d08",
      "parents": [
        "fb4430367b0bbee2420132faf16c7c762a39c0bb"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 16:23:29 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:43 2009 +0100"
      },
      "message": "firewire: cdev: unify names of struct types and of their instances\n\nto indicate that they are specializations of struct event or of struct\nclient_resource, respectively.\n\nstruct response was both an event and a client_resource; it is now split\ninto struct outbound_transaction_resource and ~_event in order to\ndocument more explicitly which types of client resources exist.\n\nstruct request and struct_request_event are renamed to struct\ninbound_transaction_resource and ~_event because requests and responses\noccur in outbound and in inbound transactions.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "fb4430367b0bbee2420132faf16c7c762a39c0bb",
      "tree": "d5def952cdb381863d7a2b7eb0e421d7757c7d4d",
      "parents": [
        "632321ecd99bf85c982a75f8329b4ecbb95b3a8f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 16:23:29 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:42 2009 +0100"
      },
      "message": "firewire: cdev: reference-count client instances\n\nThe lifetime of struct client instances must be longer than the lifetime\nof any client resource.\n\nThis fixes a possible race between fw_device_op_release and transaction\ncompletions.  It also prepares for new ioctls for isochronous resource\nmanagement which will involve delayed processing of client resources.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nReviewed-by: David Moore \u003cdcm@acm.org\u003e\n"
    },
    {
      "commit": "4817ed240232e89583b0506c2d8e426739af5da3",
      "tree": "95d8220f1cae2df2490488dd35381c7d73a5be7b",
      "parents": [
        "a459b8ab9c176143fecef8ace4b70d6dbd7a8113"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 21 16:39:46 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:41 2009 +0100"
      },
      "message": "firewire: prevent creation of multiple IR DMA contexts for the same channel\n\nOHCI-1394 1.1 clause 10.4.3 says:  \"If more than one IR DMA context\nspecifies receives for packets from the same isochronous channel, the\ncontext destination for that channel\u0027s packets is undefined.\"\n\nAny userspace client and in the future also kernelspace clients can\nallocate IR DMA contexts for any channel.  We don\u0027t want them to\ninterfere with each other, hence it is preferable to return -EBUSY if\nallocation of a second context for a channel is attempted.\n\nNotes:\n  - This limitation is OHCI-1394 specific, therefore its proper place of\n    implementation is down in the low-level driver.\n\n  - Since the \u003clinux/firewire-cdev.h\u003e ABI simply maps one userspace iso\n    client context to one hardware iso context, this OHCI-1394\n    limitation alas requires userspace to implement its own multiplexing\n    of iso reception from the same channel and card to multiple clients\n    when needed.\n\n  - The limitation is independent of channel allocation at the IRM; the\n    latter is really only important for the initiation of iso \n    transmission but not of iso reception.\n\n  - We don\u0027t need to do the same for IT DMA because OHCI-1394 does not\n    have any ties between IT contexts and channels.  Only the voluntary\n    channel allocation protocol via the IRM, globally to the FireWire\n    bus, can ensure proper isochronous transmit behaviour anyway.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a459b8ab9c176143fecef8ace4b70d6dbd7a8113",
      "tree": "2c1faebb488f692b8f0bb7d075cb347099851164",
      "parents": [
        "da62df141e3f879445e3daef36bd3a12c90841e2"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 21 16:49:57 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:41 2009 +0100"
      },
      "message": "firewire: cdev: use list_first_entry\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "da62df141e3f879445e3daef36bd3a12c90841e2",
      "tree": "d359d9c0d34145e5e42d2e805c9bd52f651ab045",
      "parents": [
        "53dca51175cc2f66d21aeb1e70146cca65c53dad"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 14 21:47:36 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:40 2009 +0100"
      },
      "message": "firewire: core: remove unused definitions\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "53dca51175cc2f66d21aeb1e70146cca65c53dad",
      "tree": "da729da20cc4ca1cb994fa6659be7f23259f7097",
      "parents": [
        "2dbd7d7e2327b0c2cc4e2de903e1cfa19980a504"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 14 21:47:04 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:40 2009 +0100"
      },
      "message": "firewire: remove line breaks before function names\n\ntype\n    function_name(parameters);\n\nis nice to look at but was not used consistently.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "2dbd7d7e2327b0c2cc4e2de903e1cfa19980a504",
      "tree": "c0efb5bbd26bc2e18a61bf44d0c53db9494a096c",
      "parents": [
        "c490a6dec6cc1b7f0eab56b9fbd565129b3dea2e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 14 21:45:45 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:39 2009 +0100"
      },
      "message": "firewire: standardize a variable name\n\n\"ret\" is the new \"retval\".\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c490a6dec6cc1b7f0eab56b9fbd565129b3dea2e",
      "tree": "1b177202b9c8d04f52e8a06572c67b139613c879",
      "parents": [
        "44be21b63e0c551df21253540b7f216f0d18928e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 14 21:45:14 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:39 2009 +0100"
      },
      "message": "firewire: core: remove obsolete assertions\n\nThis code never changes.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    }
  ],
  "next": "44be21b63e0c551df21253540b7f216f0d18928e"
}
