)]}'
{
  "log": [
    {
      "commit": "1745522ccbabd990bfc7511861aa9fa98287cba0",
      "tree": "c42f8e9aa561c414c4476e56ba1ad93d846605d0",
      "parents": [
        "e2ba42ed0f8ba174302ebfabfa063fb456d5d6f5"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Jan 26 21:19:52 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Jan 26 21:19:52 2009 +0100"
      },
      "message": "i2c: Delete many unused adapter IDs\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "7f46b1343f723f98634a5dcee47856b2000079ed",
      "tree": "ed22b6298c8dd2f687890a0d79abcd1d273b5f81",
      "parents": [
        "b8c31da64165b8566fc6e1c9c826f76e7b98ff02",
        "9e42d0cf5020aaf217433cad1a224745241d212a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 08 11:05:59 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 08 11:05:59 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "92dc8cc317844e5681f5d8990896720ed2b21cc8",
      "tree": "0ada7a2c950ae2ccded562fec8561205fb25470f",
      "parents": [
        "464f4daae75c87ed281b421caa019f67f459b85f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jan 06 12:56:50 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 16:49:02 2009 -0800"
      },
      "message": "ieee1394: use internal network device stats\n\nUse the network_device_stats field in network_device.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "464f4daae75c87ed281b421caa019f67f459b85f",
      "tree": "377d314b8b5c892fef1d022914c43fe5d4bd0b17",
      "parents": [
        "79994c990674edd9a1e8b2aad21e8eb8e3b43748"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jan 06 12:55:54 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 16:48:46 2009 -0800"
      },
      "message": "ieee1394: remove unneeded last_rx\n\nLast_rx is now done if needed inside bonding.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79994c990674edd9a1e8b2aad21e8eb8e3b43748",
      "tree": "ed577651c8681f062b3a166e97afd940e9bada2e",
      "parents": [
        "d442ad4ab1c86b453e0f44fb3de0932f386ab3e6"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jan 06 12:54:56 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 16:48:30 2009 -0800"
      },
      "message": "ieee1394: convert to net_device_ops\n\nConvert to net_device_ops.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c82cdea1e1cb3790788d04ef5cab33488e1455c9",
      "tree": "30621519f220da63e039f226772b0ed2a05903e4",
      "parents": [
        "7d7039d3650688319670b2e828b1013fbfd2cc3b"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Dec 13 15:21:29 2008 -0800"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 23:50:36 2009 +0100"
      },
      "message": "ieee1934: dv1394: interrupt enabling/disabling broken on big-endian\n\nAfter annotating the frame structs, this was left:\ndrivers/ieee1394/dv1394.c:2113:23: warning: invalid assignment: |\u003d\ndrivers/ieee1394/dv1394.c:2113:23:    left side has type restricted __le32\ndrivers/ieee1394/dv1394.c:2113:23:    right side has type int\ndrivers/ieee1394/dv1394.c:2121:24: warning: invalid assignment: \u0026\u003d\ndrivers/ieee1394/dv1394.c:2121:24:    left side has type restricted __le32\ndrivers/ieee1394/dv1394.c:2121:24:    right side has type int\ndrivers/ieee1394/dv1394.c:2123:24: warning: invalid assignment: |\u003d\ndrivers/ieee1394/dv1394.c:2123:24:    left side has type restricted __le32\ndrivers/ieee1394/dv1394.c:2123:24:    right side has type int\n\nWhich looks like a real bug on a big-endian arch as it would set/clear\nthe wrong bit.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\n\nBill Fink writes:\n\nI finally got a chance to test the patch on my kernel, and live DV\nviewing using xine still worked fine.  Although I admit to being\nmystified how it works both before and after the patch, since the\ncpu_to_le32() calls that were added should result in byte swapping on\nPPC that wasn\u0027t being done before.  I guess that either the code paths\ninvolved aren\u0027t actually being triggered by my xine DV viewing, or\nthere\u0027s some fortuitous palindromic setting of bits.\n\nTested-by: Bill Fink \u003cbillfink@mindspring.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "7d7039d3650688319670b2e828b1013fbfd2cc3b",
      "tree": "9f766872bd2f42c4871c18863050ca41d4266d82",
      "parents": [
        "faf26bcc4729546ef95f5edb44f3749bb1b47d1c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Dec 13 15:20:39 2008 -0800"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 23:50:36 2009 +0100"
      },
      "message": "ieee1394: dv1394: annotate frame input/output structs as little endian\n\nNo Functional changes.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "faf26bcc4729546ef95f5edb44f3749bb1b47d1c",
      "tree": "11d012500ef7cd7eda5e27b7703ae64f08daa89e",
      "parents": [
        "debb48063a372525c07561cc96c473ae9adefd99"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Dec 13 15:03:06 2008 -0800"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 23:50:35 2009 +0100"
      },
      "message": "ieee1394: eth1394: trivial sparse annotations\n\nMostly annotations of ether_type as a be16.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "debb48063a372525c07561cc96c473ae9adefd99",
      "tree": "13a8df0757c138a1e6f2617b43ed10762d605db9",
      "parents": [
        "a5e6f64ddad9f55f0eab09576c7523808d7f9e3d"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Dec 13 15:02:34 2008 -0800"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 23:50:35 2009 +0100"
      },
      "message": "ieee1394: mark bus_info_data as a __be32 array\n\nTwo access functions get_max_rom and set_hw_config_rom are\nchanged to take __be32 as well.  Only bus_info_data was\never passed in so this is OK.  All other uses of bus_info_data\ntreated it as a be32 value already.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a5e6f64ddad9f55f0eab09576c7523808d7f9e3d",
      "tree": "85d04c30af447e86469ff229ea51fb6a12a8b1eb",
      "parents": [
        "c816015860f6cfaf28c3cb95e3d3b6e4c4cfc688"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Dec 13 15:02:21 2008 -0800"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 23:50:35 2009 +0100"
      },
      "message": "ieee1394: replace CSR_SET_BUS_INFO_GENERATION macro\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c816015860f6cfaf28c3cb95e3d3b6e4c4cfc688",
      "tree": "354fd30debebb81345747adf885f4ca3553adfb1",
      "parents": [
        "0bed1819687b50a769a1fee6d91cb0ef79b011b4"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Dec 13 15:01:50 2008 -0800"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 23:50:34 2009 +0100"
      },
      "message": "ieee1394: pcilynx: trivial endian annotation\n\nbus_info_block was treated as a be32 everywhere, annotate\nas such.  Removes plenty of sparse warnings.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "0bed1819687b50a769a1fee6d91cb0ef79b011b4",
      "tree": "bc5c36dda1f8e8de697ca3bb2b4d170cb77183c6",
      "parents": [
        "c1fc58d63d754b82070881c62601551464afa19d"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Dec 13 23:12:06 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 23:50:34 2009 +0100"
      },
      "message": "ieee1394: ignore nonzero Bus_Info_Block.max_rom, fetch config ROM in quadlets\n\nIt is already known that buggy firmwares exist which report a bogus\nlink_spd in their config ROM bus info block.  We now got the first\nreport of a bogus max_rom too (Freecom FireWire Hard Drive 1TB,\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12206).\n\nI suspect other OSs only use quadlet reads to fetch the config ROM,\notherwise the firmware authors would have noticed their mistake.\nHence limit ieee1394\u0027s config ROM fetching routine to quadlets as the\nsafe minimum regardless of what the bus info block says.\n\nThis will potentially slow the bus reset handling by nodemgr somewhat\ndown.  But most existing devices support only quadlet reads anyway,\nhence there will often be no actual difference to before this change.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c1fc58d63d754b82070881c62601551464afa19d",
      "tree": "3f4e1bc9a884aaea4fbfbb077e3865d2821d681d",
      "parents": [
        "cbe7dd699e0bdda85a9279f2659b51b92e6782e3"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Dec 12 21:57:50 2008 -0800"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 23:50:34 2009 +0100"
      },
      "message": "ieee1394: consolidate uses of IEEE1934_BUSID_MAGIC\n\nMove the definition out of nodemgr.h and use it in csr.c/pcilynx.c\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "cbe7dd699e0bdda85a9279f2659b51b92e6782e3",
      "tree": "0300efc6e4c53ce88bdd5a1ef9061b7c7feb4d73",
      "parents": [
        "9e234faf98ec4fbcc3292d767df2c709a032cba5"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Dec 06 17:35:59 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 23:50:33 2009 +0100"
      },
      "message": "ieee1394: ohci1394: flush MMIO writes before delay in initialization\n\nand replace busy-wait by msleep.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "9e234faf98ec4fbcc3292d767df2c709a032cba5",
      "tree": "0353d8cdff57ab8b8da7f6362536b3bf9df9528a",
      "parents": [
        "d1069aea6840c24f6e0617a758334312b60d3fc6"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Dec 06 17:35:20 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 23:50:33 2009 +0100"
      },
      "message": "ieee1394: ohci1394: pass error codes from request_irq through\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "d1069aea6840c24f6e0617a758334312b60d3fc6",
      "tree": "674fdbace682472255dca24f9b713c41fa1c61fa",
      "parents": [
        "b17a55096071898454d7b5b6fb30cca7faedf9f1"
      ],
      "author": {
        "name": "Frans Pop",
        "email": "elendil@planet.nl",
        "time": "Sat Dec 06 15:36:47 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 23:50:33 2009 +0100"
      },
      "message": "ieee1394: ohci1394: don\u0027t leave interrupts enabled during suspend/resume\n\nOn my HP 2510p I get the following in dmesg during near the end of most\nresumes from suspend to RAM:\n\nirq 19: nobody cared (try booting with the \"irqpoll\" option)\nPid: 0, comm: swapper Not tainted 2.6.28-rc7 #67\nCall Trace:\n \u003cIRQ\u003e  [\u003cffffffffa00ee9e1\u003e] ? ohci_irq_handler+0x60/0x7e9 [ohci1394]\n [\u003cffffffff8026aa4d\u003e] __report_bad_irq+0x38/0x87\n [\u003cffffffff8026abaa\u003e] note_interrupt+0x10e/0x174\n [\u003cffffffff8026b262\u003e] handle_fasteoi_irq+0xa7/0xd1\n [\u003cffffffff8020eb87\u003e] do_IRQ+0x73/0xe4\n [\u003cffffffff8020c626\u003e] ret_from_intr+0x0/0xa\n \u003cEOI\u003e  [\u003cffffffffa0012606\u003e] ? acpi_idle_enter_bm+0x26b/0x2b2 [processor]\n [\u003cffffffffa00125fc\u003e] ? acpi_idle_enter_bm+0x261/0x2b2 [processor]\n [\u003cffffffff8024f30f\u003e] ? notifier_call_chain+0x33/0x5b\n [\u003cffffffff803b9c64\u003e] ? cpuidle_idle_call+0x8c/0xc4\n [\u003cffffffff8020b312\u003e] ? cpu_idle+0x4a/0x9a\n [\u003cffffffff8042c5c8\u003e] ? rest_init+0x5c/0x5e\nhandlers:\n[\u003cffffffffa00ee981\u003e] (ohci_irq_handler+0x0/0x7e9 [ohci1394])\nDisabling IRQ #19\n\nThere also seems to be an interrupt storm during suspend/resume when this\nhappens:\n 19:      99968         33   IO-APIC-fasteoi   ohci1394\n\nThis patch gets rid of both issues and makes the resume as a whole\nsignificantly faster.\n\nSigned-off-by: Frans Pop \u003celendil@planet.nl\u003e\n\nAs was pointed out in http://lkml.org/lkml/2008/12/6/127, this does not\nfix the cause of the interrupt storm.  However, since the source of the\ninterrupts could not be determined yet, we make the system at least more\nusable with this change.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b17a55096071898454d7b5b6fb30cca7faedf9f1",
      "tree": "fdba029dc0d01d324a1d7405ef5e80dc0f06039c",
      "parents": [
        "adb0a61681224340271bb2c2e1a060434b76ec06"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Nov 26 01:35:21 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 23:50:32 2009 +0100"
      },
      "message": "ieee1394: mark all hpsb_address_ops instances as const\n\nThese are never modified.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "adb0a61681224340271bb2c2e1a060434b76ec06",
      "tree": "c0c71c558add3e3fdab1810c162fed5b63342f45",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Nov 26 01:34:55 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 04 23:50:32 2009 +0100"
      },
      "message": "ieee1394: replace a GFP_ATOMIC by GFP_KERNEL allocation\n\nAll callers of hpsb_register_addrspace() can sleep.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "25a41b280083259d05d68f61633194344a1f8a9f",
      "tree": "e5a9af8f08e35a9bffbf9c61caf3b16ff8289dc9",
      "parents": [
        "8b1fae4e4200388b64dd88065639413cb3f1051c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Dec 13 01:43:59 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 14 01:13:13 2008 +0100"
      },
      "message": "ieee1394: add quirk fix for Freecom HDD\n\nAccording to http://bugzilla.kernel.org/show_bug.cgi?id\u003d12206, Freecom\nFireWire Hard Drive 1TB reports max_rom\u003d2 but returns garbage if block\nread requests are used to read the config ROM.  Force max_rom\u003d0 to limit\nthem to quadlet read requests.\n\nReported-by: Christian Mueller \u003ccm1@mumac.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "ec9a13cdbfc8cf29502096ca69b65f07184a9b2c",
      "tree": "82657074c8585eea943f20d41866784a4f79d45f",
      "parents": [
        "437f2f91d6597c67662f847d9ed4c99cb3c440cd"
      ],
      "author": {
        "name": "Nigel Cunningham",
        "email": "ncunningham@crca.org.au",
        "time": "Tue Dec 09 22:40:20 2008 +1100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Dec 09 19:34:33 2008 +0100"
      },
      "message": "ieee1394: node manager causes up to ~3.25s delay in freezing tasks\n\nThe firewire nodemanager function \"nodemgr_host_thread\" contains a loop\nthat calls try_to_freeze near the top of the loop, but then delays for\nup to 3.25 seconds (plus time to do work) before getting back to the top\nof the loop. When starting a cycle post-boot, this doesn\u0027t seem to bite,\nbut it is causing a noticeable delay at boot time, when freezing\nprocesses prior to starting to read the image.\n\nThe following patch adds invocation of try_to_freeze to the subloops\nthat are used in the body of this function. With these additions, the\ntime to freeze when starting to resume at boot time is virtually zero.\nI\u0027m no expert on firewire, and so don\u0027t know that we shouldn\u0027t check\nthe return value and jump back to the top of the loop or such like after\nbeing frozen, but I submit it for your consideration.\n\nSigned-off-by: Nigel Cunningham \u003cnigel@tuxonice.net\u003e\n\nThe delay until nodemgr freezes was up to 0.25s (plus time for node\nprobes) in Linux 2.6.27 and older and up to 3.25s (plus ~) since Linux\n2.6.28-rc1, hence much more noticeable.\n\ntry_to_freeze() without any jump is correct.  The surrounding code in\nthe respective loops will catch whether another bus reset happens during\nthe freeze and handle it.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "2642b11295ebcc94843045933061bfbb263fce7f",
      "tree": "aa62e749e88e0d769d2d557d4a067168108943f1",
      "parents": [
        "e47c1feb17e61ef4e2f245c0af0c5a8e2a7798b2"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Nov 29 14:55:47 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Nov 29 17:07:56 2008 +0100"
      },
      "message": "ieee1394: sbp2: fix race condition in state change\n\nAn intermediate transition from _RUNNING to _IN_SHUTDOWN could have been\nmissed by the former code.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e47c1feb17e61ef4e2f245c0af0c5a8e2a7798b2",
      "tree": "12e24df6acd00564cb01da470c19c759698da0a9",
      "parents": [
        "031bb27c4bf77c2f60b3f3dea8cce63ef0d1fba9"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Nov 26 01:34:25 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Nov 29 17:07:56 2008 +0100"
      },
      "message": "ieee1394: fix list corruption (reported at module removal)\n\nIf there is more than one FireWire controller present, dummy_zero_addr\nand dummy_max_addr were added multiple times to different lists, thus\ncorrupting the lists.  Fix this by allocating them dynamically per host\ninstead of just once globally.\n\n(Perhaps a better address space allocation algorithm could rid us of the\ntwo dummy address spaces.)\n\nFixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d10129 .\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "9e0de91011ef6fe6eb3bb63f7ea15f586955660a",
      "tree": "676feb1fc6e4dc380a4b9d29424242b20ccce003",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Nov 22 12:38:24 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Nov 25 21:38:31 2008 +0100"
      },
      "message": "ieee1394: sbp2: another iPod mini quirk entry\n\nAdd another model ID of a broken firmware to prevent early I/O errors\nby acesses at the end of the disk.  Reported at linux1394-user,\nhttp://marc.info/?t\u003d122670842900002\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "6572a281cfd805dd54718597d6c33261b5be052b",
      "tree": "9e61bf01db351d4371e2daf12fcf50213281572d",
      "parents": [
        "e252f4db187ef02d06c8551069d944d327b8bb9a",
        "8449fc3ae58bf8ee5acbd2280754cde67b5db128"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:55:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:55:34 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  ieee1394: dv1394: fix possible deadlock in multithreaded clients\n  ieee1394: raw1394: fix possible deadlock in multithreaded clients\n  ieee1394: struct device - replace bus_id with dev_name(), dev_set_name()\n  firewire: struct device - replace bus_id with dev_name(), dev_set_name()\n"
    },
    {
      "commit": "233e70f4228e78eb2f80dc6650f65d3ae3dbf17c",
      "tree": "4e18fbe1851e6d2161b7f18265cb21f8a61e3ce7",
      "parents": [
        "3318a386e4ca68c76e0294363d29bdc46fcad670"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Fri Oct 31 23:28:30 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 01 09:49:46 2008 -0700"
      },
      "message": "saner FASYNC handling on file close\n\nAs it is, all instances of -\u003erelease() for files that have -\u003efasync()\nneed to remember to evict file from fasync lists; forgetting that\ncreates a hole and we actually have a bunch that *does* forget.\n\nSo let\u0027s keep our lives simple - let __fput() check FASYNC in\nfile-\u003ef_flags and call -\u003efasync() there if it\u0027s been set.  And lose that\ncrap in -\u003erelease() instances - leaving it there is still valid, but we\ndon\u0027t have to bother anymore.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8449fc3ae58bf8ee5acbd2280754cde67b5db128",
      "tree": "01c632f8b1adf31f937a67f1e2d000053eea1f1a",
      "parents": [
        "638570b54346f140bc09b986d93e76025d35180f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Oct 26 12:02:03 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Oct 31 08:48:26 2008 +0100"
      },
      "message": "ieee1394: dv1394: fix possible deadlock in multithreaded clients\n\nFix a possible though highly unlikely deadlock:\n\nThread A:                  Thread B:\n - acquire mmap_sem         - dv1394_ioctl/read/write()\n - dv1394_mmap()            - acquire video-\u003emtx\n - acquire video-\u003emtx       - copy_to/from_user(), possible page fault:\n                              acquire mmap_sem\n\nThe simplest fix is to use mutex_trylock() instead of mutex_lock() in\ndv1394_mmap().  This changes the behavior under contention in a way\nwhich is visible to userspace clients.  However, my guess is that no\nclients exist which use mmap vs. ioctl/read/write on the dv1394\ncharacter device file interface in concurrent threads.\n\nReported-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "638570b54346f140bc09b986d93e76025d35180f",
      "tree": "b3ffd423bcabe679cb5d218d9f4d2aed4a9ae50e",
      "parents": [
        "233976e539a93de1320fc7625b24076b1f9e2c9c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Oct 26 12:03:37 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Oct 31 08:48:26 2008 +0100"
      },
      "message": "ieee1394: raw1394: fix possible deadlock in multithreaded clients\n\nRegression in 2.6.28-rc1:  When I added the new state_mutex which\nprevents corruption of raw1394\u0027s internal state when accessed by\nmultithreaded client applications, the following possible though\nhighly unlikely deadlock slipped in:\n\nThread A:                  Thread B:\n - acquire mmap_sem         - raw1394_write() or raw1394_ioctl()\n - raw1394_mmap()           - acquire state_mutex\n - acquire state_mutex      - copy_to/from_user(), possible page fault:\n                              acquire mmap_sem\n\nThe simplest fix is to use mutex_trylock() instead of mutex_lock() in\nraw1394_mmap().  This changes the behavior under contention in a way\nwhich is visible to userspace clients.  However, since multithreaded\naccess was entirely buggy before state_mutex was added and libraw1394\u0027s\ndocumentation advised application programmers to use a handle only in a\nsingle thread, this change in behaviour should not be an issue in\npractice at all.\n\nSince we have to use mutex_trylock() in raw1394_mmap() regardless\nwhether /dev/raw1394 was opened with O_NONBLOCK or not, we now use\nmutex_trylock() unconditionally everywhere for state_mutex, just to have\nconsistent behavior.\n\nReported-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "233976e539a93de1320fc7625b24076b1f9e2c9c",
      "tree": "bf3acef2e40a769da268a056f5289539e14f1889",
      "parents": [
        "a1f64819fe9f136c98d572794a35a7e377c951ef"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Oct 30 01:49:20 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Oct 31 08:48:25 2008 +0100"
      },
      "message": "ieee1394: struct device - replace bus_id with dev_name(), dev_set_name()\n\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1eee21abaf54338b379b33d85b28b495292c2211",
      "tree": "f51f3e270c7e075f2844a2c5e400cfc1b9481ce3",
      "parents": [
        "9d85db2244d71fa4f2f9747a090c1920f07a8b4b",
        "be585c07dd577faac26014db4246e6d7c7a131e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 15:02:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 15:02:24 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: Add more documentation to firewire-cdev.h\n  firewire: fix ioctl() return code\n  firewire: fix setting tag and sy in iso transmission\n  firewire: fw-sbp2: fix another small generation access bug\n  firewire: fw-sbp2: enforce s/g segment size limit\n  firewire: fw_send_request_sync()\n  ieee1394: survive a few seconds connection loss\n  ieee1394: nodemgr clean up class iterators\n  ieee1394: dv1394, video1394: remove unnecessary expressions\n  ieee1394: raw1394: make write() thread-safe\n  ieee1394: raw1394: narrow down the state_mutex protected region\n  ieee1394: raw1394: replace BKL by local mutex, make ioctl() and mmap() thread-safe\n  ieee1394: sbp2: enforce s/g segment size limit\n  ieee1394: sbp2: check for DMA mapping failures\n  ieee1394: sbp2: stricter dma_sync\n  ieee1394: Use DIV_ROUND_UP\n"
    },
    {
      "commit": "6229df31b9e7919f3b3217897ae9b9dc8196eb16",
      "tree": "fe79ab60379f1ab621883c1aa9f3a79b35b550f4",
      "parents": [
        "03457cd455d042c9ee4cc47c1ed4532257980693"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 20:03:34 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:42 2008 -0700"
      },
      "message": "device create: ieee1394: convert device_create_drvdata to device_create\n\nNow that device_create() has been audited, rename things back to the\noriginal call to be sane.\n\nCc: Ben Collins \u003cben.collins@ubuntu.com\u003e\nAcked-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fc392fe83176cefbab99f9d12e6e27395aa2b5d0",
      "tree": "070fe832dff6cea485333b2572efb4c8b716a410",
      "parents": [
        "11305c3eda233d3aff52d755a2d6c1706c509962"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Aug 19 21:30:17 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 15 22:21:09 2008 +0200"
      },
      "message": "ieee1394: survive a few seconds connection loss\n\nThere are situations when nodes vanish from the bus and come back in\nquickly thereafter:\n  - When certain bus-powered hubs are plugged in,\n  - when certain disk enclosures are switched from self-power to bus\n    power or vice versa and break the daisy chain during the transition,\n  - when the user plugs a cable out and quickly plugs it back in, e.g.\n    to reorder a daisy chain (works on Mac OS X if done quickly enough),\n  - when certain hubs temporarily malfunction during high bus traffic.\n\nThe ieee1394 driver\u0027s nodemgr already contained a function to set\nvanished nodes aside into \"limbo\"; i.e. they wouldn\u0027t actually be\ndeleted right away.  (In fact, only unloading the driver or writing into\nan obscure sysfs attribute would delete them eventually.)  If nodes\nreappeared later, they would be resurrected out of limbo.\n\nMoving nodes into and out of limbo was accompanied with calling the\n.suspend() and .resume() driver methods of the drivers which were bound\nto a respective node\u0027s unit directories.  Not only is this somewhat\nstrange due to the intended use of these driver methods for power\nmanagement, also the sbp2 driver in particular does not implement\n.suspend() and .resume().  Hence sbp2 would be disconnected from devices\nin situations as listed above.\n\nWe now:\n  - leave drivers bound when nodes go into limbo,\n  - call the drivers\u0027 .update() when nodes come out of limbo,\n  - automatically delete in-limbo nodes 3 seconds after the last\n    bus reset and bus rescan.\n  - Because of the automatic removal, the now obsolete bus attribute\n    /sys/bus/ieee1394/destroy_node is removed.\n\nThis especially lets sbp2 survive brief disconnections.  You can for\nexample yank a disk\u0027s cable and plug it back in while reading the\nrespective disk with dd, but dd will happily continue as if nothing\nhappened.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "11305c3eda233d3aff52d755a2d6c1706c509962",
      "tree": "56b82e2b22bb33919c4937bef9933cd3f717ee36",
      "parents": [
        "d98562d12f71284593b3a5db020d6f2655061efe"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Aug 19 21:29:23 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 15 22:21:09 2008 +0200"
      },
      "message": "ieee1394: nodemgr clean up class iterators\n\nRemove useless pointer type casts.\nRemove unnecessary hi-\u003ehost indirection where only host is used.\nRemove an unnecessary WARN_ON.\nChange a few names.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "d98562d12f71284593b3a5db020d6f2655061efe",
      "tree": "b6ebacb0acfbc6805ce7cd2cb17d061c2d0c8e23",
      "parents": [
        "f22e52b89e036fd12b9374212da8b5d4a447bd1e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Sep 11 19:22:53 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 15 22:21:09 2008 +0200"
      },
      "message": "ieee1394: dv1394, video1394: remove unnecessary expressions\n\ninit-\u003echannel and v.buffer are unsigned and tests for \u003c 0 therefore\nalways false.  gcc knows this and eliminates the code, but anyway...\nReported by Roel Kluin.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f22e52b89e036fd12b9374212da8b5d4a447bd1e",
      "tree": "84e8cb2fca80197dc1b2afee85d2c46fd8446af0",
      "parents": [
        "ddfb908d3f905dbb5964d6fbf783e69c417eb13e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 16 00:15:16 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 15 22:21:08 2008 +0200"
      },
      "message": "ieee1394: raw1394: make write() thread-safe\n\nApplication programs should use a libraw1394 handle only in a single\nthread.  The raw1394 driver was apparently relying on this, because it\ndid nothing to protect its fi-\u003estate variable from corruption due to\nconcurrent accesses.\n\nWe now serialize the fi-\u003estate accesses.  This affects the write() path.\nWe re-use the state_mutex which was introduced to protect fi-\u003eiso_state\naccesses in the ioctl() path.  These paths and accesses are independent\nof each other, hence separate mutexes could be used.  But I don\u0027t see\nmuch benefit in that.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "ddfb908d3f905dbb5964d6fbf783e69c417eb13e",
      "tree": "9c271214e94eab002378daee5d6c8f8cbebb5762",
      "parents": [
        "10963ea1bd966ba46a46178c4d6abcdf3c23538d"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 16 17:52:04 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 15 22:21:08 2008 +0200"
      },
      "message": "ieee1394: raw1394: narrow down the state_mutex protected region\n\nRefactor the ioctl dispatcher in order to move a fraction of it out of\nthe section which is serialized by fi-\u003estate_mutex.  This is not so much\nabout performance but more about self-documentation:  The mutex_lock()/\nmutex_unlock() calls are now closer to the data accesses which the mutex\nprotects, i.e. to the iso_state switch.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "10963ea1bd966ba46a46178c4d6abcdf3c23538d",
      "tree": "d11eb5adbca18c9570c28fff4dffe0f7d4d1da1c",
      "parents": [
        "ed6ffd08084c68e9c3911e27706dec9d4c9a4175"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 16 00:11:48 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 15 22:21:08 2008 +0200"
      },
      "message": "ieee1394: raw1394: replace BKL by local mutex, make ioctl() and mmap() thread-safe\n\nThis removes the last usage of the Big Kernel Lock from the ieee1394\nstack, i.e. from raw1394\u0027s (unlocked_)ioctl and compat_ioctl.\n\nThe ioctl()s don\u0027t need to take the BKL, but they need to be serialized\nper struct file *.  In particular, accesses to -\u003eiso_state need to be\nserial.  We simply use a blocking mutex for this purpose because\nlibraw1394 does not use O_NONBLOCK.  In practice, there is no lock\ncontention anyway because most if not all libraw1394 clients use a\nlibraw1394 handle only in a single thread.\n\nmmap() also accesses -\u003eiso_state.  Until now this was unprotected\nagainst concurrent changes by ioctls.  Fix this bug while we are at it.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "ed6ffd08084c68e9c3911e27706dec9d4c9a4175",
      "tree": "e13379a355b162636c8e06a82b71c2d145de5708",
      "parents": [
        "cd8c79f17a878b01f3e83a8efd89da18ccdc7ef3"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Aug 14 09:28:14 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 15 22:21:07 2008 +0200"
      },
      "message": "ieee1394: sbp2: enforce s/g segment size limit\n\n1. We don\u0027t need to round the SBP-2 segment size limit down to a\n   multiple of 4 kB (0xffff -\u003e 0xf000).  It is only necessary to\n   ensure quadlet alignment (0xffff -\u003e 0xfffc).\n\n2. Use dma_set_max_seg_size() to tell the DMA mapping infrastructure\n   and the block IO layer about the restriction.  This way we can\n   remove the size checks and segment splitting in the queuecommand\n   path.\n\n   This assumes that no other code in the ieee1394 stack uses\n   dma_map_sg() with conflicting requirements.  It furthermore assumes\n   that the controller device\u0027s platform actually allows us to set the\n   segment size to our liking.  Assert the latter with a BUG_ON().\n\n3. Also use blk_queue_max_segment_size() to tell the block IO layer\n   about it.  It cannot know it because our scsi_add_host() does not\n   point to the FireWire controller\u0027s device.\n\nWe can also uniformly use dma_map_sg() for the single segment case just\nlike for the multi segment case, to further simplify the code.\n\nAlso clean up how the page table is converted to big endian.\n\nThanks to Grant Grundler and FUJITA Tomonori for advice.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "cd8c79f17a878b01f3e83a8efd89da18ccdc7ef3",
      "tree": "206c8c3e96fdc1876929e668d38d518f2b6a63dd",
      "parents": [
        "0a77b17c855c4ec1c87ed80e0f280095a4ee1f4f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 09 20:16:24 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 15 22:21:07 2008 +0200"
      },
      "message": "ieee1394: sbp2: check for DMA mapping failures\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "0a77b17c855c4ec1c87ed80e0f280095a4ee1f4f",
      "tree": "e5665d7f5be5b0f7200bdcb9582936ae37490727",
      "parents": [
        "68e2aa793ed55b0c1461b4ab92554bb5ad152724"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 09 20:13:00 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 15 22:21:07 2008 +0200"
      },
      "message": "ieee1394: sbp2: stricter dma_sync\n\nTwo dma_sync_single_for_cpu() were called in the wrong place.\nLuckily they were merely for DMA_TO_DEVICE, hence nobody noticed.\n\nAlso reorder the matching dma_sync_single_for_device() a little bit\nso that they reside in the same functions as their counterparts.\nThis also avoids syncing the s/g table for requests which don\u0027t use it.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "68e2aa793ed55b0c1461b4ab92554bb5ad152724",
      "tree": "608f2bf87082ee6f23d4336fa382792f7d08b117",
      "parents": [
        "3fa8749e584b55f1180411ab1b51117190bac1e5"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sat Aug 02 17:13:09 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 15 22:21:07 2008 +0200"
      },
      "message": "ieee1394: Use DIV_ROUND_UP\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a3384067fb0df9c58e112ac6a5ec9beb7d169482",
      "tree": "10000f577653a879154ee9a1eee632990980b0b8",
      "parents": [
        "c921a9745705ed62a949192ef9128c60d6c63874"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 16 13:39:26 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Aug 19 18:47:56 2008 +0200"
      },
      "message": "ieee1394: sbp2: let nodemgr retry node updates during bus reset series\n\nsbp2 was too quick to report .update() to the ieee1394 core as failed.\n(Logged as \"Failed to reconnect to sbp2 device!\".)  The core would then\nunbind sbp2 from the device.\n\nThis is not justified if the .update() failed because another bus reset\nhappened.  We check this and tell the ieee1394 that .update() succeeded,\nand the core will call sbp2\u0027s .update() for the new bus reset as well.\n\nThis improves reconnection/re-login especially on buses with several\ndisks as they may issue bus resets in close succession when they come\nonline.\n\nTested by Damien Benoist.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c921a9745705ed62a949192ef9128c60d6c63874",
      "tree": "4a26e3e65b138c413ea5c0183038b4a25ccc882c",
      "parents": [
        "6848408abf1bc18d9a4d5fed3fcca812745ece05"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 16 13:38:11 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Aug 19 18:47:55 2008 +0200"
      },
      "message": "ieee1394: don\u0027t drop nodes during bus reset series\n\nnodemgr_node_probe checked for generation increments too late and\ntherefore prematurely reported nodes as \"suspended\".\n\nFixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d11349.  Reported and\ntested by Damien Benoist.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "6848408abf1bc18d9a4d5fed3fcca812745ece05",
      "tree": "cc52f981e49461426bc747821d0c133de20d7134",
      "parents": [
        "1fca25427482387689fa27594c992a961d98768f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Aug 16 13:36:47 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Aug 19 18:47:55 2008 +0200"
      },
      "message": "ieee1394: regression in 2.6.25: updates should happen before probes\n\nRegression since commit 73cf60232ef16e1f8a64defa97214a1722db1e6c,\n\"ieee1394: use class iteration api\":  The two loops for (1.) driver\nupdates and (2.) driver probes were replaced by a single loop with\nbogus needs_probe checks.  Hence updates and probes were now intermixed,\nand especially sbp2 updates (reconnects) held up longer than necessary.\n\nWhile we fix it, change the needs_probe flag to bool type for clarity.\n\nTested by Damien Benoist.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "27ac792ca0b0a1e7e65f20342260650516c95864",
      "tree": "8e0bc93612da0803fe12303ccb75c837cd633c83",
      "parents": [
        "d92bc318547507a944a22e7ef936793dc0fe167f"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Wed Jul 23 21:28:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures\n\nOn 32-bit architectures PAGE_ALIGN() truncates 64-bit values to the 32-bit\nboundary. For example:\n\n\tu64 val \u003d PAGE_ALIGN(size);\n\nalways returns a value \u003c 4GB even if size is greater than 4GB.\n\nThe problem resides in PAGE_MASK definition (from include/asm-x86/page.h for\nexample):\n\n#define PAGE_SHIFT      12\n#define PAGE_SIZE       (_AC(1,UL) \u003c\u003c PAGE_SHIFT)\n#define PAGE_MASK       (~(PAGE_SIZE-1))\n...\n#define PAGE_ALIGN(addr)       (((addr)+PAGE_SIZE-1)\u0026PAGE_MASK)\n\nThe \"~\" is performed on a 32-bit value, so everything in \"and\" with\nPAGE_MASK greater than 4GB will be truncated to the 32-bit boundary.\nUsing the ALIGN() macro seems to be the right way, because it uses\ntypeof(addr) for the mask.\n\nAlso move the PAGE_ALIGN() definitions out of include/asm-*/page.h in\ninclude/linux/mm.h.\n\nSee also lkml discussion: http://lkml.org/lkml/2008/6/11/237\n\n[akpm@linux-foundation.org: fix drivers/media/video/uvc/uvc_queue.c]\n[akpm@linux-foundation.org: fix v850]\n[akpm@linux-foundation.org: fix powerpc]\n[akpm@linux-foundation.org: fix arm]\n[akpm@linux-foundation.org: fix mips]\n[akpm@linux-foundation.org: fix drivers/media/video/pvrusb2/pvrusb2-dvb.c]\n[akpm@linux-foundation.org: fix drivers/mtd/maps/uclinux.c]\n[akpm@linux-foundation.org: fix powerpc]\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: \u003clinux-arch@vger.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": "695794ae0c5bdd9bd06e35b118801e2e9be04f9e",
      "tree": "71011d17230e67798c6e474ffac10cb93d72919e",
      "parents": [
        "93562b537659fc0f63920fd4d9d24f54e434f4c4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 22 17:21:08 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:47 2008 -0700"
      },
      "message": "Driver Core: add ability for class_find_device to start in middle of list\n\nThis mirrors the functionality that driver_find_device has as well.\n\nWe add a start variable, and all callers of the function are fixed up at\nthe same time.\n\nThe block layer will be using this new functionality in a follow-on\npatch.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "93562b537659fc0f63920fd4d9d24f54e434f4c4",
      "tree": "6b7678f91af838f0c1fb85105b68b6c7f7e027e0",
      "parents": [
        "4e10673944a5c386378ff9d692ae37e19993f9d5"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 22 17:21:08 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:47 2008 -0700"
      },
      "message": "Driver Core: add ability for class_for_each_device to start in middle of list\n\nThis mirrors the functionality that driver_for_each_device has as well.\n\nWe add a start variable, and all callers of the function are fixed up at\nthe same time.\n\nThe block layer will be using this new functionality in a follow-on\npatch.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f71674a09f374bb0b5371b3e7b943029867477c5",
      "tree": "876b0daddad7b033cc3f91afe87c93b3180c80f1",
      "parents": [
        "6ecaaf94b831827405613ee9110d8fb8eff92482"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 21 12:52:33 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:43 2008 -0700"
      },
      "message": "device create: ieee1394: convert device_create to device_create_drvdata\n\ndevice_create() is race-prone, so use the race-free\ndevice_create_drvdata() instead as device_create() is going away.\n\nCc: Ben Collins \u003cben.collins@ubuntu.com\u003e\nAcked-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "22a37bcb7857541eb2d37806c4744ee2530baa98",
      "tree": "9b3e1a8165908ffa74b2559924ee0f18488667ba",
      "parents": [
        "849c529f57020cc47085400edd5e641d95cd4faf",
        "82f06e86117680ada35fdb76c8852268d994cd99"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 12:39:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 12:39:44 2008 -0700"
      },
      "message": "Merge branch \u0027sbp2-spindown\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027sbp2-spindown\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  ieee1394: sbp2: spin disks down on suspend and shutdown\n  firewire: fw-sbp2: spin disks down on suspend and shutdown\n  ieee1394: sbp2: fix spindown for PL-3507 and TSB42AA9 firmwares\n  firewire: fw-sbp2: fix spindown for PL-3507 and TSB42AA9 firmwares\n  scsi: sd: optionally set power condition in START STOP UNIT\n"
    },
    {
      "commit": "435f972697fcd4c424db941f0ea8f2e38eda2b39",
      "tree": "f20a6397e5299327d90b89c53a7097994fb8e7e1",
      "parents": [
        "3aea50a379ed152bcb86b24b65a4cb59be82446f"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Thu Jul 03 18:52:28 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jul 14 13:06:02 2008 +0200"
      },
      "message": "ieee1394: dump mmapped iso buffers in core files\n\nCurrently, core files do not contain the mmapped memory of the video1394\nor dv1394 devices, which contain the actual video input, making it\nimpossible to analyse the cause of abnormal program termination for\nimage analysis or (de)compression software.  Fix that.\n\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\n\nAlso affects users of the rawiso ioctl API of raw1394.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "3aea50a379ed152bcb86b24b65a4cb59be82446f",
      "tree": "910ad6bfae5f5f2240da3511d9db8411b7ece6e3",
      "parents": [
        "055a7da0bb7b14f2f5009bf1c486a6e965e1e7ac"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri May 23 11:57:41 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jul 14 13:06:02 2008 +0200"
      },
      "message": "ieee1394: raw1394: Push the BKL down into the driver ioctls\n\nActually in this case wrap the function for now.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\n\nAdded raw1394_compat_ioctl hunk.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "055a7da0bb7b14f2f5009bf1c486a6e965e1e7ac",
      "tree": "8c7fa74a6c910796cf774b0867e062ddd9919282",
      "parents": [
        "fde675fa2a1b07108976b42b20c9e69c80a53248"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon May 19 22:07:28 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jul 14 13:06:02 2008 +0200"
      },
      "message": "ieee1394: video1394: reorder module init, prepare BKL removal\n\nThis prepares video1394 for removal of the BKL (big kernel lock):\nIt allows video1394_open() to be called while video1394_init_module()\nis still in progress.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "fde675fa2a1b07108976b42b20c9e69c80a53248",
      "tree": "052e524c1de2ffb03c61ae27ba6601afb54cafa6",
      "parents": [
        "bce7f793daec3e65ec5c5705d2457b81fe7b5725"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri May 02 20:14:52 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jul 14 13:06:02 2008 +0200"
      },
      "message": "ieee1394: reduce log noise about config ROM CRC errors\n\nThis avoids redundant messages about a special and usually harmless\nfirmware flaw.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "82f06e86117680ada35fdb76c8852268d994cd99",
      "tree": "d718e5a548b86cde69bcf15e03bbff203b3a06a6",
      "parents": [
        "2635f96f9086409de0ec882a210f374c012bffc3"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun May 11 00:37:14 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jul 14 13:00:18 2008 +0200"
      },
      "message": "ieee1394: sbp2: spin disks down on suspend and shutdown\n\nThis instructs sd_mod to send START STOP UNIT on suspend and resume,\nand on driver unbinding or unloading (including when the system is shut\ndown).\n\nWe don\u0027t do this though if multiple initiators may log in to the target.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "3719122a520af2957031859317e74858ab4d3f4b",
      "tree": "a9116fbe4e7046f6a5c743390b41381da2699740",
      "parents": [
        "ffcaade3109c3a4c0a2c601cf2a44d55b4c3af37"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun May 11 00:35:55 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jul 14 13:00:18 2008 +0200"
      },
      "message": "ieee1394: sbp2: fix spindown for PL-3507 and TSB42AA9 firmwares\n\nReported by Tino Keitel:  PL-3507 with firmware from Prolific does not\nspin down the disk on START STOP UNIT with power condition \u003d 0 and start\n\u003d 0.  It does however work with power condition \u003d 2 or 3.\n\nAlso found while investigating this:  DViCO Momobay CX-1 and FX-3A (TI\nTSB42AA9/A based) become unresponsive after START STOP UNIT with power\ncondition \u003d 0 and start \u003d 0.  They stay responsive if power condition is\nset when stopping the motor.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "9499fe2b340d19ef55c349de794db9d917e7403f",
      "tree": "90bf07bd0dbc43b65dea9a2adb7c86be9e8f918a",
      "parents": [
        "a7b64b8704b03c9972b114932fdf517e06153f11"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jun 16 01:39:28 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jun 19 00:12:36 2008 +0200"
      },
      "message": "ieee1394: Kconfig menu touch-up\n\nRename and reorder some prompts and modify some help texts.\nThe result:\n\n  -------------------- IEEE 1394 (FireWire) support --------------------\n  *** Enable only one of the two stacks, unless you know what you are doing ***\n  New FireWire stack, EXPERIMENTAL\n    OHCI-1394 controllers\n    Storage devices (SBP-2 protocol)\n  Stable FireWire stack\n    OHCI-1394 controllers\n    PCILynx controller\n    Storage devices (SBP-2 protocol)\n      Enable replacement for physical DMA in SBP2\n    IP over 1394\n    raw1394 userspace interface\n    video1394 userspace interface\n    dv1394 userspace interface (deprecated)\n    Excessive debugging output\n\nThe old prompts for reference:\n\n  -------------------- IEEE 1394 (FireWire) support --------------------\n  IEEE 1394 (FireWire) support - alternative stack, EXPERIMENTAL\n    Support for OHCI FireWire host controllers\n    Support for storage devices (SBP-2 protocol driver)\n  IEEE 1394 (FireWire) support\n    *** Subsystem Options ***\n    Excessive debugging output\n    *** Controllers ***\n    Texas Instruments PCILynx support\n    OHCI-1394 support\n    *** Protocols ***\n    OHCI-1394 Video support\n    SBP-2 support (Harddisks etc.)\n      Enable replacement for physical DMA in SBP2\n    IP over 1394\n    OHCI-DV I/O support (deprecated)\n    Raw IEEE1394 I/O support\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "93c596f7d611b379302bbdd26f31acdf72f4859a",
      "tree": "bca865bc4935154ed50f2e66debc32f2f6a8dda8",
      "parents": [
        "424de91dd6163808729d7082de55c319e1096bee"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun May 04 16:54:14 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue May 20 18:24:17 2008 +0200"
      },
      "message": "ieee1394: sbp2: use correct size of command descriptor block\n\nBoaz Harrosh wrote:\n\u003e cmd-\u003ecmd_len is now guarantied to be set properly at all cases.\n\u003e And some commands you want to support will not be set correctly\n\u003e by COMMAND_SIZE().\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "886c35fbcf6fb2eee15687efc2d64d99b6ad9a4a",
      "tree": "e5e928b5197c078af184a65fd36d8428f5433683",
      "parents": [
        "6ed7b6a05dc4332c391134809387220123e82ea7",
        "f32ddaddf95d8a30be5a41cf681bc8792bc42ec7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 11:31:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 11:31:38 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: fw-sbp2: log scsi_target ID at release\n  ieee1394: fix NULL pointer dereference in sysfs access\n"
    },
    {
      "commit": "07c7224cf74c3977c69c7c9a0b0fba264f2df36a",
      "tree": "5631421f793e43e990820f33bdf6eb981f586792",
      "parents": [
        "e38649702ea64fdbbab3dd459bf8558142dd3bc4"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 01 10:43:04 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 01 19:55:23 2008 +0200"
      },
      "message": "ieee1394: fix NULL pointer dereference in sysfs access\n\nRegression since \"ieee1394: prevent device binding of raw1394,\nvideo1394, dv1394\", commit d2ace29fa44589da51fedc06a67b3f05301f3bfd:\n$ cat /sys/bus/ieee1394/drivers/raw1394/device_ids\ntriggers a NULL pointer dereference in fw_show_drv_device_ids.\nReported by Miles Lane.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nTested-by: Miles Lane \u003cmiles.lane@gmail.com\u003e\n"
    },
    {
      "commit": "5f3b28781cbc030351e2fa0712602afbea592aae",
      "tree": "1387cb2fcea6d4119cd7ad13c76e79c41d5ff4ac",
      "parents": [
        "f7ce1f5e083fc099346019fb1f8d56a5452703ed",
        "e38649702ea64fdbbab3dd459bf8558142dd3bc4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 25 12:24:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 25 12:24:06 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  ieee1394: silence defined but not used warning in non-modular builds\n  ieee1394: rawiso: requeue packet for transmission after skipped cycle\n"
    },
    {
      "commit": "e38649702ea64fdbbab3dd459bf8558142dd3bc4",
      "tree": "ce344a4a2744db7c84a7dbfa10df00f09dd3affc",
      "parents": [
        "cc9429bcb6e36e9f2c51e4e47b95740e472c4c2d"
      ],
      "author": {
        "name": "Tony Breeds",
        "email": "tony@bakeyournoodle.com",
        "time": "Thu Apr 24 09:02:04 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 25 18:15:45 2008 +0200"
      },
      "message": "ieee1394: silence defined but not used warning in non-modular builds\n\nCurrently the kernel will issue the following warning:\ndrivers/ieee1394/raw1394.c:2938: warning: \u0027raw1394_id_table\u0027 defined but not used\nAdd #ifdef MODULE guards around the declaration.\n\nSigned-off-by: Tony Breeds \u003ctony@bakeyournoodle.com\u003e\n\nDitto with dv1394_id_table and video1394_id_table.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "cc9429bcb6e36e9f2c51e4e47b95740e472c4c2d",
      "tree": "fecf2d6e8fdbe6f0dd5ee74e4b3cbe945d473c3d",
      "parents": [
        "db8be076cad4b843aa743ef462c75022cddd9c63"
      ],
      "author": {
        "name": "Pieter Palmers",
        "email": "pieterp@joow.be",
        "time": "Wed Mar 19 22:10:59 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 25 18:15:45 2008 +0200"
      },
      "message": "ieee1394: rawiso: requeue packet for transmission after skipped cycle\n\nAs it seems, some host controllers have issues that can cause them to\nskip cycles now and then when using large packets. I suspect that this\nis due to DMA not succeeding in time. If the transmit fifo can\u0027t contain\nmore than one packet (big packets), the DMA should provide a new packet\neach cycle (125us). I am under the impression that my current PCI\nexpress test system can\u0027t guarantee this.\n\nIn any case, the patch tries to provide a workaround as follows:\nThe DMA program descriptors are modified such that when an error occurs,\nthe DMA engine retries the descriptor the next cycle instead of\nstalling. This way no data is lost. The side effect of this is that\npackets are sent with one cycle delay. This however might not be that\nmuch of a problem for certain protocols (e.g. AM824). If they use\npadding packets for e.g. rate matching they can drop one of those to\nresync the streams.\n\nThe amount of skips between two userspace wakeups is counted. This\nnumber is then propagated to userspace through the upper 16 bits of the\n\u0027dropped\u0027 parameter. This allows unmodified userspace applications due\nto the following:\n1) libraw simply passes this dropped parameter to the user application\n2) the meaning of the dropped parameter is: if it\u0027s nonzero, something\nbad has happened. The actual value of the parameter at this moment does\nnot have a specific meaning.\n\nA libraw client can then retrieve the number of skipped cycles and\naccount for them if needed.\n\nSigned-off-by: Pieter Palmers \u003cpieterp@joow.be\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "6188e10d38b8d7244ee7776d5f1f88c837b4b93f",
      "tree": "6675e02c47fb684a613e10513816b5dcc5de28a9",
      "parents": [
        "d7b1acd3b524b39f418e463e836b48ac041954d6"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Apr 18 22:21:05 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:22:54 2008 -0400"
      },
      "message": "Convert asm/semaphore.h users to linux/semaphore.h\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "a6ca4f7081095e3cdeb1a45d66fbe4856eca10d3",
      "tree": "ea8b4d1d405d0e710cdc0d794993429bbb2676da",
      "parents": [
        "ee2d91e2b3e422f3f61cd7c6a58bd98a5ec72bd1"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Fri Apr 11 16:27:59 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:31 2008 +0200"
      },
      "message": "ieee1394: limit early node speed to host interface speed\n\nThe following patch limits the node speed to the host interface speed,\nbefore using it.\n\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\n\nIt should actually suffice to do this only for the local node\u0027s\nspeedcap[].  But there is another bug in the speed calculation:\nThe local node\u0027s speed is not correctly propagated to the speeds\nwhich are to be used to access remote nodes.\nhttp://thread.gmane.org/gmane.linux.kernel.firewire.devel/11772/focus\u003d12024\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "ee2d91e2b3e422f3f61cd7c6a58bd98a5ec72bd1",
      "tree": "f5611d40c458ecdc8812d4b797b4395cc5c83e37",
      "parents": [
        "9508c208aa6e0a7501d8250d4a9d35344056d573"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Thu Mar 27 10:48:37 2008 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:31 2008 +0200"
      },
      "message": "ieee1394: Remove superfluous calls to kobject_set_name().\n\nUnless you\u0027re adding a kobject to the sysfs hierarchy, there is no\npoint setting its kobject name.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "9508c208aa6e0a7501d8250d4a9d35344056d573",
      "tree": "60b65236fa656b50c33518c3a8b0b0f4f63726ae",
      "parents": [
        "c4e2e02bc96f0a1605f858df3d6d5ea70fc459fc"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Mar 24 20:53:34 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:31 2008 +0200"
      },
      "message": "ieee1394: ohci1394: missing PPC PMac feature calls in failure path\n\nThe failure path of ohci1394_pci_probe() reuses ohci1394_pci_remove().\nDoing so it missed to call ohci1394_pmac_off() in a few unlikely early\nerror cases.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c4e2e02bc96f0a1605f858df3d6d5ea70fc459fc",
      "tree": "2124aa45c5abd01cb12767f5bf19c94327242a44",
      "parents": [
        "d09c68038306442e3566366b6988a6dd83481251"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Mar 24 20:52:42 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:31 2008 +0200"
      },
      "message": "ieee1394: ohci1394: refactor some printk format strings\n\nto reduce the size of ohci1394.ko.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "d09c68038306442e3566366b6988a6dd83481251",
      "tree": "1effe6065feb07c458e337a8fa0f06c49da24b32",
      "parents": [
        "e351c4d069254b1267b66a3b101ece7547178485"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Mar 24 20:49:01 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:30 2008 +0200"
      },
      "message": "ieee1394: ohci1394: unroll a macro with return\n\nWe don\u0027t want to hide something like return in a preprocessor macro.\nUnroll the macro and use a goto, which also reduces the size of\nohci1394.ko.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "e351c4d069254b1267b66a3b101ece7547178485",
      "tree": "904759b4d4ccfef945959930665d50cd9362c810",
      "parents": [
        "b1ce1fd778997b3313599a2561bcbd42a34bfb56"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Sun Mar 23 10:15:28 2008 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:30 2008 +0200"
      },
      "message": "ieee1394: Use shorter list_splice_init() for brevity.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b1ce1fd778997b3313599a2561bcbd42a34bfb56",
      "tree": "b0d2cded8d66b810e2da31ed49a1479d812508a7",
      "parents": [
        "b25d166616ea30adedee70d99c40ba82d126d7cb"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Mar 05 18:24:54 2008 -0800"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:30 2008 +0200"
      },
      "message": "ieee1394: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b25d166616ea30adedee70d99c40ba82d126d7cb",
      "tree": "e9729780e2dd075638ad6fd769de92e9015729d6",
      "parents": [
        "38275ac36d60882db750d6301ef507881b4c8420"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Mar 01 12:36:42 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:30 2008 +0200"
      },
      "message": "ieee1394: ohci1394: refactor probe, remove, suspend, resume\n\nClean up shared code and variable names.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "38275ac36d60882db750d6301ef507881b4c8420",
      "tree": "bef08ba7865fdc5e9e218b6cce231fd897dafdbf",
      "parents": [
        "d2ace29fa44589da51fedc06a67b3f05301f3bfd"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Mar 01 12:36:06 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:30 2008 +0200"
      },
      "message": "ieee1394: ohci1394: switch on bus power after resume on PPC PMac\n\nThe platform feature calls in the suspend method switched off cable\npower, but the calls in the resume method did not switch it back on.\n\nAdd the necessary feature call to .resume.  Also add the corresponding\ncall to .suspend to make .suspend\u0027s behavior explicitly the same on all\nPMacs.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "d2ace29fa44589da51fedc06a67b3f05301f3bfd",
      "tree": "3790d77128ba48194af5ca667ba304d3047c1363",
      "parents": [
        "63995d46506a774f5ddd6b51c017d42c3fbfaedb"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Feb 18 21:11:07 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:29 2008 +0200"
      },
      "message": "ieee1394: prevent device binding of raw1394, video1394, dv1394\n\nThese drivers don\u0027t need to match any unit_directory type device.\nThey just need the id_table for module autoloading per module alias.\n\nNot binding any of these drivers allows special-purpose drivers with\nsimilar or same IDs to bind to devices.  This currently only benefits\nout-of-tree drivers; on the other hand it is in no way detrimental to\nin-tree drivers.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "63995d46506a774f5ddd6b51c017d42c3fbfaedb",
      "tree": "7749ca9cce51893aec744d48b3be09ab6813adcc",
      "parents": [
        "a4b47d62c5018e81e2b8ee9843d8a8268e886d25"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Wed Feb 13 00:06:07 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:29 2008 +0200"
      },
      "message": "ieee1394: be*_add_cpu conversion\n\nreplace all:\nbig_endian_variable \u003d cpu_to_beX(beX_to_cpu(big_endian_variable) +\n\t\t\t\t\texpression_in_cpu_byteorder);\nwith:\n\tbeX_add_cpu(\u0026big_endian_variable, expression_in_cpu_byteorder);\ngenerated with semantic patch\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a4b47d62c5018e81e2b8ee9843d8a8268e886d25",
      "tree": "c07ce7fcc9c1cd06df8673d88bccfdde67beef19",
      "parents": [
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 27 22:32:22 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Apr 18 17:55:29 2008 +0200"
      },
      "message": "ieee1394: sbp2: relax SCSI DMA alignment\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "6e45ef4c7aeefbf97df748866cd1b24f73b86160",
      "tree": "3a7b957448b58c3802d20bbac459c4f9a9cd29d8",
      "parents": [
        "2aa9ff7fc5bc41d4b77c2da02086259a86f3d472"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Mar 11 22:32:52 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Mar 14 00:56:59 2008 +0100"
      },
      "message": "ieee1394: sbp2: fix for SYM13FW500 bridge (Datafab disk)\n\nFix I/O errors due to SYM13FW500\u0027s inability to handle larger request\nsizes.  Reported by Piergiorgio Sartor \u003cpiergiorgio.sartor@nexgo.de\u003e for\nfirewire-sbp2 in https://bugzilla.redhat.com/show_bug.cgi?id\u003d436879\n\nThis fix is necessary because sbp2\u0027s default request size limit has been\nlifted since 2.6.25-rc1.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "ef774c16a744f130f27c654bf9c4806e767fc773",
      "tree": "f9a4b9897d46cfeb0d21901ca9f7e5b9e093382b",
      "parents": [
        "33f1c6c3529f5f279e2e98e5cca0c5bac152153b"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 17 14:57:10 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Feb 19 19:57:24 2008 +0100"
      },
      "message": "ieee1394: sbp2: fix rescan-scsi-bus\n\nrescan-scsi-bus used to add SBP-2 targets which weren\u0027t there.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "d94a983526cb868658c958ab689410dc1c6a31f3",
      "tree": "b8641cfddbe19e2dc54abdb52c12184d1d22496a",
      "parents": [
        "9220f1946209a5b3335ea2d28f8462695885791b"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Feb 03 23:07:44 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 16 15:40:34 2008 +0100"
      },
      "message": "ieee1394: sbp2: add INQUIRY delay workaround\n\nAdd the same workaround as found in fw-sbp2 for feature parity and\ncompatibility of the workarounds module parameter.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "5fcf500058d5f06720302c5ce138c7bca93f7655",
      "tree": "f2b6a642ade1c241ba32cb30cdedc7e89abaebce",
      "parents": [
        "384170da9384b7bb3650c0c9b9d17ba0f7bde4ff"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Feb 01 22:31:10 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Feb 02 13:48:16 2008 +0100"
      },
      "message": "ieee1394: sbp2: fix bogus s/g access change\n\nsg_dma_len(sg) is invalid before the s/g list is DMA-mapped.\n\nThis fixes a post 2.6.24 regression which prevents access to SBP-2\ndevices on several architectures, introduced by \"ieee1394: sbp2: s/g\nlist access cosmetics\", commit 825f1df545ab0289185373b0eaf06fb0b3487422.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "85c5798b09e9248f29edbc42f10b99842661e85c",
      "tree": "061993f037fc6122fae5efe5729613e15f9eba76",
      "parents": [
        "4e6343a10b6afb5b036db35c4a0f0aa1333232e1"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 16 20:53:13 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:21 2008 +0100"
      },
      "message": "ieee1394: ohci1394: don\u0027t schedule IT tasklets on IR events\n\nBug noted by Pieter Palmers:  Isochronous transmit tasklets were\nscheduled on isochronous receive events, in addition to the proper\nisochronous receive tasklets.\n\nhttp://marc.info/?l\u003dlinux1394-devel\u0026m\u003d119783196222802\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "4e6343a10b6afb5b036db35c4a0f0aa1333232e1",
      "tree": "3c519551bad718cc1006d570e43a2f51a6befd1d",
      "parents": [
        "3e75b493fbfad5d70831a2f7267c7cd8b8fec71f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 16 17:31:26 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:21 2008 +0100"
      },
      "message": "ieee1394: sbp2: raise default transfer size limit\n\nThis patch speeds up sbp2 a little bit --- but more importantly, it\nbrings the behavior of sbp2 and fw-sbp2 closer to each other.  Like\nfw-sbp2, sbp2 now does not limit the size of single transfers to 255\nsectors anymore, unless told so by a blacklist flag or by module load\nparameters.\n\nOnly very old bridge chips have been known to need the 255 sectors\nlimit, and we have got one such chip in our hardwired blacklist.  There\ncertainly is a danger that more bridges need that limit; but I prefer to\nhave this issue present in both fw-sbp2 and sbp2 rather than just one of\nthem.\n\nAn OXUF922 with 400GB 7200RPM disk on an S400 controller is sped up by\nthis patch from 22.9 to 23.5 MB/s according to hdparm.  The same effect\ncould be achieved before by setting a higher max_sectors module\nparameter.  On buses which use 1394b beta mode, sbp2 and fw-sbp2 will\nnow achieve virtually the same bandwidth.  Fw-sbp2 only remains faster\non 1394a buses due to fw-core\u0027s gap count optimization.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "3e75b493fbfad5d70831a2f7267c7cd8b8fec71f",
      "tree": "665b57a7f7a1b95aa96cf53d7b1354712ed41e3c",
      "parents": [
        "c7ea990f87f9fbe6a7183c03f7993b3360454834"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Dec 15 14:11:41 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:20 2008 +0100"
      },
      "message": "ieee1394: remove unused code\n\nThe code has been in \"#if 0 - #endif\" since Linux 2.6.12.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c7ea990f87f9fbe6a7183c03f7993b3360454834",
      "tree": "ed8af5fe802271b174aed630d79ea949c0684574",
      "parents": [
        "61db81214bcef33a41325bdc436fb515b697fcdb"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Dec 15 14:04:42 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:20 2008 +0100"
      },
      "message": "ieee1394: small cleanup after \"nopage\"\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "61db81214bcef33a41325bdc436fb515b697fcdb",
      "tree": "2fe5ccd927df30c1d9253a2ee2db159e943bb621",
      "parents": [
        "a5c52df8bce65971b8db95149ebc1c5f1026af45"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Dec 05 18:15:53 2007 +1100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:19 2008 +0100"
      },
      "message": "ieee1394: nopage\n\nConvert ieee1394 from nopage to fault.\nRemove redundant vma range checks (correct resource range check is retained).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a5c52df8bce65971b8db95149ebc1c5f1026af45",
      "tree": "ef56b74bf69976a72f0b1eb4c388e0be5411955f",
      "parents": [
        "825f1df545ab0289185373b0eaf06fb0b3487422"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Nov 19 17:48:10 2007 -0800"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:19 2008 +0100"
      },
      "message": "ieee1394: Add missing \"space\"\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "825f1df545ab0289185373b0eaf06fb0b3487422",
      "tree": "5cca3e02c0abe05dbca680a2cbe645ab9bd2d2d2",
      "parents": [
        "8c4ac0949f7779cd4cc8c618f1b07e6113682010"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Nov 04 14:59:24 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:19 2008 +0100"
      },
      "message": "ieee1394: sbp2: s/g list access cosmetics\n\nReplace sg-\u003elength by sg_dma_len(sg).  Rename a variable for shorter\nline lengths and eliminate some superfluous local variables.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "8c4ac0949f7779cd4cc8c618f1b07e6113682010",
      "tree": "be26b46bbe05f551d3ea0fdff2ae79edd7791dff",
      "parents": [
        "dd430ca20c40ecccd6954a7efd13d4398f507728"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jan 15 21:11:28 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:18 2008 +0100"
      },
      "message": "ieee1394: sbp2: prepare for s/g chaining\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f212ec4b7b4d84290f12c9c0416cdea283bf5f40",
      "tree": "9beb7e5b87bac80410767fd3aacd93f92ecb0c04",
      "parents": [
        "6194ba6ff6ccf8d5c54c857600843c67aa82c407"
      ],
      "author": {
        "name": "Bernhard Kaindl",
        "email": "bk@suse.de",
        "time": "Wed Jan 30 13:34:11 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:34:11 2008 +0100"
      },
      "message": "x86: early boot debugging via FireWire (ohci1394_dma\u003dearly)\n\nThis patch adds a new configuration option, which adds support for a new\nearly_param which gets checked in arch/x86/kernel/setup_{32,64}.c:setup_arch()\nto decide wether OHCI-1394 FireWire controllers should be initialized and\nenabled for physical DMA access to allow remote debugging of early problems\nlike issues ACPI or other subsystems which are executed very early.\n\nIf the config option is not enabled, no code is changed, and if the boot\nparamenter is not given, no new code is executed, and independent of that,\nall new code is freed after boot, so the config option can be even enabled\nin standard, non-debug kernels.\n\nWith specialized tools, it is then possible to get debugging information\nfrom machines which have no serial ports (notebooks) such as the printk\nbuffer contents, or any data which can be referenced from global pointers,\nif it is stored below the 4GB limit and even memory dumps of of the physical\nRAM region below the 4GB limit can be taken without any cooperation from the\nCPU of the host, so the machine can be crashed early, it does not matter.\n\nIn the extreme, even kernel debuggers can be accessed in this way. I wrote\na small kgdb module and an accompanying gdb stub for FireWire which allows\nto gdb to talk to kgdb using remote remory reads and writes over FireWire.\n\nAn version of the gdb stub fore FireWire is able to read all global data\nfrom a system which is running a a normal kernel without any kernel debugger,\nwithout any interruption or support of the system\u0027s CPU. That way, e.g. the\ntask struct and so on can be read and even manipulated when the physical DMA\naccess is granted.\n\nA HOWTO is included in this patch, in Documentation/debugging-via-ohci1394.txt\nand I\u0027ve put a copy online at\nftp://ftp.suse.de/private/bk/firewire/docs/debugging-via-ohci1394.txt\n\nIt also has links to all the tools which are available to make use of it\nanother copy of it is online at:\nftp://ftp.suse.de/private/bk/firewire/kernel/ohci1394_dma_early-v2.diff\n\nSigned-Off-By: Bernhard Kaindl \u003cbk@suse.de\u003e\nTested-By: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9b73e76f3cf63379dcf45fcd4f112f5812418d0a",
      "tree": "4e6bef87cd0cd6d848fc39a5ae25b981dbbe035b",
      "parents": [
        "50d9a126240f9961cfdd063336bbeb91f77a7dce",
        "23c3e290fb9ce38cabc2822b47583fc8702411bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (200 commits)\n  [SCSI] usbstorage: use last_sector_bug flag universally\n  [SCSI] libsas: abstract STP task status into a function\n  [SCSI] ultrastor: clean up inline asm warnings\n  [SCSI] aic7xxx: fix firmware build\n  [SCSI] aacraid: fib context lock for management ioctls\n  [SCSI] ch: remove forward declarations\n  [SCSI] ch: fix device minor number management bug\n  [SCSI] ch: handle class_device_create failure properly\n  [SCSI] NCR5380: fix section mismatch\n  [SCSI] sg: fix /proc/scsi/sg/devices when no SCSI devices\n  [SCSI] IB/iSER: add logical unit reset support\n  [SCSI] don\u0027t use __GFP_DMA for sense buffers if not required\n  [SCSI] use dynamically allocated sense buffer\n  [SCSI] scsi.h: add macro for enclosure bit of inquiry data\n  [SCSI] sd: add fix for devices with last sector access problems\n  [SCSI] fix pcmcia compile problem\n  [SCSI] aacraid: add Voodoo Lite class of cards.\n  [SCSI] aacraid: add new driver features flags\n  [SCSI] qla2xxx: Update version number to 8.02.00-k7.\n  [SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command.\n  ...\n"
    },
    {
      "commit": "73cf60232ef16e1f8a64defa97214a1722db1e6c",
      "tree": "e82d8fea43a2f2073e4b4287ba8bcc9cc74e956f",
      "parents": [
        "fd04897bb20be29d60f7e426a053545aebeaa61a"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Jan 22 13:56:32 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:44 2008 -0800"
      },
      "message": "ieee1394: use class iteration api\n\nConvert to use the class iteration api.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "465ff3185e0cb76d46137335a4d21d0d9d3ac8a2",
      "tree": "171068cd7d99600cd094c2eb72bac712649fd9eb",
      "parents": [
        "11c3e689f1c3a73e3af7b0ea767b1b0626da8033"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Jan 01 10:00:10 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:29:22 2008 -0600"
      },
      "message": "[SCSI] relax scsi dma alignment\n\nThis patch relaxes the default SCSI DMA alignment from 512 bytes to 4\nbytes.  I remember from previous discussions that usb and firewire have\nsector size alignment requirements, so I upped their alignments in the\nrespective slave allocs.\n\nThe reason for doing this is so that we don\u0027t get such a huge amount of\ncopy overhead in bio_copy_user() for udev.  (basically all inquiries it\nissues can now be directly mapped).\n\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "9e66269d40229cd9823024120910a43af57a9d72",
      "tree": "58d34526f660d8c25504ff9c7393a3be69df5338",
      "parents": [
        "b4f555081fdd27d13e6ff39d455d5aefae9d2c0c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Nov 04 09:44:56 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Nov 04 14:31:16 2007 +0100"
      },
      "message": "ieee1394: iso and async streams: s/g list fix\n\nTorsten Kaiser wrote:\n\u003e Looking that calltrace upwards, it seems replacing the\n\u003e memset(dma-\u003esglist,...) with sg_init_table(...) would fix the BUG_ON()\n\u003e as that inits the SG_MAGIC.\n\nTested-by: Torsten Kaiser \u003cjust.for.lkml@googlemail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "87ae9afdcada236d0a1b38ce2c465a65916961dc",
      "tree": "c885e589ff66daf4f860b19818228edb75b29530",
      "parents": [
        "013fb33972061ac65cdf3e1771267985e59deca1"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Oct 30 10:35:04 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Fri Nov 02 08:47:06 2007 +0100"
      },
      "message": "cleanup asm/scatterlist.h includes\n\nNot architecture specific code should not #include \u003casm/scatterlist.h\u003e.\n\nThis patch therefore either replaces them with\n#include \u003clinux/scatterlist.h\u003e or simply removes them if they were\nunused.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2ed45b07c957e37db88d7d3696b63eb79b0ef5ef",
      "tree": "dcb74cd8583bf7f35da7c365d475da3a03346acd",
      "parents": [
        "0bd243c4d93583cd8e1786c0bd6982f6f9f94ab6"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Oct 28 16:51:32 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 31 19:02:19 2007 +0100"
      },
      "message": "ieee1394: ieee1394_transactions.c: remove dead code\n\nThis patch removes dead code spotted by the Intel C Compiler.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "642f149031d70415d9318b919d50b71e4724adbd",
      "tree": "e792ad29dedffc6756d55e9d63e18ada35515b4b",
      "parents": [
        "bd6dee6f30a0f6943df190b387b5f8fe98a848f3"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 24 11:20:47 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 24 11:20:47 2007 +0200"
      },
      "message": "SG: Change sg_set_page() to take length and offset argument\n\nMost drivers need to set length and offset as well, so may as well fold\nthose three lines into one.\n\nAdd sg_assign_page() for those two locations that only needed to set\nthe page, where the offset/length is set outside of the function context.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "117636092a87a28a013a4acb5de5492645ed620f",
      "tree": "6d91fa6bd7bf6d0e1671141d338028a17679e607",
      "parents": [
        "891039a9c2ddf73754ad84cdc9d030f1c6431858"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Oct 23 20:42:11 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 23 12:02:39 2007 -0700"
      },
      "message": "[PATCH] Fix breakage after SG cleanups\n\nCommits\n\n  58b053e4ce9d2fc3023645c1b96e537c72aa8d9a (\"Update arch/ to use sg helpers\")\n  45711f1af6eff1a6d010703b4862e0d2b9afd056 (\"[SG] Update drivers to use sg helpers\")\n  fa05f1286be25a8ce915c5dd492aea61126b3f33 (\"Update net/ to use sg helpers\")\n\nconverted many files to use the scatter gather helpers without ensuring\nthat the necessary headerfile \u003clinux/scatterlist\u003e is included.  This\nhappened to work for ia64, powerpc, sparc64 and x86 because they\nhappened to drag in that file via their \u003casm/dma-mapping.h\u003e.\n\nOn most of the others this probably broke.\n\nInstead of increasing the header file spider web I choose to include\n\u003clinux/scatterlist.h\u003e directly into the affectes files.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45711f1af6eff1a6d010703b4862e0d2b9afd056",
      "tree": "3d0048f46e3df9d217d56127462ebe680348bd5a",
      "parents": [
        "78c2f0b8c285c5305b3e67b0595200541e15eb43"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 21:19:53 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 21:19:53 2007 +0200"
      },
      "message": "[SG] Update drivers to use sg helpers\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "002a98f14720f90b107e8c44b7733f9bd5dff728",
      "tree": "f3ad6bfa95c8a5ae035633b47e4a22daf8b156a8",
      "parents": [
        "17a19b795e9187d65b6e45cb22797725d50f7edb"
      ],
      "author": {
        "name": "Matthias Kaehlcke",
        "email": "matthias.kaehlcke@gmail.com",
        "time": "Fri Oct 12 19:57:23 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Oct 16 23:59:59 2007 +0200"
      },
      "message": "ieee1394: ieee1394_core.c: use DEFINE_SPINLOCK for spinlock definition\n\ndrivers/ieee1394/ieee1394_core.c: Define spinlock using\nDEFINE_SPINLOCK instead of assignment to SPIN_LOCK_UNLOCKED\n\nSigned-off-by: Matthias Kaehlcke \u003cmatthias.kaehlcke@gmail.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "17a19b795e9187d65b6e45cb22797725d50f7edb",
      "tree": "60db3734335f3956378063c2f8126c036b83bfed",
      "parents": [
        "638d5bb8167c2c88552257d5af23f7f65ab4defd"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 15 14:50:25 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Oct 16 23:59:59 2007 +0200"
      },
      "message": "ieee1394: csr1212: proper refcounting\n\nAt least since nodemgr got rid of coarse global locking, accesses to\nstruct csr1212_keyval\u0027s reference counter should be atomic and coupled\nwith proper barriers.  Also, calls to csr1212_keep_keyval(kv) should\noccur before kv is being used.\n\n(We probably should convert refcnt to struct kref, but how to keep\ncsr1212_destroy_keyval\u0027s implementation non-recursively then?)\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "638d5bb8167c2c88552257d5af23f7f65ab4defd",
      "tree": "736f9e4fab8d5c086a889dadebe7d6d02f4bf0a5",
      "parents": [
        "745647e7a2ae399f7f70aca47827e62c99c893b5"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 15 14:45:53 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Oct 16 23:59:58 2007 +0200"
      },
      "message": "ieee1394: nodemgr: fix leak of struct csr1212_keyval\n\ncsr1212_keep_keyval(kv) in nodemgr_process_root_directory was\nunbalanced if ne-\u003evendor_name_kv already exists.  This happens for\nexample if eth1394 or raw1394 modify the local config ROM and it is\nparsed again.\n\nAs a bonus, the attempt to add the vendor_name_kv sysfs attribute\nwhen it already exists is now fixed for good.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "745647e7a2ae399f7f70aca47827e62c99c893b5",
      "tree": "7e92190d03ba5ce43baee0c9de1fb34dd7182d7c",
      "parents": [
        "69e2b602966533256edce1ed1b24fec23fe05962"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Sep 08 14:09:19 2007 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Oct 16 23:59:57 2007 +0200"
      },
      "message": "ieee1394: pcilynx: I2C cleanups\n\n* Delete optional and empty i2c client_register and client_unregister\n  callbacks.\n* Use the proper i2c adapter ID.\n* Don\u0027t use a template to initialize the i2c_adapter structure, it\u0027s\n  inefficient.\n* Update a misleading comment on why we use i2c_transfer rather than\n  higher level i2c functions.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    }
  ],
  "next": "69e2b602966533256edce1ed1b24fec23fe05962"
}
