)]}'
{
  "commit": "766b8a7f7ee006dfd73dbc676addd80f7dbe86ef",
  "tree": "818c4c1709838ac321940e68624ec6d0228b9db1",
  "parents": [
    "0d5b25f934978301b2a1385c72f3b6abe04db484"
  ],
  "author": {
    "name": "Clemens Ladisch",
    "email": "clemens@ladisch.de",
    "time": "Sat Dec 03 23:41:31 2011 +0100"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@suse.de",
    "time": "Thu Jan 12 11:35:25 2012 -0800"
  },
  "message": "usb: fix number of mapped SG DMA entries\n\ncommit bc677d5b64644c399cd3db6a905453e611f402ab upstream.\n\nAdd a new field num_mapped_sgs to struct urb so that we have a place to\nstore the number of mapped entries and can also retain the original\nvalue of entries in num_sgs.  Previously, usb_hcd_map_urb_for_dma()\nwould overwrite this with the number of mapped entries, which would\nbreak dma_unmap_sg() because it requires the original number of entries.\n\nThis fixes warnings like the following when using USB storage devices:\n ------------[ cut here ]------------\n WARNING: at lib/dma-debug.c:902 check_unmap+0x4e4/0x695()\n ehci_hcd 0000:00:12.2: DMA-API: device driver frees DMA sg list with different entry count [map count\u003d4] [unmap count\u003d1]\n Modules linked in: ohci_hcd ehci_hcd\n Pid: 0, comm: kworker/0:1 Not tainted 3.2.0-rc2+ #319\n Call Trace:\n  \u003cIRQ\u003e  [\u003cffffffff81036d3b\u003e] warn_slowpath_common+0x80/0x98\n  [\u003cffffffff81036de7\u003e] warn_slowpath_fmt+0x41/0x43\n  [\u003cffffffff811fa5ae\u003e] check_unmap+0x4e4/0x695\n  [\u003cffffffff8105e92c\u003e] ? trace_hardirqs_off+0xd/0xf\n  [\u003cffffffff8147208b\u003e] ? _raw_spin_unlock_irqrestore+0x33/0x50\n  [\u003cffffffff811fa84a\u003e] debug_dma_unmap_sg+0xeb/0x117\n  [\u003cffffffff8137b02f\u003e] usb_hcd_unmap_urb_for_dma+0x71/0x188\n  [\u003cffffffff8137b166\u003e] unmap_urb_for_dma+0x20/0x22\n  [\u003cffffffff8137b1c5\u003e] usb_hcd_giveback_urb+0x5d/0xc0\n  [\u003cffffffffa0000d02\u003e] ehci_urb_done+0xf7/0x10c [ehci_hcd]\n  [\u003cffffffffa0001140\u003e] qh_completions+0x429/0x4bd [ehci_hcd]\n  [\u003cffffffffa000340a\u003e] ehci_work+0x95/0x9c0 [ehci_hcd]\n  ...\n ---[ end trace f29ac88a5a48c580 ]---\n Mapped at:\n  [\u003cffffffff811faac4\u003e] debug_dma_map_sg+0x45/0x139\n  [\u003cffffffff8137bc0b\u003e] usb_hcd_map_urb_for_dma+0x22e/0x478\n  [\u003cffffffff8137c494\u003e] usb_hcd_submit_urb+0x63f/0x6fa\n  [\u003cffffffff8137d01c\u003e] usb_submit_urb+0x2c7/0x2de\n  [\u003cffffffff8137dcd4\u003e] usb_sg_wait+0x55/0x161\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "39ea00bfb9c4dc0582e224b3a72270d27e11f23b",
      "old_mode": 33188,
      "old_path": "drivers/usb/core/hcd.c",
      "new_id": "691d212cac4979ecb2e881ebb5fbe83144723e64",
      "new_mode": 33188,
      "new_path": "drivers/usb/core/hcd.c"
    },
    {
      "type": "modify",
      "old_id": "0917e3a32465064903dd884cc2c258baadadc0f2",
      "old_mode": 33188,
      "old_path": "drivers/usb/host/ehci-q.c",
      "new_id": "2499b3bce360101b9cc91745ee8bde707961681f",
      "new_mode": 33188,
      "new_path": "drivers/usb/host/ehci-q.c"
    },
    {
      "type": "modify",
      "old_id": "84ed28b34f934d86ecef647d73580309baf3f2b8",
      "old_mode": 33188,
      "old_path": "drivers/usb/host/uhci-q.c",
      "new_id": "82539913ad847d1e007662a5b665daf0927b524c",
      "new_mode": 33188,
      "new_path": "drivers/usb/host/uhci-q.c"
    },
    {
      "type": "modify",
      "old_id": "a403b53e86b9fd3dcc742b9da5759330fbc4d212",
      "old_mode": 33188,
      "old_path": "drivers/usb/host/whci/qset.c",
      "new_id": "76083ae9213800cf48ecc1fa2208def7c1cf4542",
      "new_mode": 33188,
      "new_path": "drivers/usb/host/whci/qset.c"
    },
    {
      "type": "modify",
      "old_id": "b4b06910f68450e773f6a9ac53368634138902f1",
      "old_mode": 33188,
      "old_path": "drivers/usb/host/xhci-ring.c",
      "new_id": "c0c5d6c7cb692627beb640b4201dc8771b7c7793",
      "new_mode": 33188,
      "new_path": "drivers/usb/host/xhci-ring.c"
    },
    {
      "type": "modify",
      "old_id": "73c7df4896074219ad76daee5e9eb0ba6e1a1976",
      "old_mode": 33188,
      "old_path": "include/linux/usb.h",
      "new_id": "b08e04cf202b44b23be1b21791b11a65169cb18c",
      "new_mode": 33188,
      "new_path": "include/linux/usb.h"
    }
  ]
}
