)]}'
{
  "log": [
    {
      "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": "32a0f488ce5e8a9a148491f15edc508ab5e8265b",
      "tree": "3cb3c24cf8f6e6905f8ab6c3471ea3e3dbf27f44",
      "parents": [
        "40cf65d149053889c8876c6c2b4ce204fde55baa"
      ],
      "author": {
        "name": "Beat Michel Liechti",
        "email": "bml303@gmail.com",
        "time": "Thu Mar 26 22:36:52 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 27 21:11:26 2009 +0100"
      },
      "message": "DVB: firedtv: FireDTV S2 problems with tuning solved\n\nSigned-off-by: Beat Michel Liechti \u003cbml303@gmail.com\u003e\n\nTuning was broken on FireDTV S2 (and presumably  FloppyDTV S2) because a\nwrong opcode was sent.  The box only gave \"not implemented\" responses.\nChanging the opcode to _TUNE_QPSK2 fixes this for good.\n\nCc: stable@kernel.org\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "40cf65d149053889c8876c6c2b4ce204fde55baa",
      "tree": "e981bf27535f7d8466de26a4f5e214418b67488c",
      "parents": [
        "c64094684dad4a903099f1ff83b7db9b62782adc"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Mar 05 19:13:43 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:54 2009 +0100"
      },
      "message": "DVB: firedtv: fix printk format mismatch\n\nEliminate\ndrivers/media/dvb/firewire/firedtv-avc.c: In function \u0027debug_fcp\u0027:\ndrivers/media/dvb/firewire/firedtv-avc.c:156: warning: format \u0027%d\u0027 expects type \u0027int\u0027, but argument 5 has type \u0027size_t\u0027\n\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c64094684dad4a903099f1ff83b7db9b62782adc",
      "tree": "a2f5c78ecf4aeb3662fab0868fe32ed96bb62c57",
      "parents": [
        "421696887b0da241401710e83b0dffcc195bc484"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 15 23:11:38 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:53 2009 +0100"
      },
      "message": "ieee1394: constify device ID tables\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "421696887b0da241401710e83b0dffcc195bc484",
      "tree": "f8a0fdf5aa9d5e2d79397cdce23804839e4ef359",
      "parents": [
        "1c4fb577aa5aeeace026d8295936947f0f0743f0"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 15 22:49:24 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:52 2009 +0100"
      },
      "message": "ieee1394: raw1394: add sparse annotations to raw1394_compat_write\n\nEliminate the following warnings in raw1394_compat_write()\u0027s error\nreturn path, seen on x86-64 with CONFIG_COMPAT\u003dy:\n\ndrivers/ieee1394/raw1394.c:381:17: warning: incorrect type in return expression (different address spaces)\ndrivers/ieee1394/raw1394.c:381:17:    expected char const [noderef] \u003casn:1\u003e*\ndrivers/ieee1394/raw1394.c:381:17:    got void *\ndrivers/ieee1394/raw1394.c:2252:14: warning: incorrect type in argument 1 (different address spaces)\ndrivers/ieee1394/raw1394.c:2252:14:    expected void const *ptr\ndrivers/ieee1394/raw1394.c:2252:14:    got char const [noderef] \u003casn:1\u003e*[assigned] buffer\ndrivers/ieee1394/raw1394.c:2253:19: warning: incorrect type in argument 1 (different address spaces)\ndrivers/ieee1394/raw1394.c:2253:19:    expected void const *ptr\ndrivers/ieee1394/raw1394.c:2253:19:    got char const [noderef] \u003casn:1\u003e*[assigned] buffer\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1c4fb577aa5aeeace026d8295936947f0f0743f0",
      "tree": "a1f37447c0ebd03d6286628ffd320edfcdba9c29",
      "parents": [
        "e90874f64c89d8a3a8b287f67c5655141720c28d"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@distanz.ch",
        "time": "Mon Feb 09 22:05:06 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:52 2009 +0100"
      },
      "message": "ieee1394: Storage class should be before const qualifier\n\nThe C99 specification states in section 6.11.5:\n\nThe placement of a storage-class specifier other than at the beginning\nof the declaration specifiers in a declaration is an obsolescent\nfeature.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@distanz.ch\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e90874f64c89d8a3a8b287f67c5655141720c28d",
      "tree": "100efdadea0268e1cac00957a8dbb107c95ac1fa",
      "parents": [
        "7889b60ee71eafaf50699a154a2455424bb92daa"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Jan 24 19:41:46 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:52 2009 +0100"
      },
      "message": "ieee1394: sbp2: follow up on \"ieee1394: inherit ud vendor_id from node vendor_id\"\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": "77258da403be4cfce84b6abcdb515ad0bd1f92f1",
      "tree": "42d94b4838517c278dca54c5d3e4dba0af686271",
      "parents": [
        "36a755cfc398fc50abc74055d4478c1b067dac55"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 07 20:14:53 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:46 2009 +0100"
      },
      "message": "firewire: cdev: increment fw_cdev_version, update documentation\n\nNecessary due to\n    Date: Tue, 22 Jul 2008 23:23:40 -0700\n    From: David Moore \u003cdcm@acm.org\u003e\n    Subject: firewire: Include iso timestamp in headers when header_size \u003e 4\n\nSide note:  The lack of upwards compatibility sounds worse than it is.\nAll existing client implementations, libraw1394 and libdc1394, set\nheader_size \u003d 4.  And since the ABI v1 behaviour does not offer any\nadvantages over the new behaviour, we deliberately do not provide the\nold behaviour anymore.\n\nAlso add documentation about the format of fw_cdev_get_cycle_timer which\nmay be used in conjunction with the timestamp of iso packets but has a\ndifferent format.\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": "632321ecd99bf85c982a75f8329b4ecbb95b3a8f",
      "tree": "905a09cab54b663d5169911cfe958e282745ffb2",
      "parents": [
        "4817ed240232e89583b0506c2d8e426739af5da3"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jan 02 12:47:13 2009 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:41 2009 +0100"
      },
      "message": "firewire: cdev: fix documentation of FW_CDEV_IOC_GET_INFO\n\nThe FW_CDEV_IOC_GET_INFO ioctl looks at client-\u003edevice-\u003econfig_rom, not\nat the local node\u0027s config ROM.\n\nWe could fix the implementation or the documentation.  I believe the way\nhow it is currently implemented is more useful than the way how it is\ncurrently documented.  In fact, libdc1394 uses the ABI already as\nimplemented, not as documented.  Hence let\u0027s change the documentation.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "4817ed240232e89583b0506c2d8e426739af5da3",
      "tree": "95d8220f1cae2df2490488dd35381c7d73a5be7b",
      "parents": [
        "a459b8ab9c176143fecef8ace4b70d6dbd7a8113"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 21 16:39:46 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:41 2009 +0100"
      },
      "message": "firewire: prevent creation of multiple IR DMA contexts for the same channel\n\nOHCI-1394 1.1 clause 10.4.3 says:  \"If more than one IR DMA context\nspecifies receives for packets from the same isochronous channel, the\ncontext destination for that channel\u0027s packets is undefined.\"\n\nAny userspace client and in the future also kernelspace clients can\nallocate IR DMA contexts for any channel.  We don\u0027t want them to\ninterfere with each other, hence it is preferable to return -EBUSY if\nallocation of a second context for a channel is attempted.\n\nNotes:\n  - This limitation is OHCI-1394 specific, therefore its proper place of\n    implementation is down in the low-level driver.\n\n  - Since the \u003clinux/firewire-cdev.h\u003e ABI simply maps one userspace iso\n    client context to one hardware iso context, this OHCI-1394\n    limitation alas requires userspace to implement its own multiplexing\n    of iso reception from the same channel and card to multiple clients\n    when needed.\n\n  - The limitation is independent of channel allocation at the IRM; the\n    latter is really only important for the initiation of iso \n    transmission but not of iso reception.\n\n  - We don\u0027t need to do the same for IT DMA because OHCI-1394 does not\n    have any ties between IT contexts and channels.  Only the voluntary\n    channel allocation protocol via the IRM, globally to the FireWire\n    bus, can ensure proper isochronous transmit behaviour anyway.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "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"
    },
    {
      "commit": "44be21b63e0c551df21253540b7f216f0d18928e",
      "tree": "3ebabb3763d54537ccfc14262690996a4161cfa0",
      "parents": [
        "3e0b5f0d7cb5fef402517e41eebff5a0f0e65a13"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 14 19:21:31 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 outdated comment\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "3e0b5f0d7cb5fef402517e41eebff5a0f0e65a13",
      "tree": "b712284afebff56dd2e104242f4e6665aaf6c8e4",
      "parents": [
        "45ee3199eb3e4233b755a9bb353a0527a4c58b5f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 14 19:21:01 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:38 2009 +0100"
      },
      "message": "firewire: cdev: address handler input validation\n\nLike before my commit 1415d9189e8c59aa9c77a3bba419dcea062c145f,\nfw_core_add_address_handler() does not align the address region now.\nInstead the caller is required to pass valid parameters.\n\nSince one of the callers of fw_core_add_address_handler() is the cdev\nuserspace interface, we now check for valid input.  If the client is\nbuggy, we give it a hint with -EINVAL.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "45ee3199eb3e4233b755a9bb353a0527a4c58b5f",
      "tree": "4fa2ab6e54af7cb6aceab1cea1b5676836644841",
      "parents": [
        "97811e347310766030a648fdf0e407b2c91a39c1"
      ],
      "author": {
        "name": "Jay Fenlason",
        "email": "fenlason@redhat.com",
        "time": "Sun Dec 21 16:47:17 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:38 2009 +0100"
      },
      "message": "firewire: cdev: use an idr rather than a linked list for resources\n\nThe current code uses a linked list and a counter for storing\nresources and the corresponding handle numbers.  By changing to an idr\nwe can be safe from counter wrap-around giving two resources the same\nhandle.\n\nFurthermore, the deallocation ioctls now check whether the resource to\nbe freed is of the intended type.\n\nSigned-off-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\n\nSome rework by Stefan R:\n  - The idr API documentation says we get an ID within 0...0x7fffffff.\n    Hence we can rest assured that idr handles fit into cdev handles.\n  - Fix some races.  Add a client-\u003ein_shutdown flag for this purpose.\n  - Add allocation retry to add_client_resource().\n  - It is possible to use idr_for_each() in fw_device_op_release().\n  - Fix ioctl_send_response() regression.\n  - Small style changes.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "97811e347310766030a648fdf0e407b2c91a39c1",
      "tree": "61710722bac7ffd91915e09f42e0412727bba53b",
      "parents": [
        "1f3125af8ed7410cc0ebcc0acd59bbfc1ae0057a"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 14 19:19:23 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:38 2009 +0100"
      },
      "message": "firewire: cdev: fix race of fw_device_op_release with bus reset\n\nUnlink the client from the fw_device earlier in order to prevent bus\nreset events being added to client-\u003eevent_list during shutdown.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1f3125af8ed7410cc0ebcc0acd59bbfc1ae0057a",
      "tree": "3e0cd754d86b8780b164bd507564fd2355c7db29",
      "parents": [
        "bf8e3355ec8f4e472f9841e94203cd759b45226e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Dec 05 22:44:42 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:37 2009 +0100"
      },
      "message": "firewire: cdev: tcodes input validation\n\nThe behaviour of fw-transaction.c::fw_send_request is ill-defined for\nany other tcodes than read/ write/ lock request tcodes.  Therefore\nprevent requests with wrong tcodes from entering the transaction layer.\n\nMaybe fw_send_request should check them itself, but I am not inclined to\nchange it and fw_fill_request from void-valued functions to ones which\nreturn error codes and pass those up.  Besides, maybe fw_send_request is\ngoing to support one more tcode than ioctl_send_request in the future\n(TCODE_STREAM_DATA).\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "bf8e3355ec8f4e472f9841e94203cd759b45226e",
      "tree": "c12a55bfb01a644ce78aae00c1bceefa3b55cc36",
      "parents": [
        "d67cfb9613f373d76daa2c8d209629601424ca12"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Dec 05 22:43:41 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:37 2009 +0100"
      },
      "message": "firewire: cdev: documentation fixlet\n\nReported-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "d67cfb9613f373d76daa2c8d209629601424ca12",
      "tree": "64d5633a8531fd1b978bef2104c6eee5303d3d8c",
      "parents": [
        "cf417e5494582453c033d8cac9e1352e74215435"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Oct 05 10:37:11 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:37 2009 +0100"
      },
      "message": "firewire: convert client_list_lock to mutex\n\nSo far it is only taken in non-atomic contexts.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "cf417e5494582453c033d8cac9e1352e74215435",
      "tree": "a1681ef863c8c4219506e16b7982e51dc0718387",
      "parents": [
        "1aa292bb1c53500e3ab570b955d03afa97a9404d"
      ],
      "author": {
        "name": "Jay Fenlason",
        "email": "fenlason@redhat.com",
        "time": "Fri Oct 03 11:19:09 2008 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:36 2009 +0100"
      },
      "message": "firewire: add a client_list_lock\n\nThis adds a client_list_lock, which only protects the device\u0027s\nclient_list, so that future versions of the driver can call code that\ntakes the card-\u003elock while holding the client_list_lock.  Adding this\nlock is much simpler than adding __ versions of all the functions that\nthe future version may need.  The one ordering issue is to make sure\ncode never takes the client_list_lock with card-\u003elock held.  Since\nclient_list_lock is only used in three places, that isn\u0027t hard.\n\nSigned-off-by: Jay Fenlason \u003cfenlason@redhat.com\u003e\n\nUpdate fill_bus_reset_event() accordingly.  Include linux/spinlock.h.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1aa292bb1c53500e3ab570b955d03afa97a9404d",
      "tree": "738675d2cd801012b6626628223c2a20c6e5d352",
      "parents": [
        "8e0ee43bc2c3e19db56a4adaa9a9b04ce885cd84"
      ],
      "author": {
        "name": "David Moore",
        "email": "dcm@acm.org",
        "time": "Tue Jul 22 23:23:40 2008 -0700"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 24 20:56:35 2009 +0100"
      },
      "message": "firewire: Include iso timestamp in headers when header_size \u003e 4\n\nPreviously, when an iso context had header_size \u003e 4, the iso header\n(len/tag/channel/tcode/sy) was passed to userspace followed by quadlets\nstripped from the payload.  This patch changes the behavior:\nheader_size \u003d 8 now passes the header quadlet followed by the timestamp\nquadlet.  When header_size \u003e 8, quadlets are stripped from the payload.\nThe header_size \u003d 4 case remains identical.\n\nSince this alters the semantics of the API, the firewire API version\nneeds to be bumped concurrently with this change.\n\nThis change also refactors the header copying code slightly to be much\neasier to read.\n\nSigned-off-by: David Moore \u003cdcm@acm.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "8e0ee43bc2c3e19db56a4adaa9a9b04ce885cd84",
      "tree": "177975ee063399b0f0c2105d89b7fa5c77483364",
      "parents": [
        "003086497f07f7f1e67c0c295e261740f822b377"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 23 16:12:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 23 16:12:14 2009 -0700"
      },
      "message": "Linux 2.6.29\n"
    },
    {
      "commit": "003086497f07f7f1e67c0c295e261740f822b377",
      "tree": "109be4a657d67b76a5cef8d4b7b0d1cea93ef8b1",
      "parents": [
        "1db4b2d221f14b9715c717dbd9a476469a687080"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@redhat.com",
        "time": "Mon Mar 23 15:25:49 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 23 14:21:26 2009 -0700"
      },
      "message": "Build with -fno-dwarf2-cfi-asm\n\nWith a sufficiently new compiler and binutils, code which wasn\u0027t\npreviously generating .eh_frame sections has begun to.  Certain\narchitectures (powerpc, in this case) may generate unexpected relocation\nformats in response to this, preventing modules from loading.\n\nWhile the new relocation types should probably be handled, revert to the\nprevious behaviour with regards to generation of .eh_frame sections.\n\n(This was reported against Fedora, which appears to be the only distro\ndoing any building against gcc-4.4 at present: RH bz#486545.)\n\nSigned-off-by: Kyle McMartin \u003ckyle@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Alexandre Oliva \u003caoliva@redhat.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1db4b2d221f14b9715c717dbd9a476469a687080",
      "tree": "5a91fe08298340676b23959224e14267c6ea2d65",
      "parents": [
        "d56ffd38a93841a07c839a375049a56b51e9567c"
      ],
      "author": {
        "name": "Jody McIntyre",
        "email": "scjody@sun.com",
        "time": "Mon Mar 23 13:13:34 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 23 14:21:26 2009 -0700"
      },
      "message": "trivial: fix orphan dates in ext2 documentation\n\nRevert the change to the orphan dates of Windows 95, DOS, compression.\nAdd a new orphan date for OS/2.\n\nSigned-off-by: Jody McIntyre \u003cscjody@sun.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d56ffd38a93841a07c839a375049a56b51e9567c",
      "tree": "ac668709aa6f973de26e993f21adcf98626bed46",
      "parents": [
        "12a37b5e2c93f6550b82490c3de6d4eedc509c39",
        "61fa9dcf9329cb92c220f7b656410fbe5e72f933"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 23 09:25:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 23 09:25:58 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (32 commits)\n  ucc_geth: Fix oops when using fixed-link support\n  dm9000: locking bugfix\n  net: update dnet.c for bus_id removal\n  dnet: DNET should depend on HAS_IOMEM\n  dca: add missing copyright/license headers\n  nl80211: Check that function pointer !\u003d NULL before using it\n  sungem: missing net_device_ops\n  be2net: fix to restore vlan ids into BE2 during a IF DOWN-\u003eUP cycle\n  be2net: replenish when posting to rx-queue is starved in out of mem conditions\n  bas_gigaset: correctly allocate USB interrupt transfer buffer\n  smsc911x: reset last known duplex and carrier on open\n  sh_eth: Fix mistake of the address of SH7763\n  sh_eth: Change handling of IRQ\n  netns: oops in ip[6]_frag_reasm incrementing stats\n  net: kfree(napi-\u003eskb) \u003d\u003e kfree_skb\n  net: fix sctp breakage\n  ipv6: fix display of local and remote sit endpoints\n  net: Document /proc/sys/net/core/netdev_budget\n  tulip: fix crash on iface up with shirq debug\n  virtio_net: Make virtio_net support carrier detection\n  ...\n"
    },
    {
      "commit": "12a37b5e2c93f6550b82490c3de6d4eedc509c39",
      "tree": "8407735b0d569792ec255a2627b533e403d60663",
      "parents": [
        "53da1d9456fe7f87a920a78fdbdcf1225d197cb7",
        "0702b30dd821ac8a4103ddbe545518713fdca9be"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 23 09:25:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 23 09:25:24 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  sparc64: Fix crash with /proc/iomem\n  sparc64: Reschedule KGDB capture to a software interrupt.\n  sbus: Auto-load openprom module when device opened.\n"
    },
    {
      "commit": "53da1d9456fe7f87a920a78fdbdcf1225d197cb7",
      "tree": "eccd5357ceff25a9a07be802ac0161c8c1842e64",
      "parents": [
        "b0dcb4a91ddb79f2e213205cf8d86b467f8559c7"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Mar 23 16:07:24 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 23 09:22:31 2009 -0700"
      },
      "message": "fix ptrace slowness\n\nThis patch fixes bug #12208:\n\n  Bug-Entry       : http://bugzilla.kernel.org/show_bug.cgi?id\u003d12208\n  Subject         : uml is very slow on 2.6.28 host\n\nThis turned out to be not a scheduler regression, but an already\nexisting problem in ptrace being triggered by subtle scheduler\nchanges.\n\nThe problem is this:\n\n - task A is ptracing task B\n - task B stops on a trace event\n - task A is woken up and preempts task B\n - task A calls ptrace on task B, which does ptrace_check_attach()\n - this calls wait_task_inactive(), which sees that task B is still on the runq\n - task A goes to sleep for a jiffy\n - ...\n\nSince UML does lots of the above sequences, those jiffies quickly add\nup to make it slow as hell.\n\nThis patch solves this by not rescheduling in read_unlock() after\nptrace_stop() has woken up the tracer.\n\nThanks to Oleg Nesterov and Ingo Molnar for the feedback.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b0dcb4a91ddb79f2e213205cf8d86b467f8559c7",
      "tree": "4e39332805ae940963bf09efd22c6949bbe793b6",
      "parents": [
        "59fcbddaff6f862cc1584b488866d9c4a5579085",
        "345953cf9a44b19c98f8c0fe6ca7724202bcdb94"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 23 08:03:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 23 08:03:09 2009 -0700"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc:\n  powerpc/mm: Fix Respect _PAGE_COHERENT on classic ppc32 SW TLB load machines\n"
    },
    {
      "commit": "345953cf9a44b19c98f8c0fe6ca7724202bcdb94",
      "tree": "ebb9a63082aea202de6e711d639ce52894d0f533",
      "parents": [
        "9aac397525dc7945b1582a80cef5860516bca452"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Sat Mar 14 09:23:03 2009 -0500"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Mon Mar 23 08:38:26 2009 -0500"
      },
      "message": "powerpc/mm: Fix Respect _PAGE_COHERENT on classic ppc32 SW TLB load machines\n\nGrant picked up the wrong version of \"Respect _PAGE_COHERENT on classic\nppc32 SW\" (commit a4bd6a93c3f14691c8a29e53eb04dc734b27f0db)\n\nIt was missing the code to actually deal with the fixup of\n_PAGE_COHERENT based on the CPU feature.\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "61fa9dcf9329cb92c220f7b656410fbe5e72f933",
      "tree": "f8b375ca64e3af7c5f12ab2e9d1a590f76a110cc",
      "parents": [
        "e3162d381fc359ebe5c98a3e216888a7cb200051"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Sun Mar 22 21:30:52 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 22 21:30:52 2009 -0700"
      },
      "message": "ucc_geth: Fix oops when using fixed-link support\n\ncommit b1c4a9dddf09fe99b8f88252718ac5b357363dc4 (\"ucc_geth: Change\nuec phy id to the same format as gianfar\u0027s\") introduced a regression\nin the ucc_geth driver that causes this oops when fixed-link is used:\n\nUnable to handle kernel paging request for data at address 0x00000000\nFaulting instruction address: 0xc0151270\nOops: Kernel access of bad area, sig: 11 [#1]\nTMCUTU\nNIP: c0151270 LR: c0151270 CTR: c0017760\nREGS: cf81fa60 TRAP: 0300   Not tainted  (2.6.29-rc8)\nMSR: 00009032 \u003cEE,ME,IR,DR\u003e  CR: 24024042  XER: 20000000\nDAR: 00000000, DSISR: 20000000\nTASK \u003d cf81cba0[1] \u0027swapper\u0027 THREAD: cf81e000\nGPR00: c0151270 cf81fb10 cf81cba0 00000000 c0272e20 c025f354 00001e80\ncf86b08c\nGPR08: d1068200 cffffb74 06000000 d106c200 42024042 10085148 0fffd000\n0ffc81a0\nGPR16: 00000001 00000001 00000000 007ffeb0 00000000 0000c000 cf83f36c\ncf83f000\nGPR24: 00000030 cf83f360 cf81fb20 00000000 d106c200 20000000 00001e80\ncf83f360\nNIP [c0151270] ucc_geth_open+0x330/0x1efc\nLR [c0151270] ucc_geth_open+0x330/0x1efc\nCall Trace:\n[cf81fb10] [c0151270] ucc_geth_open+0x330/0x1efc (unreliable)\n[cf81fba0] [c0187638] dev_open+0xbc/0x12c\n[cf81fbc0] [c0187e38] dev_change_flags+0x8c/0x1b0\n\nThis patch fixes the issue by removing offending (and somewhat\nduplicate) code from init_phy() routine, and changes _probe()\nfunction to use uec_mdio_bus_name().\n\nAlso, since we fully construct phy_bus_id in the _probe() routine,\nwe no longer need -\u003ephy_address and -\u003emdio_bus fields in\nucc_geth_info structure.\n\nI wish the patch would be a bit shorter, but it seems like the only\nway to fix the issue in a sane way. Luckily, the patch has been\ntested with real PHYs and fixed-link, so no further regressions\nexpected.\n\nReported-by: Joakim Tjernlund \u003cJoakim.Tjernlund@transmode.se\u003e\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nTested-by: Joakim Tjernlund \u003cJoakim.Tjernlund@transmode.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3162d381fc359ebe5c98a3e216888a7cb200051",
      "tree": "d3affce735bf848e98150541fe2c487319a29bd0",
      "parents": [
        "6580f57d485f70851218813fa053d971915f61fb"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Sun Mar 22 21:28:39 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 22 21:28:39 2009 -0700"
      },
      "message": "dm9000: locking bugfix\n\nThis fixes a locking bug in the dm9000 driver.  It calls\nrequest_irq() without setting IRQF_DISABLED ... which is\ncorrect for handlers that support IRQ sharing, since that\nbehavior is not guaranteed for shared IRQs.  However, its\nIRQ handler then wrongly assumes that IRQs are blocked.\nSo the fix just uses the right spinlock primitives in the\nIRQ handler.\n\nNOTE:  this is a classic example of the type of bug which\nlockdep currently masks by forcibly setting IRQF_DISABLED\non IRQ handlers that did not request that flag.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6580f57d485f70851218813fa053d971915f61fb",
      "tree": "3223d8daad2e81a82b040273b389b8d64f74fbe8",
      "parents": [
        "4b97926ddf51b3919c859e2086fef3c8c3c46c61"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sun Mar 22 21:22:48 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 22 21:22:48 2009 -0700"
      },
      "message": "net: update dnet.c for bus_id removal\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "59fcbddaff6f862cc1584b488866d9c4a5579085",
      "tree": "63a4e2003b84deb391d8edd39a80e4dcc2c452e8",
      "parents": [
        "39678e5e38055753ae08007ec8bcae31b122a0d0",
        "b0fe551000179c868d46266278a890eab878baca"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 22 11:41:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 22 11:41:02 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:\n  kconfig: improve seed in randconfig\n  kconfig: fix randconfig for choice blocks\n"
    },
    {
      "commit": "39678e5e38055753ae08007ec8bcae31b122a0d0",
      "tree": "56d78e9e72e09e5a183bbc2f0c727010533c4971",
      "parents": [
        "f762dd68218665bb87d4e4a0eeac86fde7530293",
        "7a2cf4af1554d891b440cc3a649d01ed222206c3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 22 11:38:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 22 11:38:57 2009 -0700"
      },
      "message": "Merge branch \u0027fix-includes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu\n\n* \u0027fix-includes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:\n  m68k: merge the non-MMU and MMU versions of siginfo.h\n  m68k: use the MMU version of unistd.h for all m68k platforms\n  m68k: merge the non-MMU and MMU versions of signal.h\n  m68k: merge the non-MMU and MMU versions of ptrace.h\n  m68k: use MMU version of setup.h for both MMU and non-MMU\n  m68k: merge the non-MMU and MMU versions of sigcontext.h\n  m68k: merge the non-MMU and MMU versions of swab.h\n  m68k: merge the non-MMU and MMU versions of param.h\n"
    },
    {
      "commit": "f762dd68218665bb87d4e4a0eeac86fde7530293",
      "tree": "f5076d7f587f0c80235ebd558e94a8e9728e6f5a",
      "parents": [
        "2aac0cf88681bfa092f731553bc7fbd23516be73"
      ],
      "author": {
        "name": "Gertjan van Wingerde",
        "email": "gwingerde@gmail.com",
        "time": "Sat Mar 21 23:18:57 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 22 11:28:37 2009 -0700"
      },
      "message": "Update my email address\n\nUpdate all previous incarnations of my email address to the correct one.\n\nSigned-off-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2aac0cf88681bfa092f731553bc7fbd23516be73",
      "tree": "b723cbe9c67b0cafa9081690d03b4ecec038d9f6",
      "parents": [
        "8faece5f906725c10e7a1f6caf84452abadbdc7b"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Fri Mar 20 02:23:57 2009 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 22 11:20:43 2009 -0700"
      },
      "message": "eCryptfs: NULL crypt_stat dereference during lookup\n\nIf ecryptfs_encrypted_view or ecryptfs_xattr_metadata were being\nspecified as mount options, a NULL pointer dereference of crypt_stat\nwas possible during lookup.\n\nThis patch moves the crypt_stat assignment into\necryptfs_lookup_and_interpose_lower(), ensuring that crypt_stat\nwill not be NULL before we attempt to dereference it.\n\nThanks to Dan Carpenter and his static analysis tool, smatch, for\nfinding this bug.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nAcked-by: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nCc: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8faece5f906725c10e7a1f6caf84452abadbdc7b",
      "tree": "bbe7d6cba67c909fbc86fc63dbfa1cf0d3cb12bc",
      "parents": [
        "18a0d89e54ca0f6f33582f99ae39867b2c975559"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Fri Mar 20 01:25:09 2009 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 22 11:20:43 2009 -0700"
      },
      "message": "eCryptfs: Allocate a variable number of pages for file headers\n\nWhen allocating the memory used to store the eCryptfs header contents, a\nsingle, zeroed page was being allocated with get_zeroed_page().\nHowever, the size of an eCryptfs header is either PAGE_CACHE_SIZE or\nECRYPTFS_MINIMUM_HEADER_EXTENT_SIZE (8192), whichever is larger, and is\nstored in the file\u0027s private_data-\u003ecrypt_stat-\u003enum_header_bytes_at_front\nfield.\n\necryptfs_write_metadata_to_contents() was using\nnum_header_bytes_at_front to decide how many bytes should be written to\nthe lower filesystem for the file header.  Unfortunately, at least 8K\nwas being written from the page, despite the chance of the single,\nzeroed page being smaller than 8K.  This resulted in random areas of\nkernel memory being written between the 0x1000 and 0x1FFF bytes offsets\nin the eCryptfs file headers if PAGE_SIZE was 4K.\n\nThis patch allocates a variable number of pages, calculated with\nnum_header_bytes_at_front, and passes the number of allocated pages\nalong to ecryptfs_write_metadata_to_contents().\n\nThanks to Florian Streibelt for reporting the data leak and working with\nme to find the problem.  2.6.28 is the only kernel release with this\nvulnerability.  Corresponds to CVE-2009-0787\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nAcked-by: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Eugene Teo \u003ceugeneteo@kernel.sg\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: dann frazier \u003cdannf@dannf.org\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Florian Streibelt \u003cflorian@f-streibelt.de\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "18a0d89e54ca0f6f33582f99ae39867b2c975559",
      "tree": "6698711fdad0ded22c69b1e83d2984ffaf70cb96",
      "parents": [
        "65c24491b4fef017c64e39ec64384fde5e05e0a0"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Mar 20 09:22:30 2009 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 22 11:08:53 2009 -0700"
      },
      "message": "radeonfb: Whack the PCI PM register until it sticks\n\nThis fixes a regression introduced when we switched to using the core\npci_set_power_state().  The chip seems to need the state to be written\nover and over again until it sticks, so we do that.\n\nNote that the code is a bit blunt, without timeout, etc...  but that\u0027s\npretty much because I put back in there the code exactly as it used to\nbe before the regression.  I still add a call to pci_set_power_state()\nat the end so that ACPI gets called appropriately on x86.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nTested-by: Raymond Wooninck \u003ctittiatcoke@gmail.com\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b97926ddf51b3919c859e2086fef3c8c3c46c61",
      "tree": "3d02ee4f9751dbd9ebc31cdcddaeedb1a3be88d4",
      "parents": [
        "e2fc4d19292ef2eb208f76976ddc3320cc5839b6"
      ],
      "author": {
        "name": "Ilya Yanok",
        "email": "yanok@emcraft.com",
        "time": "Sat Mar 21 16:58:47 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 21 16:58:47 2009 -0700"
      },
      "message": "dnet: DNET should depend on HAS_IOMEM\n\nSigned-off-by: Ilya Yanok \u003cyanok@emcraft.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2fc4d19292ef2eb208f76976ddc3320cc5839b6",
      "tree": "802212de24177fa6bb33ee6128bc237fee5f9e6b",
      "parents": [
        "c2f3252b8531c56990ea50e040cbcdf11a233436"
      ],
      "author": {
        "name": "Maciej Sosnowski",
        "email": "maciej.sosnowski@intel.com",
        "time": "Sat Mar 21 13:31:23 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 21 13:31:23 2009 -0700"
      },
      "message": "dca: add missing copyright/license headers\n\nIn two dca files copyright and license headers are missing.\nThis patch adds them there.\n\nSigned-off-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2f3252b8531c56990ea50e040cbcdf11a233436",
      "tree": "7df89d9fca6134705fbf0d4a7298911450f0e9b0",
      "parents": [
        "5ed0102fbf36f58091089907213b4bd191ca2e0c",
        "f3f9258678b081c3ef2f036aef450cd2053ef419"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 20 14:53:36 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 20 14:53:36 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "f3f9258678b081c3ef2f036aef450cd2053ef419",
      "tree": "a1c619e776cdea71943429dffbbaa87b0a7c7999",
      "parents": [
        "170ebf85160dd128e1c4206cc197cce7d1424705"
      ],
      "author": {
        "name": "Jouni Malinen",
        "email": "jouni.malinen@atheros.com",
        "time": "Fri Mar 20 17:57:36 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 20 16:01:57 2009 -0400"
      },
      "message": "nl80211: Check that function pointer !\u003d NULL before using it\n\nNL80211_CMD_GET_MESH_PARAMS and NL80211_CMD_SET_MESH_PARAMS handlers\ndid not verify whether a function pointer is NULL (not supported by\nthe driver) before trying to call the function. The former nl80211\ncommand is available for unprivileged users, too, so this can\npotentially allow normal users to kill networking (or worse..) if\nmac80211 is built without CONFIG_MAC80211_MESH\u003dy.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5ed0102fbf36f58091089907213b4bd191ca2e0c",
      "tree": "918ec5b810e6d0675425c562ef01e151a0313c16",
      "parents": [
        "1ab1ab7543de53c945ea24140409ef67ed173eb4"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Mar 19 23:58:01 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 19 23:58:01 2009 -0700"
      },
      "message": "sungem: missing net_device_ops\n\nSungem driver only got partially converted to net_device_ops.\nSince this could cause bugs, please push this to 2.6.29\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ab1ab7543de53c945ea24140409ef67ed173eb4",
      "tree": "d9506f9bcbf3064368172030edc8c837f9c9a234",
      "parents": [
        "ea1dae11e0baca5d633207fe50fc3cd30a5d68ee"
      ],
      "author": {
        "name": "Sathya Perla",
        "email": "sathyap@serverengines.com",
        "time": "Thu Mar 19 23:56:46 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 19 23:56:46 2009 -0700"
      },
      "message": "be2net: fix to restore vlan ids into BE2 during a IF DOWN-\u003eUP cycle\n\nThis is a patch to reconfigure vlan-ids during an i/f down/up cycle\n\nSigned-off-by: Sathya Perla \u003csathyap@serverengines.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea1dae11e0baca5d633207fe50fc3cd30a5d68ee",
      "tree": "e87606f10432ab66dd5d486939f49e1bce299f61",
      "parents": [
        "170ebf85160dd128e1c4206cc197cce7d1424705"
      ],
      "author": {
        "name": "Sathya Perla",
        "email": "sathyap@serverengines.com",
        "time": "Thu Mar 19 23:56:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 19 23:56:20 2009 -0700"
      },
      "message": "be2net: replenish when posting to rx-queue is starved in out of mem conditions\n\nThis is a patch to replenish the rx-queue when it is in a starved\nstate (due to out-of-mem conditions)\n\nSigned-off-by: Sathya Perla \u003csathyap@serverengines.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65c24491b4fef017c64e39ec64384fde5e05e0a0",
      "tree": "3afa5c9eace50837f3c31238102358cf67b8a1ff",
      "parents": [
        "87c3a86e1c220121d0ced59d1a71e78ed9abc6dd"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Wed Mar 18 17:04:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 15:57:18 2009 -0700"
      },
      "message": "aio: lookup_ioctx can return the wrong value when looking up a bogus context\n\nThe libaio test harness turned up a problem whereby lookup_ioctx on a\nbogus io context was returning the 1 valid io context from the list\n(harness/cases/3.p).\n\nBecause of that, an extra put_iocontext was done, and when the process\nexited, it hit a BUG_ON in the put_iocontext macro called from exit_aio\n(since we expect a users count of 1 and instead get 0).\n\nThe problem was introduced by \"aio: make the lookup_ioctx() lockless\"\n(commit abf137dd7712132ee56d5b3143c2ff61a72a5faa).\n\nThanks to Zach for pointing out that hlist_for_each_entry_rcu will not\nreturn with a NULL tpos at the end of the loop, even if the entry was\nnot found.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nAcked-by: Zach Brown \u003czach.brown@oracle.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87c3a86e1c220121d0ced59d1a71e78ed9abc6dd",
      "tree": "f0460d0a5f34da0c3df3cc729b705fc93a69be4b",
      "parents": [
        "d0115552cdb0b4d4146975889fee2e9355515c4b"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Wed Mar 18 17:04:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 15:57:18 2009 -0700"
      },
      "message": "eventfd: remove fput() call from possible IRQ context\n\nRemove a source of fput() call from inside IRQ context.  Myself, like Eric,\nwasn\u0027t able to reproduce an fput() call from IRQ context, but Jeff said he was\nable to, with the attached test program.  Independently from this, the bug is\nconceptually there, so we might be better off fixing it.  This patch adds an\noptimization similar to the one we already do on -\u003eki_filp, on -\u003eki_eventfd.\nPlaying with -\u003ef_count directly is not pretty in general, but the alternative\nhere would be to add a brand new delayed fput() infrastructure, that I\u0027m not\nsure is worth it.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0115552cdb0b4d4146975889fee2e9355515c4b",
      "tree": "408e36ddf0eb6397a0f8f672701b753287e26cd9",
      "parents": [
        "caa81d671f485dc54960e37a888d3b55349850a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 15:53:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 15:53:19 2009 -0700"
      },
      "message": "Move cc-option to below arch-specific setup\n\nSam Ravnborg says:\n \"We have several architectures that plays strange games with $(CC) and\n  $(CROSS_COMPILE).\n\n  So we need to postpone any use of $(call cc-option..) until we have\n  included the arch specific Makefile so we try with the correct $(CC)\n  version.\"\n\nRequested-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "caa81d671f485dc54960e37a888d3b55349850a9",
      "tree": "c7d483cc33e2c3f858fd2f4f4fd84bf02d333287",
      "parents": [
        "2d8620cb880c796c9a9b59fe8d4ff37d726acfea",
        "0fb1d9bcbcf701a45835aa150c57ca54ea685bfa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 14:56:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 14:56:35 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6:\n  [S390] make page table upgrade work again\n  [S390] make page table walking more robust\n  [S390] Dont check for pfn_valid() in uaccess_pt.c\n  [S390] ftrace/mcount: fix kernel stack backchain\n  [S390] topology: define SD_MC_INIT to fix performance regression\n  [S390] __div64_31 broken for CONFIG_MARCH_G5\n"
    },
    {
      "commit": "2d8620cb880c796c9a9b59fe8d4ff37d726acfea",
      "tree": "28ec4a32732c76bb7395c9a3d99f2c70c409b013",
      "parents": [
        "fe2fd6cc346cc7199a52250e8fb594852b2a321b",
        "96fe2ab830d7dffee1b3d8abf27ced4d7d5765e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 14:50:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 14:50:15 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:\n  HID: fix waitqueue usage in hiddev\n  HID: fix incorrect free in hiddev\n"
    },
    {
      "commit": "fe2fd6cc346cc7199a52250e8fb594852b2a321b",
      "tree": "d5a796b695c682165e014fc535cc04d3510c4e7f",
      "parents": [
        "a8e7d49aa7be728c4ae241a75a2a124cdcabc0c5",
        "913d952eb573c3d1f7487e83b5590e13e7cae2bd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 14:49:55 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 14:49:55 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: Clear space_info full when adding new devices\n  Btrfs: Fix locking around adding new space_info\n"
    },
    {
      "commit": "a8e7d49aa7be728c4ae241a75a2a124cdcabc0c5",
      "tree": "fec49351496b886d8aa0e7b55e58c2f1394b051a",
      "parents": [
        "68df3755e383e6fecf2354a67b08f92f18536594"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 11:32:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 11:32:05 2009 -0700"
      },
      "message": "Fix race in create_empty_buffers() vs __set_page_dirty_buffers()\n\nNick Piggin noticed this (very unlikely) race between setting a page\ndirty and creating the buffers for it - we need to hold the mapping\nprivate_lock until we\u0027ve set the page dirty bit in order to make sure\nthat create_empty_buffers() might not build up a set of buffers without\nthe dirty bits set when the page is dirty.\n\nI doubt anybody has ever hit this race (and it didn\u0027t solve the issue\nNick was looking at), but as Nick says: \"Still, it does appear to solve\na real race, which we should close.\"\n\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68df3755e383e6fecf2354a67b08f92f18536594",
      "tree": "a5091127ecb61f30c448ec2abb534509791a7d19",
      "parents": [
        "a1e4ee22863d41a6fbb24310d7951836cb6dafe7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 11:10:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 11:10:17 2009 -0700"
      },
      "message": "Add \u0027-fwrapv\u0027 to gcc CFLAGS\n\nThis makes sure that gcc doesn\u0027t try to optimize away wrapping\narithmetic, which the kernel occasionally uses for overflow testing, ie\nthings like\n\n\tif (ptr + offset \u003c ptr)\n\nwhich technically is undefined for non-unsigned types. See\n\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12597\n\nfor details.\n\nNot all versions of gcc support it, so we need to make it conditional\n(it looks like it was introduced in gcc-3.4).\n\nReminded-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0702b30dd821ac8a4103ddbe545518713fdca9be",
      "tree": "8ce0c9f5e58c5ccb99870505eecd139986caa05e",
      "parents": [
        "192d7a4667c6d11d1a174ec4cad9a3c5d5f9043c",
        "a1e4ee22863d41a6fbb24310d7951836cb6dafe7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 18 23:53:57 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 18 23:53:57 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "192d7a4667c6d11d1a174ec4cad9a3c5d5f9043c",
      "tree": "492fa7fbedffb167191aa4d6e218613667fb2864",
      "parents": [
        "42cc77c861e8e850e86252bb5b1e12e006261973"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Wed Mar 18 23:53:16 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 18 23:53:16 2009 -0700"
      },
      "message": "sparc64: Fix crash with /proc/iomem\n\nWhen you compile kernel on Sparc64 with heap memory checking and type\n\"cat /proc/iomem\", you get a crash, because pointers in struct\nresource are uninitialized.\n\nMost code fills struct resource with zeros, so I assume that it is\nresponsibility of the caller of request_resource to initialized it,\nnot the responsibility of request_resource functuion.\n\nAfter 2.6.29 is out, there could be a check for uninitialized fields\nadded to request_resource to avoid crashes like this.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42cc77c861e8e850e86252bb5b1e12e006261973",
      "tree": "422d0619783e95d95d682775305d0dfdac72a366",
      "parents": [
        "1c339eb183bb48095feaa46057ac4f4f0603dbf9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 18 23:51:57 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 18 23:51:57 2009 -0700"
      },
      "message": "sparc64: Reschedule KGDB capture to a software interrupt.\n\nOtherwise it might interrupt switch_to() midstream and use\nhalf-cooked register window state.\n\nReported-by: Chris Torek \u003cchris.torek@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "170ebf85160dd128e1c4206cc197cce7d1424705",
      "tree": "43686daef9a1aa3a535c9c2f4c57f5ce1e3fd31c",
      "parents": [
        "44c1d6f99d4c86638bffabf0b7a232d0fe7ae574"
      ],
      "author": {
        "name": "Tilman Schmidt",
        "email": "tilman@imap.cc",
        "time": "Wed Mar 18 23:44:23 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 18 23:44:23 2009 -0700"
      },
      "message": "bas_gigaset: correctly allocate USB interrupt transfer buffer\n\nEvery USB transfer buffer has to be allocated individually by kmalloc.\n\nImpact: bugfix, no functional change\n\nSigned-off-by: Tilman Schmidt \u003ctilman@imap.cc\u003e\nTested-by: Kolja Waschk \u003ckawk@users.sourceforge.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "44c1d6f99d4c86638bffabf0b7a232d0fe7ae574",
      "tree": "6904225f0189f7d5229dd529f64de71c97c55e7b",
      "parents": [
        "2e2a6a9f710255c87cef670fb71fc9e74bef1da2"
      ],
      "author": {
        "name": "Steve Glendinning",
        "email": "steve.glendinning@smsc.com",
        "time": "Wed Mar 18 23:37:18 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 18 23:37:18 2009 -0700"
      },
      "message": "smsc911x: reset last known duplex and carrier on open\n\nsmsc911x_phy_adjust_link is called periodically by the phy layer (as\nit\u0027s run in polling mode), and it only updates the hardware when it sees\na change in duplex or carrier.  This patch clears the last known values\nevery time the interface is brought up, instead of only when the module\nis loaded.\n\nWithout this patch the adjust_link function never updates the hardware\nafter an ifconfig down; ifconfig up.  On a full duplex link this causes\nthe tx error counter to increment, even though packets are correctly\ntransmitted, as the default MAC_CR register setting is for half duplex.\n\nThe tx errors are \"no carrier\" errors, which should be ignored in\nfull-duplex mode.  When MAC_CR is set to \"full duplex\" mode they are\ncorrectly ignored by the hardware.\n\nNote that even with this patch the tx error counter can increment if\npackets are transmitted between \"ifconfig up\" and the first phy poll\ninterval.  An improved solution would use the phy interrupt with phylib,\nbut I haven\u0027t managed to make this work 100% robustly yet.\n\nSigned-off-by: Steve Glendinning \u003csteve.glendinning@smsc.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e2a6a9f710255c87cef670fb71fc9e74bef1da2",
      "tree": "40611a668d5bddc4d58aa08b5404cdfe374ebc71",
      "parents": [
        "0e0fde3c8d65524b8dfd834332d6e4a92711a66a"
      ],
      "author": {
        "name": "Nobuhiro Iwamatsu",
        "email": "iwamatsu.nobuhiro@renesas.com",
        "time": "Mon Mar 16 19:52:23 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 18 23:31:50 2009 -0700"
      },
      "message": "sh_eth: Fix mistake of the address of SH7763\n\nAddress of SH_TSU_ADDR and ARSTR of SH7763 was wrong.\nThis revise it.\n\nSigned-off-by: Nobuhiro Iwamatsu \u003ciwamatsu.nobuhiro@renesas.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e0fde3c8d65524b8dfd834332d6e4a92711a66a",
      "tree": "ecc9eead781a01b3f1b2570546ad8966d7abed2d",
      "parents": [
        "2bad35b7c9588eb5e65c03bcae54e7eb6b1a6504"
      ],
      "author": {
        "name": "Nobuhiro Iwamatsu",
        "email": "iwamatsu.nobuhiro@renesas.com",
        "time": "Mon Mar 16 19:50:57 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 18 23:31:49 2009 -0700"
      },
      "message": "sh_eth: Change handling of IRQ\n\nHandling of IRQ of the SH7763/SH7764 CPU which sh_eth supported was\nchanged.\nThis revises it for this change.\n\nSigned-off-by: Nobuhiro Iwamatsu \u003ciwamatsu.nobuhiro@renesas.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2bad35b7c9588eb5e65c03bcae54e7eb6b1a6504",
      "tree": "1a0dff781b3d756470845b58cade9c9b074fadb4",
      "parents": [
        "e4a389a9b5c892446b5de2038bdc0cca8703c615"
      ],
      "author": {
        "name": "Jorge Boncompte [DTI2]",
        "email": "jorge@dti2.net",
        "time": "Wed Mar 18 23:26:11 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 18 23:26:11 2009 -0700"
      },
      "message": "netns: oops in ip[6]_frag_reasm incrementing stats\n\ndev can be NULL in ip[6]_frag_reasm for skb\u0027s coming from RAW sockets.\n\nQuagga\u0027s OSPFD sends fragmented packets on a RAW socket, when netfilter\nconntrack reassembles them on the OUTPUT path you hit this code path.\n\nYou can test it with something like \"hping2 -0 -d 2000 -f AA.BB.CC.DD\"\n\nWith help from Jarek Poplawski.\n\nSigned-off-by: Jorge Boncompte [DTI2] \u003cjorge@dti2.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "e4a389a9b5c892446b5de2038bdc0cca8703c615"
}
