)]}'
{
  "commit": "07fe0351702b6f0c9749e80cdbcb758686b0fe9b",
  "tree": "49abac1907bae4be949696e806fbe0626e138d8f",
  "parents": [
    "735759389b7143f95ae7badc97511e7e4729e873"
  ],
  "author": {
    "name": "Russell King - ARM Linux",
    "email": "linux@arm.linux.org.uk",
    "time": "Fri Jan 07 15:49:20 2011 +0000"
  },
  "committer": {
    "name": "Grant Likely",
    "email": "grant.likely@secretlab.ca",
    "time": "Fri Jan 07 13:44:24 2011 -0700"
  },
  "message": "spi/omap: Fix DMA API usage in OMAP MCSPI driver\n\nRunning the latest kernel on the 4430SDP board with DMA API debugging\nenabled results in this:\n\nWARNING: at lib/dma-debug.c:803 check_unmap+0x19c/0x6f0()\nNULL NULL: DMA-API: device driver tries to free DMA memory it has not allocated\n[device address\u003d0x000000008129901a] [size\u003d260 bytes]\nModules linked in:\nBacktrace:\n[\u003cc003cbe0\u003e] (dump_backtrace+0x0/0x10c) from [\u003cc0278da8\u003e] (dump_stack+0x18/0x1c)\n r7:c1839dc0 r6:c0198578 r5:c0304b17 r4:00000323\n[\u003cc0278d90\u003e] (dump_stack+0x0/0x1c) from [\u003cc005b158\u003e] (warn_slowpath_common+0x58/0x70)\n[\u003cc005b100\u003e] (warn_slowpath_common+0x0/0x70) from [\u003cc005b214\u003e] (warn_slowpath_fmt+0x38/0x40)\n r8:c1839e40 r7:00000000 r6:00000104 r5:00000000 r4:8129901a\n[\u003cc005b1dc\u003e] (warn_slowpath_fmt+0x0/0x40) from [\u003cc0198578\u003e] (check_unmap+0x19c/0x6f0)\n r3:c03110de r2:c0304e6b\n[\u003cc01983dc\u003e] (check_unmap+0x0/0x6f0) from [\u003cc0198cd8\u003e] (debug_dma_unmap_page+0x74/0x80)\n[\u003cc0198c64\u003e] (debug_dma_unmap_page+0x0/0x80) from [\u003cc01d5ad8\u003e] (omap2_mcspi_work+0x514/0xbf0)\n[\u003cc01d55c4\u003e] (omap2_mcspi_work+0x0/0xbf0) from [\u003cc006dfb0\u003e] (process_one_work+0x294/0x400)\n[\u003cc006dd1c\u003e] (process_one_work+0x0/0x400) from [\u003cc006e50c\u003e] (worker_thread+0x220/0x3f8)\n[\u003cc006e2ec\u003e] (worker_thread+0x0/0x3f8) from [\u003cc00738d0\u003e] (kthread+0x88/0x90)\n[\u003cc0073848\u003e] (kthread+0x0/0x90) from [\u003cc005e924\u003e] (do_exit+0x0/0x5fc)\n r7:00000013 r6:c005e924 r5:c0073848 r4:c1829ee0\n---[ end trace 1b75b31a2719ed20 ]---\n\nI\u0027ve no idea why this driver uses NULL for dma_unmap_single instead of\nthe \u0026spi-\u003edev that is laying around just waiting to be used in that\nfunction - but it\u0027s an easy fix.\n\nAlso replace this comment with a FIXME comment:\n                /* Do DMA mapping \"early\" for better error reporting and\n                 * dcache use.  Note that if dma_unmap_single() ever starts\n                 * to do real work on ARM, we\u0027d need to clean up mappings\n                 * for previous transfers on *ALL* exits of this loop...\n                 */\nas the comment is not true - we do work in dma_unmap() functions,\nparticularly on ARMv6 and above.  I\u0027ve corrected the existing unmap\nfunctions but if any others are required they must be added ASAP.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2a651e61bfbff30f23e8e44dddfcb70ab8a05173",
      "old_mode": 33188,
      "old_path": "drivers/spi/omap2_mcspi.c",
      "new_id": "df85990bb3353a34b189dfca2e5d15d4b8b0039c",
      "new_mode": 33188,
      "new_path": "drivers/spi/omap2_mcspi.c"
    }
  ]
}
