)]}'
{
  "log": [
    {
      "commit": "51feb98d2547a389be2f666514f5bcd658f79eab",
      "tree": "bd3d3eb486a0008340afd5807d9d2db12ec3b7b3",
      "parents": [
        "8f8f013478133eb98e35e1d669c98c5e39d769c7",
        "dc7520c17982ca4232233d2781e5cde29e58fbad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 13 10:23:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 13 10:23:03 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (48 commits)\n  USB: otg: fix module reinsert issue\n  USB: handle zero-length usbfs submissions correctly\n  USB: EHCI: report actual_length for iso transfers\n  USB: option: remove unnecessary and erroneous code\n  USB: cypress_m8: remove invalid Clear-Halt\n  USB: musb_host: undo incorrect change in musb_advance_schedule()\n  USB: fix LANGID\u003d0 regression\n  USB: serial: sierra driver id_table additions\n  USB serial: Add ID for Turtelizer, an FT2232L-based JTAG/RS-232 adapter.\n  USB: fix race leading to a write after kfree in usbfs\n  USB: Sierra: fix oops upon device close\n  USB: option.c: add A-Link 3GU device id\n  USB: Serial: Add support for Arkham Technology adapters\n  USB: Fix option_ms regression in 2.6.31-rc2\n  USB: gadget audio: select SND_PCM\n  USB: ftdi: support NDI devices\n  Revert USB: usbfs: deprecate and hide option for !embedded\n  USB: usb.h: fix kernel-doc notation\n  USB: RNDIS gadget, fix issues talking from PXA\n  USB: serial: FTDI with product code FB80 and vendor id 0403\n  ...\n"
    },
    {
      "commit": "dc7520c17982ca4232233d2781e5cde29e58fbad",
      "tree": "af18840e3bfa282f82e398b2cd0aa09c4c978cec",
      "parents": [
        "9180135bc80ab11199d482b6111e23f74d65af4a"
      ],
      "author": {
        "name": "Ajay Kumar Gupta",
        "email": "ajay.gupta@ti.com",
        "time": "Fri Jul 03 13:18:45 2009 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:41 2009 -0700"
      },
      "message": "USB: otg: fix module reinsert issue\n\nPlatform_device instance (pd) is not set to NULL in\nusb_nop_xceiv_unregister() causing usb_nop_xceiv_register()\nto fail during module reinsert.\n\nFrom: Ajay Kumar Gupta \u003cajay.gupta@ti.com\u003e\nSigned-off-by: Babu Ravi \u003cravibabu@ti.com\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\n\n"
    },
    {
      "commit": "9180135bc80ab11199d482b6111e23f74d65af4a",
      "tree": "570d7079252a6a7b821e42383913ec0bfa09e4eb",
      "parents": [
        "ec6d67e39f5638c792eb7490bf32586ccb9d8005"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Jun 29 11:04:54 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:41 2009 -0700"
      },
      "message": "USB: handle zero-length usbfs submissions correctly\n\nThis patch (as1262) fixes a bug in usbfs: It refuses to accept\nzero-length transfers, and it insists that the buffer pointer be valid\neven if there is no data being transferred.\n\nThe patch also consolidates a bunch of repetitive access_ok() checks\ninto a single check, which incidentally fixes the lack of such a check\nfor Isochronous URBs.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ec6d67e39f5638c792eb7490bf32586ccb9d8005",
      "tree": "c65d267dc4979edfd7695d6a2e55d44ab13a8d7e",
      "parents": [
        "f092c240494f2d807401d93f95f683909b90af96"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Jun 29 14:34:59 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:40 2009 -0700"
      },
      "message": "USB: EHCI: report actual_length for iso transfers\n\nThis patch (as1259b) makes ehci-hcd return the total number of bytes\ntransferred in urb-\u003eactual_length for Isochronous transfers.\nUntil now, the actual_length value was unaccountably left at 0.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f092c240494f2d807401d93f95f683909b90af96",
      "tree": "ae123a40cb9957c1ff47f832a500ae4343cf5a6e",
      "parents": [
        "4d2fae8b3597bc787f1f1c06637ce5ab8187e5a7"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Jul 09 12:58:43 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:40 2009 -0700"
      },
      "message": "USB: option: remove unnecessary and erroneous code\n\nThis patch (as1264) removes a bunch of unnecessary and erroneous stuff\nfrom the option USB-serial driver.  Clearly there\u0027s no need to verify\nthat the device pointer stored in the URBs is right or to store the\nsame pointer over again.  After all, the pointer can\u0027t change once it\nhas been set up.\n\nThere\u0027s also no need to call usb_clear_halt for the IN endpoint\nmultiple times -- in fact, doing so is an error since every time after\nthe first there will be active URBs queued for that endpoint.  Since\nthe Clear-Halts don\u0027t appear to be needed at all, the patch simply\nremoves them.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4d2fae8b3597bc787f1f1c06637ce5ab8187e5a7",
      "tree": "d93fcc7c1de209940c4223d02700fcf5f9a8aa98",
      "parents": [
        "1fe975f9302e6c5a8f66401e305685396b2e4577"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Jul 09 12:59:57 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:40 2009 -0700"
      },
      "message": "USB: cypress_m8: remove invalid Clear-Halt\n\nThis patch (as1265) removes an erroneous call to usb_clear_halt from\nthe cypress_m8 driver.  The call isn\u0027t valid because it is made from\ninterrupt context whereas usb_clear_halt is a blocking routine.\n\nPresumably the code has never been executed; if it did it would cause\nan oops.  So instead treat -EPIPE like any other sort of unexplained\nerror.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1fe975f9302e6c5a8f66401e305685396b2e4577",
      "tree": "3ce6dbc23558a4b25d92ab6123da05e2758731be",
      "parents": [
        "0cce2eda19923e5e5ccc8b042dec5af87b3ffad0"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Fri Jul 10 20:02:44 2009 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:40 2009 -0700"
      },
      "message": "USB: musb_host: undo incorrect change in musb_advance_schedule()\n\nCommit c9cd06b3d6ea825c62e277def929cc4315802b48 (musb_host: refactor\nURB giveback) included due to my overlook the change incorrect in the\ncontext of the current kernel -- undo it.\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0cce2eda19923e5e5ccc8b042dec5af87b3ffad0",
      "tree": "7222080c1f276caacd237f239dac0704107da319",
      "parents": [
        "c5f3d87d61a116fdf2e4a2804d5e32cf8a4eeac7"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Fri Jul 10 11:04:58 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:40 2009 -0700"
      },
      "message": "USB: fix LANGID\u003d0 regression\n\ncommit b7af0bb (\"USB: allow malformed LANGID descriptors\") broke support\nfor devices without string descriptor support.\n\nReporting string descriptors is optional to USB devices, and a device\nlets us know it can\u0027t deal with strings by responding to the LANGID\nrequest with a STALL token.\n\nThe kernel handled that correctly before b7af0bb came in, but failed\nhard if the LANGID was reported but broken. More than that, if a device\nwas not able to provide string descriptors, the LANGID was retrieved\nover and over again at each string read request.\n\nThis patch changes the behaviour so that\n\n a) the LANGID is only queried once\n b) devices which can\u0027t handle string requests are not asked again\n c) devices with malformed LANGID values have a sane fallback to 0x0409\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c5f3d87d61a116fdf2e4a2804d5e32cf8a4eeac7",
      "tree": "af12bec9bc7da2986a7913827938dc72665e7799",
      "parents": [
        "145114125cf07afc91e5b132ec41c353284cdb2a"
      ],
      "author": {
        "name": "Elina Pasheva",
        "email": "epasheva@sierrawireless.com",
        "time": "Thu Jul 09 17:55:18 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:40 2009 -0700"
      },
      "message": "USB: serial: sierra driver id_table additions\n\n- Updated the id_table with all devices that Sierra Wireless currently\n   support\n - Re-ordered the contents of the id_table for better readability\n\nSigned-off-by: Elina Pasheva \u003cepasheva@sierrawireless.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "145114125cf07afc91e5b132ec41c353284cdb2a",
      "tree": "dd31733ea6d0472bb0f677355903238f784f8ba4",
      "parents": [
        "516a1a07f0219d6672fb6b8e49fb9d5d533c2e89"
      ],
      "author": {
        "name": "Krzysztof Halasa",
        "email": "khc@pm.waw.pl",
        "time": "Fri Jul 10 01:06:23 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:40 2009 -0700"
      },
      "message": "USB serial: Add ID for Turtelizer, an FT2232L-based JTAG/RS-232 adapter.\n\nAdds USB ID for Turtelizer, an FT2232L-based JTAG/RS-232 adapter.\n\nSigned-off-by: Krzysztof Ha³asa \u003ckhc@pm.waw.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "516a1a07f0219d6672fb6b8e49fb9d5d533c2e89",
      "tree": "538650864da3032195afa77ea808d11ae78e7c4e",
      "parents": [
        "7bae0a070db4bc2761dd9515f450cdfa3f3f248c"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Wed Jul 08 19:09:23 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:40 2009 -0700"
      },
      "message": "USB: fix race leading to a write after kfree in usbfs\n\nthis fixes a race between async_completed() and proc_reapurbnonblock().\n\nCPU A                   CPU B\n\nspin_lock(\u0026ps-\u003elock);\nlist_move_tail(\u0026as-\u003easynclist, \u0026ps-\u003easync_completed);\nspin_unlock(\u0026ps-\u003elock);\n\n                                if (!(as \u003d async_getcompleted(ps)))\n                                        return -EAGAIN;\n                                return processcompl(as, (void __user * __user *)arg);\n\nprocesscompl() calls free_async() which calls kfree(as)\n\nas-\u003estatus \u003d urb-\u003estatus;\nif (as-\u003esignr) {\n        sinfo.si_signo \u003d as-\u003esignr;\n        sinfo.si_errno \u003d as-\u003estatus;\n        sinfo.si_code \u003d SI_ASYNCIO;\n        sinfo.si_addr \u003d as-\u003euserurb;\n        kill_pid_info_as_uid(as-\u003esignr, \u0026sinfo, as-\u003epid, as-\u003euid,\n                              as-\u003eeuid, as-\u003esecid);\n}\nsnoop(\u0026urb-\u003edev-\u003edev, \"urb complete\\n\");\nsnoop_urb(urb, as-\u003euserurb);\n\nwrite after kfree\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\n\n"
    },
    {
      "commit": "7bae0a070db4bc2761dd9515f450cdfa3f3f248c",
      "tree": "f4a90527a00889de6793b321d1261bd375278d7f",
      "parents": [
        "c3325eb16d36a49f9a5ae09241c418cfd1d3f4f5"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Jul 07 09:50:14 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:40 2009 -0700"
      },
      "message": "USB: Sierra: fix oops upon device close\n\nThis patch (as1263) fixes a mixup that occurred when conflicting\npatches for the sierra driver were merged incorrectly.  The former\nsierra_shutdown routine should have been become sierra_release, not\nsierra_disconnect.\n\nThe symptom this fixes is an oops when the device file is closed after\na Sierra device has been unplugged (Bugzilla #13675).\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nTested-by: Peter Naulls \u003cpeter@mushroomnetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c3325eb16d36a49f9a5ae09241c418cfd1d3f4f5",
      "tree": "7490becd62b7b65af7fd43bbfb815696a913d395",
      "parents": [
        "0601e116e30caf35520522cb621d05866663cab2"
      ],
      "author": {
        "name": "Anssi Hannula",
        "email": "anssi.hannula@gmail.com",
        "time": "Mon Jul 06 19:08:59 2009 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:40 2009 -0700"
      },
      "message": "USB: option.c: add A-Link 3GU device id\n\nAdd A-Link 3GU device id 1e0e:9200 into option driver. The device\nhas 4 interfaces, of which 1 is handled by storage and the other 3\nby option driver.\n\nThe device appears first as CD-only 1e0e:f000 device and must be\nswitched to 1e0e:9200 mode either by using \"eject CD\" or\nusb_modeswitch.\n\nFor the record, the device does not work with generic usbserial\ndriver (usb disconnect when sending the ATDT command).\n\nSigned-off-by: Anssi Hannula \u003canssi.hannula@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "0601e116e30caf35520522cb621d05866663cab2",
      "tree": "7389f00047f1c3be03c25a05fa2eb92fbc01bfc5",
      "parents": [
        "2ab2178c3303583a0551f6b6bf4ba070afbf875f"
      ],
      "author": {
        "name": "Amit Kucheria",
        "email": "amit.kucheria@canonical.com",
        "time": "Mon Jul 06 14:19:59 2009 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:40 2009 -0700"
      },
      "message": "USB: Serial: Add support for Arkham Technology adapters\n\nAs reported by David Potts from Arkham Technology, the current driver\nworks with their hardware on addition of the device ids.\n\nSigned-off-by: Amit Kucheria \u003camit.kucheria@canonical.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2ab2178c3303583a0551f6b6bf4ba070afbf875f",
      "tree": "e34ce6af4e7637a0b6a0703a658f9747fda8c185",
      "parents": [
        "04950737d6bed9d234483216ee36ed760d9404eb"
      ],
      "author": {
        "name": "Jonathan McDowell",
        "email": "noodles@earth.li",
        "time": "Sun Jul 05 12:29:51 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:40 2009 -0700"
      },
      "message": "USB: Fix option_ms regression in 2.6.31-rc2\n\nCommit 32ebbe7b6ad44ae9c276419710b56de6ba705303 which filters the\nSCSI REZERO command in option_ms based on a SCSI INQUIRY with a vendor\nof Option breaks my Option Icon 225 (0af0:6971). This device returns a\nvendor of ZCOPTION for the ZeroCD device. The following trivial patch\nfixes things for me.\n\nSigned-Off-By: Jonathan McDowell \u003cnoodles@earth.li\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "04950737d6bed9d234483216ee36ed760d9404eb",
      "tree": "2ecef34449893e31ccfc316bb6654ac31fb932e2",
      "parents": [
        "b760dac290c3482e6883d5f79a2357c82239a3ff"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Jul 03 13:26:57 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:39 2009 -0700"
      },
      "message": "USB: gadget audio: select SND_PCM\n\nFix USB gadget audio: select SND_PCM, like many other sound\ndrivers do, to fix build errors:\n\ndrivers/built-in.o: In function `f_audio_playback_work\u0027:\naudio.c:(.text+0x15a3e7): undefined reference to `snd_pcm_kernel_ioctl\u0027\naudio.c:(.text+0x15a471): undefined reference to `snd_pcm_lib_write\u0027\ndrivers/built-in.o: In function `_snd_pcm_hw_param_set\u0027:\naudio.c:(.text+0x15aca7): undefined reference to `snd_interval_refine\u0027\ndrivers/built-in.o: In function `gaudio_setup\u0027:\n(.init.text+0x12adf): undefined reference to `_snd_pcm_hw_params_any\u0027\ndrivers/built-in.o: In function `gaudio_setup\u0027:\n(.init.text+0x12b43): undefined reference to `snd_pcm_kernel_ioctl\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b760dac290c3482e6883d5f79a2357c82239a3ff",
      "tree": "6065446d10300f058706a8be30f5444003a7a8da",
      "parents": [
        "e12df02a171d1c10ee664e6571c0e4cb7e1b7c92"
      ],
      "author": {
        "name": "Martin Geleynse",
        "email": "mgeleyns@ndigital.com",
        "time": "Thu Jul 02 13:10:35 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:39 2009 -0700"
      },
      "message": "USB: ftdi: support NDI devices\n\nIt enhances the driver for FTDI-based USB serial adapters to recognize and\nsupport Northern Digital Inc (NDI) measurement equipment. NDI has been\nproviding this patch for various kernel flavors for several years and we would\nlike to see these changes built in to the driver so that our equipement works\nwithout the need for customers to patch the kernel themselves.\n\nThe patch makes small modifications to 2 files: ./drivers/usb/serial/ftdi_sio.c\nand ./drivers/usb/serial/ftdi_sio.h. It accomplishes 3 things:\n\n1. Define the VID and PIDs to allow the driver to recognize the NDI devices.\n2. Map the 19200 baud rate setting to our higher baud rate of 1.2Mb\n   We would have chosen to map 38400 to the higher rate, similar to what\n   several other vendors have done, but some of our legacy customers actually\n   use 38400, therefore we remap 19200 to the higher rate.\n3. We set the default transmit latency in the FTDI chip to 1ms for our devices.\n   Our devices are typically polled at 60Hz and the default ftdi latency\n   seriously affects turn-around time and results in missed data frames. We\n   have created a modprobe option that allows this setting to be increased.\n   This has proven necessary particularly in some virtualized environments.\n\nSigned-off-by: Martin P. Geleynse \u003cmgeleyns@ndigital.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "e12df02a171d1c10ee664e6571c0e4cb7e1b7c92",
      "tree": "908460bfd499ee1f27e240cf128950494b5d0b55",
      "parents": [
        "e376bbbb6a82cf119c93bde66937f66c72cba27b"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 09 21:35:49 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:39 2009 -0700"
      },
      "message": "Revert USB: usbfs: deprecate and hide option for !embedded\n\nThis reverts commit cc71329b3b89b4a5be849b617f2c4f151f0b9213, so that\nRed Hat machines can boot properly.  It seems that the Red Hat initrd\ncode tries to watch the /proc/bus/usb/devices file to monitor usb\ndevices showing up.  While this task is prone to lots of races and does\nnot show the true state of the system, they seem to like it.\n\nSo for now, don\u0027t move this option under the EMBEDDED config option.\n\n\nCc: Scott James Remnant \u003cscott@canonical.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Dave Airlie \u003cairlied@gmail.com\u003e\nCc: Peter Jones \u003cpjones@redhat.com\u003e\nCc: Jeff Chua \u003cjeff.chua.linux@gmail.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4e19f220d4e84f5728cb7edde36352ab425cfba4",
      "tree": "614e5a37f0167a6f5f3c0ed46d66a0b1a40291f2",
      "parents": [
        "b34efeeab84e0887b30fee101612a72786ddced2"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Fri Jun 19 03:09:04 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:39 2009 -0700"
      },
      "message": "USB: RNDIS gadget, fix issues talking from PXA\n\nThe reworked Ethernet gadget has an RNDIS interop problem when used\nwith the CDC subset driver ... e.g. on PXA 2xx and 3xx hardware,\nwhich currently has a hard time talking to MS-Windows hosts.\n\nThe issue is that Microsoft requires USB_CLASS_COMM.  Fix by tweaking\nthe CDC subset driver to not switch to USB_CLASS_VENDOR_SPEC if RNDIS\nis used in some other device configuration.\n\n[ UPDATED:  some \"statements\" were comma-terminated; fix that. ]\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Aric Blumer \u003caric@sdgsystems.net\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b34efeeab84e0887b30fee101612a72786ddced2",
      "tree": "502763840c24650b43f281063ac2485ccd387f4c",
      "parents": [
        "6e4061210150d1d6d388c5fba05f6b49a306a27e"
      ],
      "author": {
        "name": "Folkert van Heusden",
        "email": "folkert@vanheusden.com",
        "time": "Fri Jun 19 22:14:42 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:39 2009 -0700"
      },
      "message": "USB: serial: FTDI with product code FB80 and vendor id 0403\n\nIt seems an USB device with vendor id 0403 and product code FB80 has an\nFTDI serial io chip as well: http://ftdichip.com/Drivers/D2XX.htm\nThis device in fact is a true random generantor by comsci:\nhttp://comscire.com/Products/R2000KU/\nSo the following patch should add support for this device if I am\ncorrect. Not tested as I do not own this device (I would like support in\nthe kernel so that my entropybroker application (which distributes\nentrop data (random values) between servers and clients)).\n\n\nFrom: Folkert van Heusden \u003cfolkert@vanheusden.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6e4061210150d1d6d388c5fba05f6b49a306a27e",
      "tree": "7c059e60623fab637b2049bdf59b42040025b00b",
      "parents": [
        "bf7fbb022f0a3da27a2bcf8d7c973c813d942384"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Jun 22 11:32:20 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:39 2009 -0700"
      },
      "message": "USB: console: Fix regression in usb console on kernel boot\n\nThe commit 335f8514f200e63d689113d29cb7253a5c282967 introduced a\nregression which stopped usb consoles from working correctly as a\nkernel boot console as well as interactive login device.\n\nThe addition of the serial_close() which in turn calls\ntty_port_close_start() will change the reference count of port.count\nand warn about it.  The usb console code had previously incremented\nthe port.count to indicate it was making use of the device as a\nconsole and the forced change causes a double open on the usb device\nwhich leads to a non obvious kernel oops later on when the tty is\nfreed.\n\nTo fix the problem instead make use of port-\u003econsole to track if the\nport is in fact an active console port to avoid double initialization\nof the usb serial device.  The port.count is incremented and\ndecremented only with in the scope of usb_console_setup() for the\npurpose of the low level driver initialization.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "bf7fbb022f0a3da27a2bcf8d7c973c813d942384",
      "tree": "13e74291c605af4d62f84774f90eccac699d8fa8",
      "parents": [
        "d794a02111cd3393da69bc7d6dd2b6074bd037cc"
      ],
      "author": {
        "name": "Frans Pop",
        "email": "elendil@planet.nl",
        "time": "Fri Jun 26 16:10:19 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:39 2009 -0700"
      },
      "message": "USB: add missing class descriptions used in usb/devices file\n\nAdded descriptions (for WIRELESS_CONTROLLER and MISC) were taken from\nthe usb-devices script now included in usbutils.\n\nAlso sort the classes in the same order as in include/linux/usb/ch9.h\nfor easier comparison for future updates.\n\nSigned-off-by: Frans Pop \u003celendil@planet.nl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d794a02111cd3393da69bc7d6dd2b6074bd037cc",
      "tree": "a455f01284f4503edfe8e335c333694711073736",
      "parents": [
        "ba516de332c0e574457e58fb5aa0293e628b7b10"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Sun Jun 28 23:34:14 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:39 2009 -0700"
      },
      "message": "USB: fix memleak in usbfs\n\nThis patch fixes a memory leak in devio.c::processcompl\n\nIf writing to user space fails the packet must be discarded, as it\nalready has been removed from the queue of completed packets.\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ba516de332c0e574457e58fb5aa0293e628b7b10",
      "tree": "a3b36a84db2c0ae0da8762061d3566fe94138125",
      "parents": [
        "914b701280a76f96890ad63eb0fa99bf204b961c"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Jun 29 17:36:14 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:39 2009 -0700"
      },
      "message": "USB: EHCI: check for STALL before other errors\n\nThis patch (as1257) revises the way ehci-hcd detects STALLs.  The\nlogic is a little peculiar because there\u0027s no hardware status bit\nspecifically meant to indicate a STALL.  You just have to guess that a\nSTALL was received if the BABBLE bit (which is fatal) isn\u0027t set and\nthe transfer stopped before all its retries were used up.\n\nThe existing code doesn\u0027t do this properly, because it tests for MMF\n(Missed MicroFrame) and DBE (Data Buffer Error) before testing the\nretry counter.  Thus, if a transaction gets either MMF or DBE the\ncorresponding flag is set and the transaction is retried.  If the\nsecond attempt receives a STALL then -EPIPE is the correct return\nvalue.  But the existing code would see the MMF or DBE flag instead\nand return -EPROTO, -ENOSR, or -ECOMM.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "914b701280a76f96890ad63eb0fa99bf204b961c",
      "tree": "9373723da74f660aa667da000301c191b1929bd8",
      "parents": [
        "cb88a1b887bb8908f6e00ce29e893ea52b074940"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Jun 29 10:47:30 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:39 2009 -0700"
      },
      "message": "USB: EHCI: use the new clear_tt_buffer interface\n\nThis patch (as1256) changes ehci-hcd and all the other drivers in the\nEHCI family to make use of the new clear_tt_buffer callbacks.  When a\nClear-TT-Buffer request is in progress for a QH, the QH is not allowed\nto be linked into the async schedule until the request is finished.\nAt that time, if there are any URBs queued for the QH, it is linked\ninto the async schedule.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cb88a1b887bb8908f6e00ce29e893ea52b074940",
      "tree": "198cba7974836d994cfc839b95242e8321702d5c",
      "parents": [
        "87ea8c887905d8b13ae90b537117592ed027632a"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Jun 29 10:43:32 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:38 2009 -0700"
      },
      "message": "USB: fix the clear_tt_buffer interface\n\nThis patch (as1255) updates the interface for calling\nusb_hub_clear_tt_buffer().  Even the name of the function is changed!\n\nWhen an async URB (i.e., Control or Bulk) going through a high-speed\nhub to a non-high-speed device is cancelled or fails, the hub\u0027s\nTransaction Translator buffer may be left busy still trying to\ncomplete the transaction.  The buffer has to be cleared; that\u0027s what\nusb_hub_clear_tt_buffer() does.\n\nIt isn\u0027t safe to send any more URBs to the same endpoint until the TT\nbuffer is fully clear.  Therefore the HCD needs to be told when the\nClear-TT-Buffer request has finished.  This patch adds a callback\nmethod to struct hc_driver for that purpose, and makes the hub driver\ninvoke the callback at the proper time.\n\nThe patch also changes a couple of names; \"hub_tt_kevent\" and\n\"tt.kevent\" now look rather antiquated.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "87ea8c887905d8b13ae90b537117592ed027632a",
      "tree": "b8e241b484545165cc2c96530272adcc7fcdfaac",
      "parents": [
        "71f9f6cc9eef47fddc05f34b3d32677ab2e0f1fa"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Tue Jun 30 09:44:24 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:38 2009 -0700"
      },
      "message": "USB: fix uninitialised variable in ti_do_download\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "71f9f6cc9eef47fddc05f34b3d32677ab2e0f1fa",
      "tree": "d29492f589ab55b1961c18a9258d1ffcd2c8c126",
      "parents": [
        "5186ffee2320942c3dc9745f7930e0eb15329ca6"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dcbw@redhat.com",
        "time": "Tue Jun 30 16:09:28 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:38 2009 -0700"
      },
      "message": "USB: option: add Novatel Ovation MC760\n\nUsed by Virgin Mobile with the Broadband2Go service, for example.\n\nSigned-off-by: Dan Williams \u003cdcbw@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5186ffee2320942c3dc9745f7930e0eb15329ca6",
      "tree": "e6f63661516ad845b58d9db0eaa38ad1afdda867",
      "parents": [
        "89368d3d11a5b2eff83ad8e752be67f77a372bad"
      ],
      "author": {
        "name": "Arseniy Lartsev",
        "email": "ars3n@yandex.ru",
        "time": "Wed Jul 01 16:27:26 2009 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:37 2009 -0700"
      },
      "message": "USB: cdc-acm: work around some broken devices\n\nThis patch introduces a work around for cdc-acm devices which are\nlow speed contrary to the specification, which requires bulk endpoints\nwhich are banned in low speed and converted by usbcore to virtual\ninterrupt endpoints if they are used nevertheless.\n\nSigned-off-by: Arseniy Lartsev \u003cars3n@yandex.ru\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "89368d3d11a5b2eff83ad8e752be67f77a372bad",
      "tree": "4bf287c9446ba4dfff7881249d4f7314ed01eb96",
      "parents": [
        "6d84599b3c3a7bccc04ec4133220d150b92fe0f8"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Jul 01 03:36:16 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:37 2009 -0700"
      },
      "message": "USB: musb: silence \"suspend as a_wait_vrise is_active\" msgs\n\nGet rid of some obnoxious and inappropriate messaging, mostly on\nDaVinci, when usbcore tries to autosuspend a root hub if just a\nmini/micro-A connector is connected.  Symptom: endless stream of\nmessages reading like:\n\n musb_bus_suspend 2221: trying to suspend as a_wait_vrise is_active\u003d1\n\nImprove that musb bus suspend primitive a bit.  Take advantage of\nthis call to update the OTG state machine if appropriate, moving\nthe device out of the A_WAIT_VRISE state.  There\u0027s basically no\ntimer for that state transition just now, except with tusb6010;\nthat can make trouble.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6d84599b3c3a7bccc04ec4133220d150b92fe0f8",
      "tree": "68eb55ee15b114984bbad80acbbb2d372c1074ca",
      "parents": [
        "56a075dcd64b25c828af1752dff0ac1e6833e135"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Jul 01 03:43:58 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:37 2009 -0700"
      },
      "message": "USB: gadget: pxa25x compiler warning fix\n\nFix config-dependent compiler warning:\n\n  CC      drivers/usb/gadget/pxa25x_udc.o\ndrivers/usb/gadget/pxa25x_udc.c: In function \u0027pxa25x_udc_irq\u0027:\ndrivers/usb/gadget/pxa25x_udc.c:1806: warning: array subscript is above array bounds\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "56a075dcd64b25c828af1752dff0ac1e6833e135",
      "tree": "0a69daccc1bf31fd1b1838dfdbeca2884581d1a2",
      "parents": [
        "30899ca7f20571c4bd64544dec261171f6ec255b"
      ],
      "author": {
        "name": "Philipp Zabel",
        "email": "philipp.zabel@gmail.com",
        "time": "Wed Jul 01 03:42:45 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:37 2009 -0700"
      },
      "message": "USB: gadget: pxa25x uses gpio_is_valid\n\nUse gpio_is_valid instead of assuming that every GPIO\nnumber !\u003d 0 is valid while 0 is not.\n\nSigned-off-by: Philipp Zabel \u003cphilipp.zabel@gmail.com\u003e\nAcked-by: Eric Miao \u003ceric.y.miao@gmail.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "30899ca7f20571c4bd64544dec261171f6ec255b",
      "tree": "7c814ac6ccea64e0e8e933fcbc002e347574df51",
      "parents": [
        "d163ef248385fc434e44b04a5151ae5d6a6c2d16"
      ],
      "author": {
        "name": "Kevin Hilman",
        "email": "khilman@deeprootsystems.com",
        "time": "Wed Jul 01 03:33:46 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:37 2009 -0700"
      },
      "message": "USB: musb: davinci dm6446evm GPIO renumbering\n\nNumbering for GPIOs on the pcf857x chips on the dm644x EVM board\nchanged when DaVinci chips with more GPIOs were supported.  Update\nthe GPIO number used for nVBUS_DRV.\n\nLonger term, we need a better abstraction of board-specific setup in\nthis code so we\u0027re not hard-coding board specific GPIOs into the\ndriver, but for now this at least gets it back to working with\nmainline davinci core code.\n\nSigned-off-by: Kevin Hilman \u003ckhilman@deeprootsystems.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d163ef248385fc434e44b04a5151ae5d6a6c2d16",
      "tree": "3ab91dade693c919332b38cfa0ad52aedbccb90a",
      "parents": [
        "6bc2146e2b01654534a1cae127ef96bf4b5f3d53"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Jul 01 03:32:43 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:37 2009 -0700"
      },
      "message": "USB: musb: davinci dm355 updates (remainder)\n\nFinish merging updates for DM355 chips into musb/davinci.c now\nthat its support is in mainline:  kick in new DRVVBUS controls.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Kevin Hilman \u003ckhilman@deeprootsystems.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6bc2146e2b01654534a1cae127ef96bf4b5f3d53",
      "tree": "a0a48e348835eb39af20cb1109064497a49dea8b",
      "parents": [
        "ca157c4a51fa6209f28c316f4a63d594adb79518"
      ],
      "author": {
        "name": "Qiuping Chen",
        "email": "cqiuping@gmail.com",
        "time": "Wed Jul 01 03:49:29 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:37 2009 -0700"
      },
      "message": "USB: gadget: rndis conformance tweak\n\nSupport OID_802_3_MAC_OPTIONS in gen_ndis_query_resp() of rndis.c to\nmake RNDIS gadget pass 1c_SetMulticast subtest in Microsoft NDISTest6:\n\n  http://www.microsoft.com/whdc/DevTools/tools/NDIStest.mspx\n\nThe other tests in NDISTest6 are passed.\n\n[ dbrownell@users.sourceforge.net: remove OID_802_3_MAXIMUM_LIST_SIZE\nsetting ... it was bogus, this code only handles one entry, not 32.\nAnd we don\u0027t know what would break if we lied about that... ]\n\nSigned-off-by: Helen Chen \u003chelen.chen@intel.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ca157c4a51fa6209f28c316f4a63d594adb79518",
      "tree": "68308852497bbf4154c2726a371531855db46842",
      "parents": [
        "45e83889eb291714d3a4727e98e2488074affbf8"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Thu Jul 02 16:41:39 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:37 2009 -0700"
      },
      "message": "USB: fix memory leak in usbtmc\n\nIf an error is returned kfree must also be called.\n\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "45e83889eb291714d3a4727e98e2488074affbf8",
      "tree": "80eeecd2508264069e0898b1f528d7b1025b1fec",
      "parents": [
        "3c43f27bf57b0502df2478253699559ee1d43f6d"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Jun 19 05:35:34 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:37 2009 -0700"
      },
      "message": "USB: buildfix ppc randconfig\n\nWe could just make the USB_OHCI_HCD_PPC_OF option implicit\nand selected only if at least one of USB_OHCI_HCD_PPC_OF_BE\nand USB_OHCI_HCD_PPC_OF_LE are set.\n\n[ dbrownell@users.sourceforge.net: fix patch manglation and dependencies ]\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nTested-by: Subrata Modak \u003csubrata@linux.vnet.ibm.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3c43f27bf57b0502df2478253699559ee1d43f6d",
      "tree": "2f96339e95f2c57cf5b736a954fffc77c39b48d7",
      "parents": [
        "05cbc2d58224d01925bfb93a0c3f0ab1f11b1eea"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jun 26 08:05:20 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:36 2009 -0700"
      },
      "message": "USB: ti_usb_3410_5052: fix duplicate device ids.\n\ncommit 1a1fab513734b3a4fca1bee8229e5ff7e1cb873c accidentally added the\ndevice id to both tables in the driver, which causes problems as this is\nonly a single port device, not a multiple port device.\n\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "05cbc2d58224d01925bfb93a0c3f0ab1f11b1eea",
      "tree": "5a033e2a236ba96e77298c1858d58ca61422501e",
      "parents": [
        "1a74826fa1cd6c2e382f927403b4440675f0f55a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 23 16:01:06 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:36 2009 -0700"
      },
      "message": "USB: gadget: audio: provide correct device id\n\nThe audio gadget driver should use a \"Linux\" device id, instead\nof relying on NetChip\u0027s vendor id.  So provide one out of our reserved\nnamespace.\n\nCc: Bryan Wu \u003ccooloney@kernel.org\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1a74826fa1cd6c2e382f927403b4440675f0f55a",
      "tree": "5746aa98ac691b828a2345c4d772e4965f281e8e",
      "parents": [
        "e3a3174519bae99fe3a3d3b9dfda68d820527b44"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 23 15:58:48 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:36 2009 -0700"
      },
      "message": "Revert \"USB: Add Intel Langwell USB OTG Transceiver Drive\"\n\nThis reverts commit 453f77558810ffa669ed5a510a7173ec49def396.\n\nThe driver should not have been accepted as the MSRT code is not\nin the main kernel yet, which this depends on.\n\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Hao Wu \u003chao.wu@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e3a3174519bae99fe3a3d3b9dfda68d820527b44",
      "tree": "aef7da62a19d45e5003352543212875e4b37dc0a",
      "parents": [
        "83dfdaa362fd9f1ed8bfa0bba50fff08c063380b"
      ],
      "author": {
        "name": "Brad Lu",
        "email": "Brad.Lu@Qisda.com",
        "time": "Tue Jun 16 18:04:00 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:36 2009 -0700"
      },
      "message": "USB: option.c to support Qisda H21/H20 usb modem\n\nThis patch added Qisda(VID) \u0026 H21/H20(PID) into to supporting list.\nPlease help to check this patch,\n\nFrom: Brad Lu \u003cBrad.Lu@Qisda.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "83dfdaa362fd9f1ed8bfa0bba50fff08c063380b",
      "tree": "020372b5ce4626321df7a11187972aaaa02c7078",
      "parents": [
        "4198e4f7e0b756d8a847e408b0017495833538b3"
      ],
      "author": {
        "name": "Kai Engert",
        "email": "kaie@kuix.de",
        "time": "Fri Jun 12 08:51:37 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:36 2009 -0700"
      },
      "message": "USB: option.c: add Qualcomm/Option iCON 210 modem\n\nAdd modem portion of USB device labeled:\nModel iCON 210, Qualcomm 3G HSDPA, designed in EU by Option\n\nDevice starts in usb-storage mode (1e0e:f000) and requires the use of a tool\nlike usb_modeswitch to switch it to modem mode (1e0e:9000).\n\nSigned-off-by: Kai Engert \u003ckaie@kuix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4198e4f7e0b756d8a847e408b0017495833538b3",
      "tree": "18cdf7b3223fb44cbf1ea7b14843030099a91c18",
      "parents": [
        "a455212d19d312f6a99b3a4a86fb79fb91dd76c7"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Thu Jun 11 21:59:00 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:36 2009 -0700"
      },
      "message": "USB: isp1760: use __devexit_p() for remove function\n\nThe isp1760_plat_remove function is declared with __devexit, so the\n.remove assignment needs to be wrapped with __devexit_p().\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a455212d19d312f6a99b3a4a86fb79fb91dd76c7",
      "tree": "cfd1cf74b6e51623813be2ec65e42f3756598252",
      "parents": [
        "9525dcb30f5f412748f58a0537002ea47cfe55de"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Jun 11 14:56:22 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:36 2009 -0700"
      },
      "message": "USB: EHCI: update toggle state for linked QHs\n\nThis is an update to the \"usb-ehci-update-toggle-state-for-linked-qhs\"\npatch.  Since an HCD\u0027s endpoint_reset method can be called in\ninterrupt context, it mustn\u0027t assume that interrupts are enabled or\nthat it can sleep.\n\nSo we revert to the original way of refreshing QHs\u0027 toggle bits.  Now\nthe endpoint_reset method merely clears the toggle flag in the device\nstructure (as was done before) and starts an async QH unlink.  When the\nQH is linked again, after the unlink finishes and an URB is queued,\nthe qh_refresh() routine will update the QH\u0027s toggle bit.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nTested-by: David \u003cdavid@unsolicited.net\u003e\nCC: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "9525dcb30f5f412748f58a0537002ea47cfe55de",
      "tree": "213281ecd7e1db01d7b4c491a33311763f86c7ed",
      "parents": [
        "9d37ff64567f852a222c78e7d13037bb02395dc7"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Jun 10 12:57:35 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:36 2009 -0700"
      },
      "message": "USB: fhci: mutually exclusive port_status\n\nFHCI_PORT_DISABLED, -LOW and -FULL are mutually exclusive as status.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9d37ff64567f852a222c78e7d13037bb02395dc7",
      "tree": "c4514ae8e4647948c23bcaf8e15e14c63e775e6b",
      "parents": [
        "c03e7d4bc1c39ae74a5e9f7bd7e9fd12898e42b8"
      ],
      "author": {
        "name": "Jan Capek",
        "email": "jan@ccsinfo.com",
        "time": "Wed Jun 10 18:58:52 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:36 2009 -0700"
      },
      "message": "USB: ftdi_sio - product ID\u0027s for CCS PIC programmers\n\nThe product ID\u0027s for the following devices have been added:\n- LOAD-n-GO\n- ICD-U64\n- PRIME-8\n\nSigned-off-by: Jan Capek \u003cjan@ccsinfo.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c03e7d4bc1c39ae74a5e9f7bd7e9fd12898e42b8",
      "tree": "04a0030294e9de69250c4722eab1564610a3b8c6",
      "parents": [
        "8540d66615c39010168ab97eaafb476ec2851298"
      ],
      "author": {
        "name": "Paulius Zaleckas",
        "email": "paulius.zaleckas@teltonika.lt",
        "time": "Tue Jun 09 11:11:16 2009 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:36 2009 -0700"
      },
      "message": "USB: gadget: fix imx_udc entry in Kconfig\n\nMove USB_GADGET_IMX to the right section of Kconfig as this\ncontroller is available only as integrated on i.MX CPU.\n\nSigned-off-by: Paulius Zaleckas \u003cpaulius.zaleckas@teltonika.lt\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8540d66615c39010168ab97eaafb476ec2851298",
      "tree": "ae83248463647598a979c16ca74bc5b4cfc81c02",
      "parents": [
        "81e4e1ba7ed4a1fdcf0e2ee944f1575010471464"
      ],
      "author": {
        "name": "Gianpaolo Cugola",
        "email": "gianpaoloc@gmail.com",
        "time": "Fri Jun 05 22:57:52 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:35 2009 -0700"
      },
      "message": "USB: pl2303: New vendor and product id for the prolific driver\n\nI recently bought a PC interface for the Cressi Edy dive computer\n(www.cressi.it) and discovered that it uses the pl2303 chip, albeit\nwith ad-hoc vendor and product ids (04b8, 0521 respectively). Being in\nthe process of writing a linux software for such device (cressi only\nprovides a windows software), I patched the pl2303 linux driver to\nhave the interface recognized. I am submitting you the patch (very\nbasic) for inclusion in next kernel version.\n\nFrom: Gianpaolo Cugola \u003cgianpaoloc@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d4fc4a7bfc2dee626f4fec1e209e58eaa4312de6",
      "tree": "9a5a3198f086a30703abbe591943dbed851dcba7",
      "parents": [
        "24a15a62dcb1968bf4ffdae55c88fa934d971180"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu Jul 09 13:36:58 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 10 19:17:22 2009 -0700"
      },
      "message": "tty: Fix the PL2303 private methods for sysrq\n\nPL2303 has private data shovelling methods that also have no fast path. Fix\nthem to work the same way as the default handler.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "24a15a62dcb1968bf4ffdae55c88fa934d971180",
      "tree": "39a2231da07c6a47a4b66baf0158591a9739ac8f",
      "parents": [
        "4cd1de0afaaa45309f34d7282ea4c07d9b56a3ff"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu Jul 09 13:36:22 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 10 19:17:22 2009 -0700"
      },
      "message": "tty: Fix USB kref leak\n\nThe sysrq code acquired a kref leak. Fix it by passing the tty separately\nfrom the caller (thus effectively using the callers kref which all the\ncallers hold anyway)\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4cd1de0afaaa45309f34d7282ea4c07d9b56a3ff",
      "tree": "73bf4ddaee7ec059ea3e9be38c13cfb61ce1af47",
      "parents": [
        "d6be791cbd4d6a96f0ec1c8c44166038c76d1330"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu Jul 09 13:35:52 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 10 19:17:22 2009 -0700"
      },
      "message": "tty: Sort out the USB sysrq changes that wrecked performance\n\nWe can\u0027t go around calling all sorts of magic per character functions at\nfull rate 3G data speed.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad361c9884e809340f6daca80d56a9e9c871690a",
      "tree": "7ec02c9934964fecdc791a0df0fc722d3bda5c53",
      "parents": [
        "e3288775ff63900fbb7db505f2b9a1bee98f07df"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Jul 06 13:05:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 08 10:30:03 2009 -0700"
      },
      "message": "Remove multiple KERN_ prefixes from printk formats\n\nCommit 5fd29d6ccbc98884569d6f3105aeca70858b3e0f (\"printk: clean up\nhandling of log-levels and newlines\") changed printk semantics.  printk\nlines with multiple KERN_\u003clevel\u003e prefixes are no longer emitted as\nbefore the patch.\n\n\u003clevel\u003e is now included in the output on each additional use.\n\nRemove all uses of multiple KERN_\u003clevel\u003es in formats.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b5c0c72ea404d6b554a8284031dd78748314b9e",
      "tree": "468b7f3d8db0abe6a09ee221dce1de5de2bb8d12",
      "parents": [
        "2dbc8a23cc2e677422f6dea991aca4e3d31ab65f",
        "dc53fffc105f68cb08ca872acd51550e89aa2e67"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Jul 07 11:55:05 2009 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Jul 07 11:55:05 2009 +0900"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into sh/for-2.6.31\n"
    },
    {
      "commit": "5bfd7560979062ad75c9805c1719cec990b5db29",
      "tree": "cdefaa4920ad4f87f4cd66f96cb4112b2be2bde3",
      "parents": [
        "c8236db9cd7aa492dcfcdcca702638e704abed49"
      ],
      "author": {
        "name": "Kevin Cernekee",
        "email": "cernekee@gmail.com",
        "time": "Sun Jul 05 12:08:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 06 13:57:03 2009 -0700"
      },
      "message": "Fix virt_to_phys() warnings\n\nThese warnings were observed on MIPS32 using 2.6.31-rc1 and gcc-4.2.0:\n\nmm/page_alloc.c: In function \u0027alloc_pages_exact\u0027:\nmm/page_alloc.c:1986: warning: passing argument 1 of \u0027virt_to_phys\u0027 makes pointer from integer without a cast\n\ndrivers/usb/mon/mon_bin.c: In function \u0027mon_alloc_buff\u0027:\ndrivers/usb/mon/mon_bin.c:1264: warning: passing argument 1 of \u0027virt_to_phys\u0027 makes pointer from integer without a cast\n\n[akpm@linux-foundation.org: fix kernel/perf_counter.c too]\nSigned-off-by: Kevin Cernekee \u003ccernekee@gmail.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "64614e66fbfcaa57598c1678d699520dfbf4f531",
      "tree": "e88e38c967c5c22910f167496f38266dba887880",
      "parents": [
        "44e18e9eda1f5c318a888989d929188eea93c8dc"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Fri Jul 03 09:12:46 2009 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sun Jul 05 00:23:50 2009 +0900"
      },
      "message": "usb: allow sh7724 to enable on-chip r8a66597\n\nThe sh7724 processor has two on-chip r8a66597 blocks, so add\nit to the list of processors for SUPERH_ON_CHIP_R8A66597.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "f4fa446883959c1c5f314a043e750dbfe3728c55",
      "tree": "0fc52fa5d10247a99c403dd83704415ac4dcb750",
      "parents": [
        "922b13565b6a826a925f9f91f053dc9cb0d6210e"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Thu Jun 25 14:41:37 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 25 11:24:26 2009 -0700"
      },
      "message": "usb_serial: Fix oops when unexisting usb serial device is opened.\n\nThis commit 335f8514f200e63d689113d29cb7253a5c282967 has stopped\nproperly checking if there is any usb serial associated with the tty in\nthe close function. It happens the close function is called by releasing\nthe terminal right after opening the device fails.\n\nAs an example, open fails with a non-existing device, when probe has\nnever been called, because the device has never been plugged. This is\ncommon in systems with static modules and no udev.\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "922b13565b6a826a925f9f91f053dc9cb0d6210e",
      "tree": "4c5680f084b62afd5d0f2e6247fd500277610c65",
      "parents": [
        "42dd2aa6496a2e87e496aac5494d2e1d6096c85b"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Thu Jun 25 14:41:30 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 25 11:24:26 2009 -0700"
      },
      "message": "acm: Fix oops when closing ACM tty device right after open has failed.\n\nThis commit 10077d4a6674f535abdbe25cdecb1202af7948f1 has stopped\nchecking if there was a valid acm device associated to the tty, which is\nnot true right after open fails and tty subsystem tries to close the\ndevice.\n\nAs an example, open fails with a non-existing device, when probe has\nnever been called, because the device has never been plugged. This is\ncommon in systems with static modules and no udev.\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42dd2aa6496a2e87e496aac5494d2e1d6096c85b",
      "tree": "81ef166b1155f557574972d6452dfb2d7a1943ba",
      "parents": [
        "a37f6b84c4f3d3ca61634a7b36bf64c6ea452271"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Thu Jun 25 14:41:24 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 25 11:24:26 2009 -0700"
      },
      "message": "acm: Return ENODEV instead of EINVAL when trying to open ACM device.\n\nThis is required, otherwise a user will get a EINVAL while opening a\nnon-existing device, instead of ENODEV.\n\nThis is what I get with this patch applied now instead of an \"Invalid\nargument\".\n\n  cascardo@vespa:~$ cat /dev/ttyACM0\n  cat: /dev/ttyACM0: No such device\n  cascardo@vespa:~$\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b337c5f245b6587ba844ac7bb13c313a2912f7b",
      "tree": "999c6a6580b76a083c8efb9dabff709d1c49fcd0",
      "parents": [
        "492b057c426e4aa747484958e18e9da29003985d",
        "3fe0344faf7fdcb158bd5c1a9aec960a8d70c8e8"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Jun 18 11:16:55 2009 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Jun 18 11:16:55 2009 +1000"
      },
      "message": "Merge commit \u0027origin/master\u0027 into next\n"
    },
    {
      "commit": "492b057c426e4aa747484958e18e9da29003985d",
      "tree": "34e08c24618688d8bcc190523028b5f94cce0c0b",
      "parents": [
        "313485175da221c388f6a8ecf4c30062ba9bea17",
        "300df7dc89cc276377fc020704e34875d5c473b6"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Jun 17 10:24:53 2009 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Jun 17 10:24:53 2009 +1000"
      },
      "message": "Merge commit \u0027origin/master\u0027 into next\n"
    },
    {
      "commit": "e1f5b94fd0c93c3e27ede88b7ab652d086dc960f",
      "tree": "e8de7a132eb88521dd1c19e128eba2d5349bdf4f",
      "parents": [
        "6fd03301d76bc439382710e449f58efbb233df1b",
        "1b6ed69f974f6f32c8be0d9a7fc952822eb83b6f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:06:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:06:10 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (143 commits)\n  USB: xhci depends on PCI.\n  USB: xhci: Add Makefile, MAINTAINERS, and Kconfig entries.\n  USB: xhci: Respect critical sections.\n  USB: xHCI: Fix interrupt moderation.\n  USB: xhci: Remove packed attribute from structures.\n  usb; xhci: Fix TRB offset calculations.\n  USB: xhci: replace if-elseif-else with switch-case\n  USB: xhci: Make xhci-mem.c include linux/dmapool.h\n  USB: xhci: drop spinlock in xhci_urb_enqueue() error path.\n  USB: Change names of SuperSpeed ep companion descriptor structs.\n  USB: xhci: Avoid compiler reordering in Link TRB giveback.\n  USB: xhci: Clean up xhci_irq() function.\n  USB: xhci: Avoid global namespace pollution.\n  USB: xhci: Fix Link TRB handoff bit twiddling.\n  USB: xhci: Fix register write order.\n  USB: xhci: fix some compiler warnings in xhci.h\n  USB: xhci: fix lots of compiler warnings.\n  USB: xhci: use xhci_handle_event instead of handle_event\n  USB: xhci: URB cancellation support.\n  USB: xhci: Scatter gather list support for bulk transfers.\n  ...\n"
    },
    {
      "commit": "6fd03301d76bc439382710e449f58efbb233df1b",
      "tree": "3c8a3217aed67319683ffc1debccdb5b3245b16c",
      "parents": [
        "cd5232bd6be2d215a800f3d88c287ca791debfbe",
        "e4792aa30f9d33584d7192685ed149cc5fee737f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 12:57:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 12:57:37 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (64 commits)\n  debugfs: use specified mode to possibly mark files read/write only\n  debugfs: Fix terminology inconsistency of dir name to mount debugfs filesystem.\n  xen: remove driver_data direct access of struct device from more drivers\n  usb: gadget: at91_udc: remove driver_data direct access of struct device\n  uml: remove driver_data direct access of struct device\n  block/ps3: remove driver_data direct access of struct device\n  s390: remove driver_data direct access of struct device\n  parport: remove driver_data direct access of struct device\n  parisc: remove driver_data direct access of struct device\n  of_serial: remove driver_data direct access of struct device\n  mips: remove driver_data direct access of struct device\n  ipmi: remove driver_data direct access of struct device\n  infiniband: ehca: remove driver_data direct access of struct device\n  ibmvscsi: gadget: at91_udc: remove driver_data direct access of struct device\n  hvcs: remove driver_data direct access of struct device\n  xen block: remove driver_data direct access of struct device\n  thermal: remove driver_data direct access of struct device\n  scsi: remove driver_data direct access of struct device\n  pcmcia: remove driver_data direct access of struct device\n  PCIE: remove driver_data direct access of struct device\n  ...\n\nManually fix up trivial conflicts due to different direct driver_data\ndirect access fixups in drivers/block/{ps3disk.c,ps3vram.c}\n"
    },
    {
      "commit": "609106b9ac968adbc76ce78c979fc3903a56e16c",
      "tree": "4af8b305ab4095870a927ffdb9a5e14eb2107401",
      "parents": [
        "69257cae20640a396f03aa0bf169b815ba66a58a",
        "42e27bfc4bfa42bd905e53be93d862b8e3d80a00"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 11:30:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 11:30:37 2009 -0700"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (38 commits)\n  ps3flash: Always read chunks of 256 KiB, and cache them\n  ps3flash: Cache the last accessed FLASH chunk\n  ps3: Replace direct file operations by callback\n  ps3: Switch ps3_os_area_[gs]et_rtc_diff to EXPORT_SYMBOL_GPL()\n  ps3: Correct debug message in dma_ioc0_map_pages()\n  drivers/ps3: Add missing annotations\n  ps3fb: Use ps3_system_bus_[gs]et_drvdata() instead of direct access\n  ps3flash: Use ps3_system_bus_[gs]et_drvdata() instead of direct access\n  ps3: shorten ps3_system_bus_[gs]et_driver_data to ps3_system_bus_[gs]et_drvdata\n  ps3: Use dev_[gs]et_drvdata() instead of direct access for system bus devices\n  block/ps3: remove driver_data direct access of struct device\n  ps3vram: Make ps3vram_priv.reports a void *\n  ps3vram: Remove no longer used ps3vram_priv.ddr_base\n  ps3vram: Replace mutex by spinlock + bio_list\n  block: Add bio_list_peek()\n  powerpc: Use generic atomic64_t implementation on 32-bit processors\n  lib: Provide generic atomic64_t implementation\n  powerpc: Add compiler memory barrier to mtmsr macro\n  powerpc/iseries: Mark signal_vsp_instruction() as maybe unused\n  powerpc/iseries: Fix unused function warning in iSeries DT code\n  ...\n"
    },
    {
      "commit": "1b6ed69f974f6f32c8be0d9a7fc952822eb83b6f",
      "tree": "2d812f7045060ad4c9d49aaeb47f6c6765a1fa9d",
      "parents": [
        "eb6bab138d8b1172edf67ef7bd2032f476b7c6ad"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Apr 30 17:30:02 2009 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:51 2009 -0700"
      },
      "message": "USB: xhci depends on PCI.\n\nWhile it looks like xhci was written with both PCI and non-PCI in mind,\napparently only the former has seen any testing. xhci-mem.o can be \"fixed\"\nwith a linux/dmapool.h include, but there are still parts of the code that\nmake use of struct pci_dev directly. So, at least more work is needed before\nthis can be turned on for non-PCI builds:\n\n  CC      drivers/usb/host/xhci-mem.o\ndrivers/usb/host/xhci-mem.c: In function \u0027xhci_segment_alloc\u0027:\ndrivers/usb/host/xhci-mem.c:45: error: implicit declaration of function \u0027dma_pool_alloc\u0027\ndrivers/usb/host/xhci-mem.c:45: warning: assignment makes pointer from integer without a cast\ndrivers/usb/host/xhci-mem.c: In function \u0027xhci_segment_free\u0027:\ndrivers/usb/host/xhci-mem.c:67: error: implicit declaration of function \u0027dma_pool_free\u0027\ndrivers/usb/host/xhci-mem.c: In function \u0027xhci_alloc_virt_device\u0027:\ndrivers/usb/host/xhci-mem.c:239: warning: assignment makes pointer from integer without a cast\ndrivers/usb/host/xhci-mem.c:248: warning: assignment makes pointer from integer without a cast\ndrivers/usb/host/xhci-mem.c: In function \u0027xhci_mem_cleanup\u0027:\ndrivers/usb/host/xhci-mem.c:578: error: implicit declaration of function \u0027dma_pool_destroy\u0027\ndrivers/usb/host/xhci-mem.c: In function \u0027xhci_mem_init\u0027:\ndrivers/usb/host/xhci-mem.c:657: error: implicit declaration of function \u0027dma_pool_create\u0027\ndrivers/usb/host/xhci-mem.c:658: warning: assignment makes pointer from integer without a cast\ndrivers/usb/host/xhci-mem.c:663: warning: assignment makes pointer from integer without a cast\nmake[3]: *** [drivers/usb/host/xhci-mem.o] Error 1\n\n  CC      drivers/usb/host/xhci-pci.o\ndrivers/usb/host/xhci-pci.c: In function \u0027xhci_pci_reinit\u0027:\ndrivers/usb/host/xhci-pci.c:39: error: implicit declaration of function \u0027pci_set_mwi\u0027\ndrivers/usb/host/xhci-pci.c: At top level:\ndrivers/usb/host/xhci-pci.c:151: error: \u0027usb_hcd_pci_probe\u0027 undeclared here (not in a function)\ndrivers/usb/host/xhci-pci.c:152: error: \u0027usb_hcd_pci_remove\u0027 undeclared here (not in a function)\ndrivers/usb/host/xhci-pci.c:155: error: \u0027usb_hcd_pci_shutdown\u0027 undeclared here (not in a function)\ndrivers/usb/host/xhci-pci.c:159: warning: function declaration isn\u0027t a prototype\ndrivers/usb/host/xhci-pci.c:164: warning: function declaration isn\u0027t a prototype\nmake[3]: *** [drivers/usb/host/xhci-pci.o] Error 1\n\nCc: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "eb6bab138d8b1172edf67ef7bd2032f476b7c6ad",
      "tree": "29972155863659337b8a1aa91488b775ef34f824",
      "parents": [
        "f88ba78d9ac0e1f583da4cada80b8816ca761a3f"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Apr 29 19:07:13 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:51 2009 -0700"
      },
      "message": "USB: xhci: Add Makefile, MAINTAINERS, and Kconfig entries.\n\nAdd Makefile and Kconfig entries for the xHCI host controller driver.\nList Sarah Sharp as the maintainer for the xHCI driver.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f88ba78d9ac0e1f583da4cada80b8816ca761a3f",
      "tree": "e02af0c83817517c2c5ba20c3cf9335b2f4ab9a9",
      "parents": [
        "a4d88302268d1e458f7c6eb7855f1ba4b3a7cffc"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu May 14 11:44:22 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:51 2009 -0700"
      },
      "message": "USB: xhci: Respect critical sections.\n\nNarrow down time spent holding the xHCI spinlock so that it\u0027s only used to\nprotect the xHCI rings, not as mutual exclusion.  Stop allocating memory\nwhile holding the spinlock and calling xhci_alloc_virt_device() and\nxhci_endpoint_init().\n\nThe USB core should have locking in it to prevent device state to be\nmanipulated by more than one kernel thread.  E.g. you can\u0027t free a device\nwhile you\u0027re in the middle of setting a new configuration.  So removing\nthe locks from the sections where xhci_alloc_dev() and\nxhci_reset_bandwidth() touch xHCI\u0027s representation of the device should be\nOK.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a4d88302268d1e458f7c6eb7855f1ba4b3a7cffc",
      "tree": "fb039a911f47b4ae6b696fd101eb19649d5cb065",
      "parents": [
        "98441973105b80e133fcaa47ebf17be1e024ea30"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu May 14 11:44:26 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:51 2009 -0700"
      },
      "message": "USB: xHCI: Fix interrupt moderation.\n\nMask off the lower 16 bits of the interrupt control register, instead of\nmasking off the upper 16 bits.  The interrupt moderation interval field is\nthe lower 16 bytes, and is set to 0x4000 (1ms) by default.  The previous\ncode was adding 40 us to the default value, instead of setting it to 40\nus.  This makes performance really bad.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "98441973105b80e133fcaa47ebf17be1e024ea30",
      "tree": "87a083ad72dff9b398c9276f5eabf51b6fe17612",
      "parents": [
        "6071d8363b7b284038069f1795a98372fbc1a48e"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu May 14 11:44:18 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:51 2009 -0700"
      },
      "message": "USB: xhci: Remove packed attribute from structures.\n\nThe packed attribute allows gcc to muck with the alignment of data\nstructures, which may lead to byte-wise writes that break atomicity of\nwrites.  Packed should only be used when the compile may add undesired\npadding to the structure.  Each element of the structure will be aligned\nby C based on its size and the size of the elements around it.  E.g. a u64\nwould be aligned on an 8 byte boundary, the next u32 would be aligned on a\nfour byte boundary, etc.\n\nSince most of the xHCI structures contain only u32 bit values, removing\nthe packed attribute for them should be harmless.  (A future patch will\nchange some of the twin 32-bit address fields to one 64-bit field, but all\nthose places have an even number of 32-bit fields before them, so the\nalignment should be correct.)  Add BUILD_BUG_ON statements to check that\nthe compiler doesn\u0027t add padding to the data structures that have a\nhardware-defined layout.\n\nWhile we\u0027re modifying the registers, change the name of intr_reg to\nxhci_intr_reg to avoid global conflicts.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6071d8363b7b284038069f1795a98372fbc1a48e",
      "tree": "e5b56ace01d240c49b1acbdc02f17cf6a2102fdc",
      "parents": [
        "7dd19e69d131ea34f74397559b422511e54d2911"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu May 14 11:44:14 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:51 2009 -0700"
      },
      "message": "usb; xhci: Fix TRB offset calculations.\n\nGreg KH introduced a bug into xhci_trb_virt_to_dma() when he changed the\ntype of offset to dma_addr_t from unsigned int and dropped the casts to\nunsigned int around the virtual address pointer subtraction.\n\ntrb and seg-\u003etrbs are both valid pointers to virtual addresses, so the\ncompiler will mod the subtraction by the size of union trb (16 bytes).\nsegment_offset is an unsigned long, which is guaranteed to be at least as\nbig as a void *.\n\nDrop the void * casts in the first if statement because trb and seg-\u003etrbs\nare both pointers of the same type (pointers to union trb).\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7dd19e69d131ea34f74397559b422511e54d2911",
      "tree": "1b455948d554cc02cf36d31e3915446c557a424a",
      "parents": [
        "527c6d7f188f116852141f50b4d008f966bb17f8"
      ],
      "author": {
        "name": "Viral Mehta",
        "email": "viral.mehta@einfochips.com",
        "time": "Tue May 05 15:54:23 2009 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:50 2009 -0700"
      },
      "message": "USB: xhci: replace if-elseif-else with switch-case\n\nReplace if-elseif-else with switch-case\nto keep the code consistent which is semantically same\n\nSwitch-case is used here,\nhttp://www.spinics.net/lists/linux-usb/msg17201.html\nMaking consistent at other places in usb/core\n\nAlso easier to read and maintain when USB4.0, 5.0, ... comes\n\nSigned-off-by: Viral Mehta \u003cviral.mehta@einfochips.com\u003e\nTested-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "527c6d7f188f116852141f50b4d008f966bb17f8",
      "tree": "80a7ff9ecad1dc6a7652d7dde1a86b9846f9180a",
      "parents": [
        "c7959fb265d8d5e00eb6d30717eb63e6189a1f07"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Apr 29 19:06:56 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:50 2009 -0700"
      },
      "message": "USB: xhci: Make xhci-mem.c include linux/dmapool.h\n\nxhci-mem.c includes calls to dma_pool_alloc() and other functions defined\nin linux/dmapool.h.  Make sure to include that header file.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c7959fb265d8d5e00eb6d30717eb63e6189a1f07",
      "tree": "ee479989ec423d5b9d9f7a5c6cdb47259d73ecaf",
      "parents": [
        "f0058c627855ecb3b6c7185b7ad1910463c24c42"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Apr 29 19:06:36 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:50 2009 -0700"
      },
      "message": "USB: xhci: drop spinlock in xhci_urb_enqueue() error path.\n\nMake sure the error path in xhci_urb_enqueue() releases the spinlock\nbefore it returns.  Reported by Oliver in\n\thttp://marc.info/?l\u003dlinux-usb\u0026m\u003d124091637311832\u0026w\u003d2\n\nReported-by: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f0058c627855ecb3b6c7185b7ad1910463c24c42",
      "tree": "dfa5e75711a2a1dfe8d3b5384558290ad18cf9d6",
      "parents": [
        "b7116ebca4e1a898f30ae474151fd6474327257c"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Apr 29 19:06:20 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:50 2009 -0700"
      },
      "message": "USB: Change names of SuperSpeed ep companion descriptor structs.\n\nDifferentiate between SuperSpeed endpoint companion descriptor and the\nwireless USB endpoint companion descriptor.  Make all structure names for\nthis descriptor have \"ss\" (SuperSpeed) in them.  David Vrabel asked for\nthis change in http://marc.info/?l\u003dlinux-usb\u0026m\u003d124091465109367\u0026w\u003d2\n\nReported-by: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b7116ebca4e1a898f30ae474151fd6474327257c",
      "tree": "c450c38cfc8464613e08cd3903f4b5d730b75549",
      "parents": [
        "c96a2b81f3747e6924307714666aa2368bc1718b"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Apr 29 19:05:58 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:50 2009 -0700"
      },
      "message": "USB: xhci: Avoid compiler reordering in Link TRB giveback.\n\nForce the compiler to write the cycle bit of the Link TRB last.  This\nensures that the hardware doesn\u0027t think it owns the Link TRB before we set\nthe chain bit.  Reported by Oliver in this thread:\n\thttp://marc.info/?l\u003dlinux-usb\u0026m\u003d124091532410219\u0026w\u003d2\n\nReported-by: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c96a2b81f3747e6924307714666aa2368bc1718b",
      "tree": "74e105ad1b7211b8764d361741520c548e7c6061",
      "parents": [
        "23e3be113f42790736319c049c78e5f9a4394c02"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Apr 29 19:05:40 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:50 2009 -0700"
      },
      "message": "USB: xhci: Clean up xhci_irq() function.\n\nDrop spinlock in xhci_irq() error path.\nThis fixes the issue reported by Oliver Neukum on this thread:\n\thttp://marc.info/?l\u003dlinux-usb\u0026m\u003d124090924401444\u0026w\u003d2\n\nRemove unnecessary register read reported by Viral Mehta:\n\thttp://marc.info/?l\u003dlinux-usb\u0026m\u003d124091326007398\u0026w\u003d2\n\nReported-by: Oliver Neukum \u003coliver@neukum.org\u003e\nReported-by: Viral Mehta \u003cviral.mehta@einfochips.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "23e3be113f42790736319c049c78e5f9a4394c02",
      "tree": "bdbc5fe6350d60202ed04e70a756cade8c92c596",
      "parents": [
        "06e7a1487b61e1ae909c4a4c264b4428c55beb7e"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Apr 29 19:05:20 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:50 2009 -0700"
      },
      "message": "USB: xhci: Avoid global namespace pollution.\n\nMake all globally visible functions start with xhci_ and mark functions as\nstatic if they\u0027re only called within the same C file.  Fix some long lines\nwhile we\u0027re at it.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "06e7a1487b61e1ae909c4a4c264b4428c55beb7e",
      "tree": "33371e5c383b6ae9e1a0f28d218b39b2b4a97a3e",
      "parents": [
        "3841d56ebb9730c786a59bf3207529c35214df26"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Apr 29 19:04:59 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:50 2009 -0700"
      },
      "message": "USB: xhci: Fix Link TRB handoff bit twiddling.\n\nMake sure to preserve all bits *except* the TRB_CHAIN bit when giving a\nLink TRB to the hardware.  We need to save things like TRB type and the\ntoggle bit in the control dword.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3841d56ebb9730c786a59bf3207529c35214df26",
      "tree": "6f9bd9e5eb0d291217240e1a38af0f1afadaa836",
      "parents": [
        "045f123d9c83b9a18c9d43a9afbf52bf0799640d"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Apr 29 19:04:32 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:50 2009 -0700"
      },
      "message": "USB: xhci: Fix register write order.\n\nThe 0.95 xHCI spec says that if the xHCI HW support 64-bit addressing, you\nmust write the whole 64-bit address as one atomic operation, or write the\nlow 32 bits, and then the high 32 bits.  I had the register writes\nswapped in some places.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "045f123d9c83b9a18c9d43a9afbf52bf0799640d",
      "tree": "e912ac6548f39dd57b76bc7519d853c33e430ec2",
      "parents": [
        "700e2052c6814b1b1d2714225d568c5c64bc49ae"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 29 19:12:44 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:50 2009 -0700"
      },
      "message": "USB: xhci: fix some compiler warnings in xhci.h\n\nThis fixes the warning:\ndrivers/usb/host/xhci.h:1083: warning: passing argument 1 of ‘xhci_to_hcd’ discards qualifiers from pointer target type\ndrivers/usb/host/xhci.h:1083: warning: passing argument 1 of ‘xhci_to_hcd’ discards qualifiers from pointer target type\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "700e2052c6814b1b1d2714225d568c5c64bc49ae",
      "tree": "67c62f3c3773d2b856e21662435c839a1aab9dd4",
      "parents": [
        "b7258a4aba2b24d5c27a0f6674795e83e7771969"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 29 19:14:08 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:50 2009 -0700"
      },
      "message": "USB: xhci: fix lots of compiler warnings.\n\nTurns out someone never built this code on a 64bit platform.\n\nSomeone owes me a beer...\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b7258a4aba2b24d5c27a0f6674795e83e7771969",
      "tree": "616af621400b760f0dbe113c54ee0b0638f9ed93",
      "parents": [
        "ae636747146ea97efa18e04576acd3416e2514f5"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Wed Apr 29 19:02:47 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:50 2009 -0700"
      },
      "message": "USB: xhci: use xhci_handle_event instead of handle_event\n\nThe former is way to generic for a global symbol.\n\nFixes this build error:\n\ndrivers/usb/built-in.o: In function `.handle_event\u0027: (.text+0x67dd0): multiple definition of `.handle_event\u0027\ndrivers/pcmcia/built-in.o:(.text+0xcfcc): first defined here\ndrivers/usb/built-in.o: In function `handle_event\u0027: (.opd+0x5bc8): multiple definition of `handle_event\u0027\ndrivers/pcmcia/built-in.o:(.opd+0xed0): first defined here\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ae636747146ea97efa18e04576acd3416e2514f5",
      "tree": "22e392df7126974c0ac4dc2fe516dc9e16a49873",
      "parents": [
        "8a96c052283e68fe91a6c657c175b39bfed80bed"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Apr 29 19:02:31 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: xhci: URB cancellation support.\n\nAdd URB cancellation support to the xHCI host controller driver.  This\ncurrently supports cancellation for endpoints that do not have streams\nenabled.\n\nAn URB is represented by a number of Transaction Request Buffers (TRBs),\nthat are chained together to make one (or more) Transaction Descriptors\n(TDs) on an endpoint ring.  The ring is comprised of contiguous segments,\nlinked together with Link TRBs (which may or may not be chained into a TD).\n\nTo cancel an URB, we must stop the endpoint ring, make the hardware skip\nover the TDs in the URB (either by turning them into No-op TDs, or by\nmoving the hardware\u0027s ring dequeue pointer past the last TRB in the last\nTD), and then restart the ring.\n\nThere are times when we must drop the xHCI lock during this process, like\nwhen we need to complete cancelled URBs.  We must ensure that additional\nURBs can be marked as cancelled, and that new URBs can be enqueued (since\nthe URB completion handlers can do either).  The new endpoint ring\nvariables cancels_pending and state (which can only be modified while\nholding the xHCI lock) ensure that future cancellation and enqueueing do\nnot interrupt any pending cancellation code.\n\nTo facilitate cancellation, we must keep track of the starting ring\nsegment, first TRB, and last TRB for each URB.  We also need to keep track\nof the list of TDs that have been marked as cancelled, separate from the\nlist of TDs that are queued for this endpoint.  The new variables and\ncancellation list are stored in the xhci_td structure.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8a96c052283e68fe91a6c657c175b39bfed80bed",
      "tree": "cf32b4462b2f3f59554b3531d866b60be2c4f6a1",
      "parents": [
        "e04748e3a87271fcf30d383e3780c5d3ee1c1618"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:59:19 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: xhci: Scatter gather list support for bulk transfers.\n\nAdd support for bulk URBs that pass scatter gather lists to xHCI.  This allows\nxHCI to more efficiently enqueue these transfers, and allows the host\ncontroller to take advantage of USB 3.0 \"bursts\" for bulk endpoints.\n\nUse requested length to calculate the number of TRBs needed for a scatter gather\nlist transfer, instead of using the number of sglist entries.  The application\ncan pass down a scatter gather list that is bigger than it needs for the\nrequested transfer.\n\nScatter gather entries can cross 64KB boundaries, so be careful to setup TRBs\nsuch that no buffer crosses a 64KB boundary.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e04748e3a87271fcf30d383e3780c5d3ee1c1618",
      "tree": "1e1053837fcde0761673cbba6140514630a372ed",
      "parents": [
        "b10de142119a676552df3f0d2e3a9d647036c26a"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:59:01 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: Push scatter gather lists down to host controller drivers.\n\nThis is the original patch I created before David Vrabel posted a better\npatch (http://marc.info/?l\u003dlinux-usb\u0026m\u003d123377477209109\u0026w\u003d2) that does\nbasically the same thing.  This patch will get replaced with his\n(modified) patch later.\n\nAllow USB device drivers that use usb_sg_init() and usb_sg_wait() to push\nbulk endpoint scatter gather lists down to the host controller drivers.\nThis allows host controller drivers to more efficiently enqueue these\ntransfers, and allows the xHCI host controller to better take advantage of\nUSB 3.0 \"bursts\" for bulk endpoints.\n\nThis patch currently only enables scatter gather lists for bulk endpoints.\nOther endpoint types that use the usb_sg_* functions will not have their\nscatter gather lists pushed down to the host controller.  For periodic\nendpoints, we want each scatterlist entry to be a separate transfer.\nEventually, HCDs could parse these scatter-gather lists for periodic\nendpoints also.  For now, we use the old code and call usb_submit_urb()\nfor each scatterlist entry.\n\nThe caller of usb_sg_init() can request that all bytes in the scatter\ngather list be transferred by passing in a length of zero.  Handle that\nrequest for a bulk endpoint under xHCI by walking the scatter gather list\nand calculating the length.  We could let the HCD handle a zero length in\nthis case, but I\u0027m not sure if the core layers in between will get\nconfused by this.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b10de142119a676552df3f0d2e3a9d647036c26a",
      "tree": "cd38fe5efed6776e7c9e154a05202bae4f683295",
      "parents": [
        "f94e0186312b0fc39f41eed4e21836ed74b7efe1"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:58:50 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: xhci: Bulk transfer support\n\nAllow device drivers to submit URBs to bulk endpoints on devices under an\nxHCI host controller.  Share code between the control and bulk enqueueing\nfunctions when it makes sense.\n\nTo get the best performance out of bulk transfers, SuperSpeed devices must\nhave the bMaxBurst size copied from their endpoint companion controller\ninto the xHCI device context.  This allows the host controller to \"burst\"\nup to 16 packets before it has to wait for the device to acknowledge the\nfirst packet.\n\nThe buffers in Transfer Request Blocks (TRBs) can cross page boundaries,\nbut they cannot cross 64KB boundaries.  The buffer must be broken into\nmultiple TRBs if a 64KB boundary is crossed.\n\nThe sum of buffer lengths in all the TRBs in a Transfer Descriptor (TD)\ncannot exceed 64MB.  To work around this, the enqueueing code must enqueue\nmultiple TDs.  The transfer event handler may incorrectly give back the\nURB in this case, if it gets a transfer event that points somewhere in the\nfirst TD.  FIXME later.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f94e0186312b0fc39f41eed4e21836ed74b7efe1",
      "tree": "d445d846f62c23cfbefc4958168d9cf4bacea3a4",
      "parents": [
        "79abb1ab13cee5ba488210798b6e7bbae0b391ac"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:58:38 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: xhci: Bandwidth allocation support\n\nSince the xHCI host controller hardware (xHC) has an internal schedule, it\nneeds a better representation of what devices are consuming bandwidth on\nthe bus.  Each device is represented by a device context, with data about\nthe device, endpoints, and pointers to each endpoint ring.\n\nWe need to update the endpoint information for a device context before a\nnew configuration or alternate interface setting is selected.  We setup an\ninput device context with modified endpoint information and newly\nallocated endpoint rings, and then submit a Configure Endpoint Command to\nthe hardware.\n\nThe host controller can reject the new configuration if it exceeds the bus\nbandwidth, or the host controller doesn\u0027t have enough internal resources\nfor the configuration.  If the command fails, we still have the older\ndevice context with the previous configuration.  If the command succeeds,\nwe free the old endpoint rings.\n\nThe root hub isn\u0027t a real device, so always say yes to any bandwidth\nchanges for it.\n\nThe USB core will enable, disable, and then enable endpoint 0 several\ntimes during the initialization sequence.  The device will always have an\nendpoint ring for endpoint 0 and bandwidth allocated for that, unless the\ndevice is disconnected or gets a SetAddress 0 request.  So we don\u0027t pay\nattention for when xhci_check_bandwidth() is called for a re-add of\nendpoint 0.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "79abb1ab13cee5ba488210798b6e7bbae0b391ac",
      "tree": "9bb008003d30146a092609a59882925640a5c93c",
      "parents": [
        "663c30d0829d556efabd5fbd98fb8473da7fe694"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:58:26 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: Support for bandwidth allocation.\n\nOriginally, the USB core had no support for allocating bandwidth when a\nparticular configuration or alternate setting for an interface was\nselected.  Instead, the device driver\u0027s URB submission would fail if\nthere was not enough bandwidth for a periodic endpoint.  Drivers could\nwork around this, by using the scatter-gather list API to guarantee\nbandwidth.\n\nThis patch adds host controller API to allow the USB core to allocate or\ndeallocate bandwidth for an endpoint.  Endpoints are added to or dropped\nfrom a copy of the current schedule by calling add_endpoint() or\ndrop_endpoint(), and then the schedule is atomically evaluated with a\ncall to check_bandwidth().  This allows all the endpoints for a new\nconfiguration or alternate setting to be added at the same time that the\nendpoints from the old configuration or alt setting are dropped.\n\nEndpoints must be added to the schedule before any URBs are submitted to\nthem.  The HCD must be allowed to reject a new configuration or alt\nsetting before the control transfer is sent to the device requesting the\nchange.  It may reject the change because there is not enough bandwidth,\nnot enough internal resources (such as memory on an embedded host\ncontroller), or perhaps even for security reasons in a virtualized\nenvironment.\n\nIf the call to check_bandwidth() fails, the USB core must call\nreset_bandwidth().  This causes the schedule to be reverted back to the\nstate it was in just after the last successful check_bandwidth() call.\n\nIf the call succeeds, the host controller driver (and hardware) will have\nchanged its internal state to match the new configuration or alternate\nsetting.  The USB core can then issue a control transfer to the device to\nchange the configuration or alt setting.  This allows the core to test new\nconfigurations or alternate settings before unbinding drivers bound to\ninterfaces in the old configuration.\n\nWIP:\n\nThe USB core must add endpoints from all interfaces in a configuration\nto the schedule, because a driver may claim that interface at any time.\nA slight optimization might be to add the endpoints to the schedule once\na driver claims that interface.  FIXME\n\nThis patch does not cover changing alternate settings, but it does\nhandle a configuration change or de-configuration.  FIXME\n\nThe code for managing the schedule is currently HCD specific.  A generic\nscheduling algorithm could be added for host controllers without\nbuilt-in scheduling support.  For now, if a host controller does not\ndefine the check_bandwidth() function, the call to\nusb_hcd_check_bandwidth() will always succeed.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "663c30d0829d556efabd5fbd98fb8473da7fe694",
      "tree": "1d2566aff3b6af6e05cf3a7a0fc1c1fb17bfe5db",
      "parents": [
        "d0e96f5a71a032ced0c35f521c1cbd67e816922a"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:58:14 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: Parse and store the SuperSpeed endpoint companion descriptors.\n\nThe USB 3.0 bus specification added an \"Endpoint Companion\" descriptor that is\nsupposed to follow all SuperSpeed Endpoint descriptors.  This descriptor is used\nto extend the bus protocol to allow more packets to be sent to an endpoint per\n\"microframe\".  The word microframe was removed from the USB 3.0 specification\nbecause the host controller does not send Start Of Frame (SOF) symbols down the\nUSB 3.0 wires.\n\nThe descriptor defines a bMaxBurst field, which indicates the number of packets\nof wMaxPacketSize that a SuperSpeed device can send or recieve in a service\ninterval.  All non-control endpoints may set this value as high as 16 packets\n(bMaxBurst \u003d 15).\n\nThe descriptor also allows isochronous endpoints to further specify that they\ncan send and receive multiple bursts per service interval.  The bmAttributes\nallows them to specify a \"Mult\" of up to 3 (bmAttributes \u003d 2).\n\nBulk endpoints use bmAttributes to report the number of \"Streams\" they support.\nThis was an extension of the endpoint pipe concept to allow multiple mass\nstorage device commands to be outstanding for one bulk endpoint at a time.  This\nshould allow USB 3.0 mass storage devices to support SCSI command queueing.\nBulk endpoints can say they support up to 2^16 (65,536) streams.\n\nThe information in the endpoint companion descriptor must be stored with the\nother device, config, interface, and endpoint descriptors because the host\ncontroller needs to access them quickly, and we need to install some default\nvalues if a SuperSpeed device doesn\u0027t provide an endpoint companion descriptor.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d0e96f5a71a032ced0c35f521c1cbd67e816922a",
      "tree": "402e4d1ce20682fd2efd3ffd2ad23ffd097b1436",
      "parents": [
        "6d65b78a093552fb42448480d4c66bf093a6d4cf"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:58:01 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: xhci: Control transfer support.\n\nAllow device drivers to enqueue URBs to control endpoints on devices under\nan xHCI host controller.  Each control transfer is represented by a\nseries of Transfer Descriptors (TDs) written to an endpoint ring.  There\nis one TD for the Setup phase, (optionally) one TD for the Data phase, and\none TD for the Status phase.\n\nEnqueue these TDs onto the endpoint ring that represents the control\nendpoint.  The host controller hardware will return an event on the event\nring that points to the (DMA) address of one of the TDs on the endpoint\nring.  If the transfer was successful, the transfer event TRB will have a\ncompletion code of success, and it will point to the Status phase TD.\nAnything else is considered an error.\n\nThis should work for control endpoints besides the default endpoint, but\nthat hasn\u0027t been tested.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3ffbba9511b4148cbe1f6b6238686adaeaca8feb",
      "tree": "f69e42d07d596039e049fe2b14b720ddc6be2694",
      "parents": [
        "c6515272b858742962c1de0f3bf497a048b9abd7"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:57:38 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: xhci: Allocate and address USB devices\n\nxHCI needs to get a \"Slot ID\" from the host controller and allocate other\ndata structures for every USB device.  Make usb_alloc_dev() and\nusb_release_dev() allocate and free these device structures.  After\nsetting up the xHC device structures, usb_alloc_dev() must wait for the\nhardware to respond to an Enable Slot command.  usb_alloc_dev() fires off\na Disable Slot command and does not wait for it to complete.\n\nWhen the USB core wants to choose an address for the device, the xHCI\ndriver must issue a Set Address command and wait for an event for that\ncommand.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c6515272b858742962c1de0f3bf497a048b9abd7",
      "tree": "5172d9b646fa5e364b5b35004f10628aed934a71",
      "parents": [
        "0f2a79300a1471cf92ab43af165ea13555c8b0a5"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:57:26 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: Support for addressing a USB device under xHCI\n\nAdd host controller driver API and a slot_id variable to struct\nusb_device.  This allows the xHCI host controller driver to ask the\nhardware to allocate a slot for the device when a struct usb_device is\nallocated.  The slot needs to be allocated at that point because the\nhardware can run out of internal resources, and we want to know that very\nearly in the device connection process.  Don\u0027t call this new API for root\nhubs, since they aren\u0027t real devices.\n\nAdd HCD API to let the host controller choose the device address.  This is\nespecially important for xHCI hardware running in a virtualized\nenvironment.  The guests running under the VM don\u0027t need to know which\naddresses on the bus are taken, because the hardware picks the address for\nthem.  Announce SuperSpeed USB devices after the address has been assigned\nby the hardware.\n\nDon\u0027t use the new get descriptor/set address scheme with xHCI.  Unless\nspecial handling is done in the host controller driver, the xHC can\u0027t\nissue control transfers before you set the device address.  Support for\nthe older addressing scheme will be added when the xHCI driver supports\nthe Block Set Address Request (BSR) flag in the Address Device command.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0f2a79300a1471cf92ab43af165ea13555c8b0a5",
      "tree": "a46c63777a6040708500aefdbc31e0a0404d2e4a",
      "parents": [
        "7206b00164a1c3ca533e01db285955617e1019f8"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:57:12 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:48 2009 -0700"
      },
      "message": "USB: xhci: Root hub support.\n\nAdd functionality for getting port status and hub descriptor for xHCI root\nhubs.  This is WIP because the USB 3.0 hub descriptor is different from\nthe USB 2.0 hub descriptor.  For now, we lie about the root hub descriptor\nbecause the changes won\u0027t effect how the core talks to the root hub.\nLater we will need to add the USB 3.0 hub descriptor for real hubs, and\nthis code might change.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7206b00164a1c3ca533e01db285955617e1019f8",
      "tree": "d11f6a5a63238110d4b763661a76ca87761a2d02",
      "parents": [
        "e7b7717247f61e2cf18ec47f91999065c59d1607"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:54:49 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:48 2009 -0700"
      },
      "message": "USB: Add route string to struct usb_device.\n\nThis patch adds a hex route string to each USB device.  The route string is used\nby the USB 3.0 host controller to send packets through the device tree.  USB 3.0\nhubs use this string to route packets to the correct port.  This is fundamental\nbus change from USB 2.0, where all packets were broadcast across the bus.\n\nDevices (including hubs) under a root port receive the route string 0x0.  Every\nfour bits in the route string represent a port on a hub.  This length works\nbecause USB 3.0 hubs are limited to 15 ports, and USB 2.0 hubs (with potentially\nmore ports) will never see packets with a route string.  A port number of 0\nmeans the packet is destined for that hub.\n\nFor example, a peripheral device might have a route string of 0x00097.\nThis means the device is connected to port 9 of the hub at depth 1.\nThe hub at depth 1 is connected to port 7 of a hub at depth 0.\nThe hub at depth 0 is connected to a root port.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e7b7717247f61e2cf18ec47f91999065c59d1607",
      "tree": "e644aa7eb5aa1063aaece0fddb14598c2f7404f3",
      "parents": [
        "d2e9b4d6734db2327af3149d8ca7555307e10828"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:54:26 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:48 2009 -0700"
      },
      "message": "USB: Don\u0027t reset USB 3.0 devices on port change detection.\n\nThe USB 3.0 bus specification defines a new connection sequence for USB 3.0\nhubs and roothubs.  USB 3.0 devices are reset and link trained by the hub\nbefore the port status change notification is sent to the host OS.  This means\nthat an entire tree of devices can be trained in parallel on power up, and the\nOS no longer needs to reset USB 3.0 devices.  Change the USB core\u0027s hub port\ninit sequence so that it does not reset USB 3.0 devices.\n\nThe port status change from the roothub and from the USB 3.0 hub will report\nthe SuperSpeed connect correctly.  This patch currently only handles the\nroothub case.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d2e9b4d6734db2327af3149d8ca7555307e10828",
      "tree": "b5a37d14674e61b5342bf61056cf21bb21d6720a",
      "parents": [
        "6b403b020c1f42180b14d28d832da61167cff822"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:55:01 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:48 2009 -0700"
      },
      "message": "USB: Add USB 3.0 roothub support to USB core.\n\nAdd USB 3.0 root hub descriptors.  This is a kludge because I reused the old\nUSB 2.0 descriptors, instead of using the new USB 3.0 hub descriptors with\nendpoint companion descriptors and other descriptors.  I did this because I\nwasn\u0027t ready to add USB 3.0 hub changes to khubd.  For now, a USB 3.0 roothub\nlooks like a USB 2.0 roothub, with a higher speed.\n\nUSB 3.0 hubs have no transaction translator (TT).\n\nMake USB core debugging handle super speed ports.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6b403b020c1f42180b14d28d832da61167cff822",
      "tree": "4b7271244f3b150a31c856970651d2171343d2c7",
      "parents": [
        "7f84eef0dafb1d318263d8b71c38700aaf2d530d"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:54:10 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:48 2009 -0700"
      },
      "message": "USB: Add SuperSpeed to the list of USB device speeds.\n\nModify the USB core to handle the new USB 3.0 speed, \"SuperSpeed\".  This\nis 5.0 Gbps (wire speed).  There are probably more places that check for\nspeed that I\u0027ve missed.\n\nSuperSpeed devices have a 512 byte endpoint 0 max packet size.  This shows\nup as a bMaxPacketSize0 set to 0x09 (see table 9-8 of the USB 3.0 bus\nspec).\n\nxHCI spec says that the xHC can handle intervals up to 2^15 microframes.  That\nmight change when real silicon becomes available.\n\nAdd FIXME note for SuperSpeed isochronous endpoints.  They can transmit up\nto 16 packets in one \"burst\" before they wait for an acknowledgment of the\npackets.  They can do up to 3 bursts per microframe (determined by the\nmult value in the endpoint companion descriptor).  The xHCI driver doesn\u0027t\nhave support for isoc yet, so fix this later.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7f84eef0dafb1d318263d8b71c38700aaf2d530d",
      "tree": "d7de1ac3d91fb206a5cec2e85b0ad7f4a7b78b21",
      "parents": [
        "a74588f94655263b96dacbbf14aac0958d8b7409"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:53:56 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:48 2009 -0700"
      },
      "message": "USB: xhci: No-op command queueing and irq handler.\n\nxHCI host controllers can optionally implement a no-op test.  This\nsimple test ensures the OS has correctly setup all basic data structures\nand can correctly respond to interrupts from the host controller\nhardware.\n\nThere are two rings exercised by the no-op test:  the command ring, and\nthe event ring.\n\nThe host controller driver writes a no-op command TRB to the command\nring, and rings the doorbell for the command ring (the first entry in\nthe doorbell array).  The hardware receives this event, places a command\ncompletion event on the event ring, and fires an interrupt.\n\nThe host controller driver sees the interrupt, and checks the event ring\nfor TRBs it can process, and sees the command completion event.  (See\nthe rules in xhci-ring.c for who \"owns\" a TRB.  This is a simplified set\nof rules, and may not contain all the details that are in the xHCI 0.95\nspec.)\n\nA timer fires every 60 seconds to debug the state of the hardware and\ncommand and event rings.  This timer only runs if\nCONFIG_USB_XHCI_HCD_DEBUGGING is \u0027y\u0027.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a74588f94655263b96dacbbf14aac0958d8b7409",
      "tree": "0c4a53d0e6aa00fe9226c9c915f22da9171043ad",
      "parents": [
        "0ebbab37422315a5d0cb29792271085bafdf38c0"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:53:42 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:48 2009 -0700"
      },
      "message": "USB: xhci: Device context array allocation.\n\nInstead of keeping a \"frame list\" like older host controllers, the xHCI\nhost controller keeps internal representations of the USB devices, with a\ntransfer ring per endpoint.  The host controller queues Transfer Request\nBlocks (TRBs) to the endpoint ring, and then \"rings the doorbell\" for that\ndevice.  The host controller processes the transfer, places a transfer\ncompletion event on the event ring, and interrupts the system.\n\nThe device context base address array must be allocated by the xHCI host\ncontroller driver, along with the device contexts it points to.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0ebbab37422315a5d0cb29792271085bafdf38c0",
      "tree": "b638a71f004c27b49ea09f64ed80596078cc6167",
      "parents": [
        "66d4eadd8d067269ea8fead1a50fe87c2979a80d"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:52:34 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:48 2009 -0700"
      },
      "message": "USB: xhci: Ring allocation and initialization.\n\nAllocate basic xHCI host controller data structures.  For every xHC, there\nis a command ring, an event ring, and a doorbell array.\n\nThe doorbell array is used to notify the host controller that work has\nbeen enqueued onto one of the rings.  The host controller driver enqueues\ncommands on the command ring.  The HW enqueues command completion events\non the event ring and interrupts the system (currently using PCI\ninterrupts, although the xHCI HW will use MSI interrupts eventually).\n\nAll rings and the doorbell array must be allocated by the xHCI host\ncontroller driver.\n\nEach ring is comprised of one or more segments, which consists of 16-byte\nTransfer Request Blocks (TRBs) that can be chained to form a Transfer\nDescriptor (TD) that represents a multiple-buffer request.  Segments are\nlinked into a ring using Link TRBs, which means they are dynamically\ngrowable.\n\nThe producer of the ring enqueues a TD by writing one or more TRBs in the\nring and toggling the TRB cycle bit for each TRB.  The consumer knows it\ncan process the TRB when the cycle bit matches its internal consumer cycle\nstate for the ring.  The consumer cycle state is toggled an odd amount of\ntimes in the ring.\n\nAn example ring (a ring must have a minimum of 16 TRBs on it, but that\u0027s\ntoo big to draw in ASCII art):\n\n              chain  cycle\n               bit    bit\n ------------------------\n| TD A TRB 1 |  1  |  1  |\u003c-------------  \u003c-- consumer dequeue ptr\n ------------------------               |     consumer cycle state \u003d 1\n| TD A TRB 2 |  1  |  1  |              |\n ------------------------               |\n| TD A TRB 3 |  0  |  1  |  segment 1   |\n ------------------------               |\n| TD B TRB 1 |  1  |  1  |              |\n ------------------------               |\n| TD B TRB 2 |  0  |  1  |              |\n ------------------------               |\n| Link TRB   |  0  |  1  |-----         |\n ------------------------     |         |\n                              |         |\n              chain  cycle    |         |\n               bit    bit     |         |\n ------------------------     |         |\n| TD C TRB 1 |  0  |  1  |\u003c----         |\n ------------------------               |\n| TD D TRB 1 |  1  |  1  |              |\n ------------------------               |\n| TD D TRB 2 |  1  |  1  |   segment 2  |\n ------------------------               |\n| TD D TRB 3 |  1  |  1  |              |\n ------------------------               |\n| TD D TRB 4 |  1  |  1  |              |\n ------------------------               |\n| Link TRB   |  1  |  1  |-----         |\n ------------------------     |         |\n                              |         |\n              chain  cycle    |         |\n               bit    bit     |         |\n ------------------------     |         |\n| TD D TRB 5 |  1  |  1  |\u003c----         |\n ------------------------               |\n| TD D TRB 6 |  0  |  1  |              |\n ------------------------               |\n| TD E TRB 1 |  0  |  1  |   segment 3  |\n ------------------------               |\n|            |  0  |  0  |              | \u003c-- producer enqueue ptr\n ------------------------               |\n|            |  0  |  0  |              |\n ------------------------               |\n| Link TRB   |  0  |  0  |---------------\n ------------------------\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ],
  "next": "66d4eadd8d067269ea8fead1a50fe87c2979a80d"
}
