)]}'
{
  "log": [
    {
      "commit": "adf0760ceb775202fe7838c21eede5788f2ac31d",
      "tree": "be3d3c73b598d7af930e9cf5a3626c67873f0a0d",
      "parents": [
        "fec502d9a18bbe8045c67bd4f9d3a1ade4e78555"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 21 11:39:17 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 21 15:26:03 2011 -0700"
      },
      "message": "USB: gadget: f_accessory: Add ioctl to detect USB accessory attached at boot\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "d74348cebf7b883a872c5f0cfdf815855e08db5a",
      "tree": "759b0b022db0a5071f20ff36e7f1cbc42ce87988",
      "parents": [
        "07b02fbd98dcc988eb3379b916832473bd8bdfc1"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 20 17:08:28 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 20 17:17:39 2011 -0700"
      },
      "message": "USB: gadget: f_mtp: Move all setup handling to mtp_ctrlrequest\n\nThe composite driver no longer sends setup requests to functions if the\ndestination is USB_RECIP_DEVICE, so we need to handle the requests\nhere instead of the function\u0027s setup callback.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "ce4022b8d1c9e1b380dc5177f955bfe5f1327e3e",
      "tree": "932bd019c44b27ff5d33822206d1386f95eab70a",
      "parents": [
        "f558e1e53997b661e85de0ba96c2596c9cc97b4f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 14 19:42:42 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jul 15 17:18:14 2011 -0400"
      },
      "message": "USB: gadget: f_mtp: Add support for sending MTP header during file transfer\n\nMTP_SEND_FILE_WITH_HEADER ioctl allows sending a file with the 12 byte header\nprepended at the beginning.\nThis is to allow MTP to use a single packet for the data phase instead of two.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "75c56a81116e51c5cf15c0641906d0745188cd16",
      "tree": "c1d8e7def5bbb099a39d5e9ccfb13508ea5ca46a",
      "parents": [
        "b4294d618e8a19bb47826e51ae52b9fb2fe05f80",
        "620917de59eeb934b9f8cf35cc2d95c1ac8ed0fc"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 12 20:10:37 2011 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 12 20:10:37 2011 -0700"
      },
      "message": "Merge commit \u0027v3.0-rc7\u0027 into android-3.0\n"
    },
    {
      "commit": "ab246b81fb40a587e89f281fe9255833b7540220",
      "tree": "0434320e4a18914f566811227e22886cea99622f",
      "parents": [
        "2fc52d645892c7a5fb9915b09351f934ea03f15d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jun 24 15:58:51 2011 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Jul 11 15:30:10 2011 -0700"
      },
      "message": "USB: otg: add otg id notifier utiltiies\n\nAdd a otg_id notifier to allow multiple drivers to cooperate to\ndetermine the type of cable connected to a USB connector without\nrequiring direct calls between the drivers.\n\nChange-Id: Ic5675f1a89daf85b17336765de24e4bdb6df6348\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n"
    },
    {
      "commit": "814cdea670616252e4cdf297a07b02ce59698bf1",
      "tree": "c4a5665995e813c252b07f1e863166059bfb5bcb",
      "parents": [
        "487ffb052891a552fecf865ad4b24bbe7945a413",
        "fe0d42203cb5616eeff68b14576a0f7e2dd56625"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Jul 07 17:55:44 2011 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Jul 07 17:55:44 2011 -0700"
      },
      "message": "Merge commit \u0027v3.0-rc6\u0027 into android-3.0\n"
    },
    {
      "commit": "ca5c485f55d326d9a23e4badd05890148aa53f74",
      "tree": "8dd87458cf563ec1537de3733fea52bf8f403415",
      "parents": [
        "e534c5b831c8b8e9f5edee5c8a37753c808b80dc"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Jul 06 17:03:45 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jul 07 13:29:33 2011 -0700"
      },
      "message": "USB: additional regression fix for device removal\n\nCommit e534c5b831c8b8e9f5edee5c8a37753c808b80dc (USB: fix regression\noccurring during device removal) didn\u0027t go far enough.  It failed to\ntake into account that when a driver claims multiple interfaces, it may\nrelease them all at the same time.  As a result, some interfaces can\nget released before they are unregistered, and we deadlock trying to\nacquire the bandwidth_mutex that we already own.\n\nThis patch (asl478) handles this case by setting the \"unregistering\"\nflag on all the interfaces before removing any of them.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: stable \u003cstable@kernel.org\u003e\nTested-by: Éric Piel \u003ceric.piel@tremplin-utc.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "75dc25a8708d905afffd6da5f4fe69356f4eac33",
      "tree": "80331ddfe53bc52ba7dced548197c84a1a36d41f",
      "parents": [
        "42c5a0740e5d5646483118bfdf8aab88ab319dc3"
      ],
      "author": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Fri Jul 01 17:19:56 2011 -0700"
      },
      "committer": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Wed Jul 06 18:44:38 2011 -0700"
      },
      "message": "USB: OTG: Take wakelock when VBUS present\n\nEnabled by default, can disable with:\n   echo N \u003e /sys/module/otg_wakelock/parameters/enabled\n\nChange-Id: I34974624c52ae23490852b44c270d2f326cf6116\nSigned-off-by: Todd Poynor \u003ctoddpoynor@google.com\u003e\n"
    },
    {
      "commit": "e534c5b831c8b8e9f5edee5c8a37753c808b80dc",
      "tree": "39e00c08e593edcbaeaa54a3288158a622be9e70",
      "parents": [
        "3140d5b2664309253ba465a14c89fe4f59c0359b"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Jul 01 16:43:02 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jul 01 14:20:39 2011 -0700"
      },
      "message": "USB: fix regression occurring during device removal\n\nThis patch (as1476) fixes a regression introduced by\nfccf4e86200b8f5edd9a65da26f150e32ba79808 (USB: Free bandwidth when\nusb_disable_device is called).  usb_disconnect() grabs the\nbandwidth_mutex before calling usb_disable_device(), which calls down\nindirectly to usb_set_interface(), which tries to acquire the\nbandwidth_mutex.\n\nThe fix causes usb_set_interface() to return early when it is called\nfor an interface that has already been unregistered, which is what\nhappens in usb_disable_device().\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nTested-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3140d5b2664309253ba465a14c89fe4f59c0359b",
      "tree": "d888bbeea10a668ef3df6b5ebf2f326fbc8c0f68",
      "parents": [
        "daf54f1f363a61c618662ef66d4bf09d2b090941"
      ],
      "author": {
        "name": "Anatolij Gustschin",
        "email": "agust@denx.de",
        "time": "Sat Jun 25 23:37:29 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jul 01 14:20:39 2011 -0700"
      },
      "message": "USB: fsl_udc_core: fix build breakage when building for ARM arch\n\nCommit 09ba0def (USB: fsl_udc_core: prepare for SoCs with\nBE registers and descriptors) introduced build breakage\non ARM arch. Fix it by setting accessors using a static\ninline function which is a nop when compiling the driver\nfor ARM arch.\n\nCommit 2ea6698 (USB: fsl_udc_core: support device mode of\nMPC5121E DR USB Controller) caused another breakage on ARM\nby using flush_dcache_range(). Don\u0027t use it, convert to the\nDMA API usage instead. USB2.0CV Halt Endpoint Test succeeds\non PPC. Tested both on ARM i.MX31 and mpc5121 PPC, also with\nCONFIG_DMA_API_DEBUG enabled.\n\nSigned-off-by: Anatolij Gustschin \u003cagust@denx.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e55d4fa96762fd767a3b6d842c904e994db6bb2e",
      "tree": "c74157e01cb128cb97f106a50cfadc4c8b872c41",
      "parents": [
        "e32c14667e4fe9f16ac9b918d15d29abd2315a55",
        "b0af8dfdd67699e25083478c63eedef2e72ebd85"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jun 29 13:54:42 2011 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jun 29 13:54:42 2011 -0700"
      },
      "message": "Merge commit \u0027v3.0-rc5\u0027 into android-3.0\n"
    },
    {
      "commit": "2e34b429a404675dc4fc4ad2ee339eea028da3ca",
      "tree": "93c9595fa65bf1e676f9b2a2b03bc8c187c25d06",
      "parents": [
        "04b905942b482092a547798a2477f21e32a8f65d",
        "857aab34f04ff86666aa80e751ee696eff0113dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 28 11:15:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 28 11:15:17 2011 -0700"
      },
      "message": "Merge branch \u0027usb-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* \u0027usb-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:\n  MAINTAINERS: add myself as maintainer of USB/IP\n  usb: r8a66597-hcd: fix cannot detect low/full speed device\n  USB: ehci-ath79: fix a NULL pointer dereference\n  USB: Add new FT232H chip to drivers/usb/serial/ftdi_sio.c\n  usb/isp1760: Fix bug preventing the unlinking of control urbs\n  USB: Fix up URB error codes to reflect implementation.\n  xhci: Always set urb-\u003estatus to zero for isoc endpoints.\n  xhci: Add reset on resume quirk for asrock p67 host\n  xHCI 1.0: Incompatible Device Error\n  USB: don\u0027t let errors prevent system sleep\n  USB: don\u0027t let the hub driver prevent system sleep\n  USB: change maintainership of ohci-hcd and ehci-hcd\n  xHCI 1.0: Force Stopped Event(FSE)\n  xhci: Don\u0027t warn about zeroed bMaxBurst descriptor field.\n  USB: Free bandwidth when usb_disable_device is called.\n  xhci: Reject double add of active endpoints.\n  USB: TI 3410/5052 USB Serial Driver: Fix mem leak when firmware is too big.\n  usb: musb: gadget: clear TXPKTRDY flag when set FLUSHFIFO\n  usb: musb: host: compare status for negative error values\n"
    },
    {
      "commit": "87abd0a92c72eea71542d6c972c67e39e584e989",
      "tree": "556fb2566196ad54b7b62c0a8293fe4d66c85a56",
      "parents": [
        "c27d5368ef1f7ea40bcd1fb2626f4c99d77e0080"
      ],
      "author": {
        "name": "Yoshihiro Shimoda",
        "email": "yoshihiro.shimoda.uh@renesas.com",
        "time": "Tue Jun 21 13:24:42 2011 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 27 13:46:44 2011 -0700"
      },
      "message": "usb: r8a66597-hcd: fix cannot detect low/full speed device\n\nThis controller can control \"Transaction Translators\", but\nthe hcd-\u003ehas_tt is not set.\nSince the commit d199c96d41d80a567493e12b8e96ea056a1350c1\n(\"USB: prevent buggy from crashing the USB stack\") has checked it,\nthe driver could not work the low/full speed device.\n\nSigned-off-by: Yoshihiro Shimoda \u003cyoshihiro.shimoda.uh@renesas.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c27d5368ef1f7ea40bcd1fb2626f4c99d77e0080",
      "tree": "5389426a08143ec7357f38e97ec255be672fbaa1",
      "parents": [
        "309427b6351b763917caac3e4b2ab5651df99823"
      ],
      "author": {
        "name": "Gabor Juhos",
        "email": "juhosg@openwrt.org",
        "time": "Mon Jun 20 17:22:36 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 27 13:46:44 2011 -0700"
      },
      "message": "USB: ehci-ath79: fix a NULL pointer dereference\n\nLoading the ehci-hcd module on the ath79 platform causes\na NULL pointer dereference:\n\nCPU 0 Unable to handle kernel paging request at virtual address 00000000, epc \u003d\u003d c0252928, ra \u003d\u003d c00de968\nOops[#1]:\nCpu 0\n$ 0   : 00000000 00000070 00000001 00000000\n$ 4   : 802cf870 0000117e ffffffff 8019c7bc\n$ 8   : 0000000a 00000002 00000001 fffffffb\n$12   : 8026ef20 0000000f ffffff80 802dad3c\n$16   : 8077a2d4 8077a200 c00f3484 8019ed84\n$20   : c00f0000 00000003 000000a0 80262c2c\n$24   : 00000002 80079da0\n$28   : 80788000 80789c80 80262b14 c00de968\nHi    : 00000000\nLo    : b61f0000\nepc   : c0252928 __mod_vermagic5+0xc260/0xc7e8 [ehci_hcd]\n    Not tainted\nra    : c00de968 usb_add_hcd+0x2a4/0x858 [usbcore]\nStatus: 1000c003    KERNEL EXL IE\nCause : 00800008\nBadVA : 00000000\nPrId  : 00019374 (MIPS 24Kc)\nModules linked in: ehci_hcd(+) pppoe pppox ipt_REJECT xt_TCPMSS ipt_LOG\nxt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filte\nr ip_tables xt_tcpudp x_tables ppp_async ppp_generic slhc ath mac80211\nusbcore nls_base input_polldev crc_ccitt cfg80211 compat input_core a\nrc4 aes_generic crypto_algapi\nProcess insmod (pid: 379, threadinfo\u003d80788000, task\u003d80ca2180,\ntls\u003d77fe52d0)\nStack : c0253184 80c57d80 80789cac 8077a200 00000001 8019edc0 807fa800 8077a200\n        8077a290 c00f3484 8019ed84 c00f0000 00000003 000000a0 80262c2c c00de968\n        802d0000 800878cc c0253228 c02528e4 c0253184 80c57d80 80bf6800 80ca2180\n        8007b75c 00000000 8077a200 802cf830 802d0000 00000003 fffffff4 00000015\n        00000348 00000124 800b189c c024bb4c c0255000 801a27e8 c0253228 c02528e4\n        ...\nCall Trace:\n[\u003cc0252928\u003e] __mod_vermagic5+0xc260/0xc7e8 [ehci_hcd]\n\nIt is caused by:\n\n  commit c430131a02d677aa708f56342c1565edfdacb3c0\n  Author: Jan Andersson \u003cjan@gaisler.com\u003e\n  Date:   Tue May 3 20:11:57 2011 +0200\n\n      USB: EHCI: Support controllers with big endian capability regs\n\n      The two first HC capability registers (CAPLENGTH and HCIVERSION)\n      are defined as one 8-bit and one 16-bit register. Most HC\n      implementations have selected to treat these registers as part\n      of a 32-bit register, giving the same layout for both big and\n      small endian systems.\n\n      This patch adds a new quirk, big_endian_capbase, to support\n      controllers with big endian register interfaces that treat\n      HCIVERSION and CAPLENGTH as individual registers.\n\n      Signed-off-by: Jan Andersson \u003cjan@gaisler.com\u003e\n      Acked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\n      Signed-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nThe reading of the HC capability register has been moved by that\ncommit to a place where the ehci-\u003ecaps field is not initialized\nyet. This patch moves the reading of the register back to the\noriginal place.\n\nAcked-by: Jan Andersson \u003cjan@gaisler.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Gabor Juhos \u003cjuhosg@openwrt.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "309427b6351b763917caac3e4b2ab5651df99823",
      "tree": "62e9e5a67fff16390a99db8390fbde1470ce0250",
      "parents": [
        "8b1ab60c767f33d79894ef66037ef851a7a88fc8"
      ],
      "author": {
        "name": "Uwe Bonnes",
        "email": "bon@elektron.ikp.physik.tu-darmstadt.de",
        "time": "Fri Jun 17 17:30:23 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 27 13:46:44 2011 -0700"
      },
      "message": "USB: Add new FT232H chip to drivers/usb/serial/ftdi_sio.c\n\nappended patch adds support for the new FTDI FT232H chip. This chip is a\nsingle channel version of the dual FT2232H/quad FT4232H, coming with it\u0027s\nown default PID 0x6014 (FT2232H uses the same PID 0x6010 like FT2232C,\nFT4232H has also it\u0027s own PID).\n\nThe patch was checked on an UM232H module and a terminal program with TX/RX\nshorted to that typing in the terminal reproduced the characters.\n\nSigned-off-by: Uwe Bonnes \u003cbon@elektron.ikp.physik.tu-darmstadt.de\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8b1ab60c767f33d79894ef66037ef851a7a88fc8",
      "tree": "12e4573f1a411fd162294fb54a39aadfd3153cd4",
      "parents": [
        "95a2424ff9221624c3944f3732f6cfacbb522ae4"
      ],
      "author": {
        "name": "Arvid Brodin",
        "email": "arvid.brodin@enea.com",
        "time": "Fri Jun 17 18:45:37 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 27 13:46:43 2011 -0700"
      },
      "message": "usb/isp1760: Fix bug preventing the unlinking of control urbs\n\nBoth control and bulk transfers use isp1760 slots of type ATL, but the\ndriver unlink code for ATL slots only acts on urbs describing a bulk\ntransfer, letting the code for INT slots take care of the unlink instead,\nwhich often ended up removing the interrupt transfer for root hub events\ninstead. That\u0027s not good, and gets fixed by this patch.\n\nSigned-off-by: Arvid Brodin \u003carvid.brodin@enea.com\u003e\nCc: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "95a2424ff9221624c3944f3732f6cfacbb522ae4",
      "tree": "4ad6cb7607d9dba7f76d3cbb8f8ac305d359c9ea",
      "parents": [
        "0af212ba8f123c2eba151af7726c34a50b127962",
        "a9e758634f464ffb09344821a9f0b5a5c6df2b3e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 27 13:35:23 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 27 13:36:47 2011 -0700"
      },
      "message": "Merge branch \u0027for-usb-linus\u0027 of git+ssh://master.kernel.org/pub/scm/linux/kernel/git/sarah/xhci into usb-linus\n\n* \u0027for-usb-linus\u0027 of git+ssh://master.kernel.org/pub/scm/linux/kernel/git/sarah/xhci:\n  USB: Fix up URB error codes to reflect implementation.\n  xhci: Always set urb-\u003estatus to zero for isoc endpoints.\n  xhci: Add reset on resume quirk for asrock p67 host\n  xHCI 1.0: Incompatible Device Error\n  xHCI 1.0: Force Stopped Event(FSE)\n  xhci: Don\u0027t warn about zeroed bMaxBurst descriptor field.\n  USB: Free bandwidth when usb_disable_device is called.\n  xhci: Reject double add of active endpoints.\n"
    },
    {
      "commit": "f76b168b6f117a49d36307053e1acbe30580ea5b",
      "tree": "2aa0cc19b27764d8eb55ce85eaf226a60ce27756",
      "parents": [
        "78420884e680da8fbc3240de2d3106437042381e"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sat Jun 18 20:22:23 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 21 23:19:50 2011 +0200"
      },
      "message": "PM: Rename dev_pm_info.in_suspend to is_prepared\n\nThis patch (as1473) renames the \"in_suspend\" field in struct\ndev_pm_info to \"is_prepared\", in preparation for an upcoming change.\nThe new name is more descriptive of what the field really means.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "cf7addf29b41f90d979267b2c5111ec6d137231a",
      "tree": "539c14ee0f04dd3af9df6723349dcc399067be2c",
      "parents": [
        "ba3673bf79dbaa02a48a9ba7618d071b364bbf5e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jun 01 22:17:36 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jun 17 22:27:20 2011 -0400"
      },
      "message": "USB: gadget: f_mtp: Add PTP variant of MTP USB function\n\nThis is the same as MTP but with PTP interface descriptor.\nAlso removed obsolete ioctl for switching between MTP and PTP mode\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "ba3673bf79dbaa02a48a9ba7618d071b364bbf5e",
      "tree": "f624502c328a4befaa893b1f51f41d550a59cc91",
      "parents": [
        "aab96815ae9a40e05600b8e351561b514233afca"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun May 01 20:36:19 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jun 17 22:27:20 2011 -0400"
      },
      "message": "USB: gadget: f_mtp: Add support for queueing multiple interrupt requests\n\nFixes problem sending \"store added\" events when there are multiple stores\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "aab96815ae9a40e05600b8e351561b514233afca",
      "tree": "b96a69b2be5f648ee17581246acf97895f1c72bf",
      "parents": [
        "94df1bdfdca9be6d4bbe6cc56354b4ee536cb15a"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Tue Apr 19 20:37:33 2011 -0700"
      },
      "committer": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Fri Jun 17 16:02:37 2011 -0700"
      },
      "message": "usb: gadget: android: Update android gadget driver\n\n* Functions and the device descriptor are configured from user space:\necho 0       \u003e /sys/class/android_usb/android0/enable\necho adb,acm \u003e /sys/class/android_usb/android0/functions\necho 2       \u003e /sys/class/android_usb/android0/f_acm/instances\necho 1       \u003e /sys/class/android_usb/android0/enable\n\n* Driver does not require platform data anymore\n\n* Moved function initialization to android.c instead of each\nfunction file\n\n* Replaced switches by uevents\n\nSigned-off-by: Benoit Goby \u003cbenoit@android.com\u003e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\nChange-Id: If5ad9267c111ad0a442f0d87a0d31082dc5381b6\n"
    },
    {
      "commit": "94df1bdfdca9be6d4bbe6cc56354b4ee536cb15a",
      "tree": "931674516b4ed279dafb466957c01166df9636b1",
      "parents": [
        "f6e7d49e03c475a7f129a0b13ff80bff2abbb2b2"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Wed May 25 23:59:43 2011 -0700"
      },
      "committer": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Fri Jun 17 16:02:36 2011 -0700"
      },
      "message": "usb: gadget: composite: Add usb_remove_config\n\nThis allows composite drivers to dynamically change their configuration.\nFor example, a driver might remove a configuration and register a new\none with a different set of functions.\nUser should prevent the host from enumerating the device while changing\nthe configuration:\n\n\tusb_gadget_disconnect(cdev-\u003egadget);\n\tusb_remove_config(cdev, old_config);\n\tusb_add_config(cdev, new_config, new_conf_bind);\n\tusb_gadget_connect(cdev-\u003egadget);\n\nChange-Id: Icbfb4ce41685fde9bf63d5d58fca1ad242aa69f9\nSigned-off-by: Benoit Goby \u003cbenoit@android.com\u003e\n"
    },
    {
      "commit": "f6e7d49e03c475a7f129a0b13ff80bff2abbb2b2",
      "tree": "3f8ca9e03f0bfe2bb706e188b9f7c75f27f58c9d",
      "parents": [
        "9902e0b5c53bba7469e7163e539fa696f09e35cc"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Tue May 31 18:25:06 2011 -0700"
      },
      "committer": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Fri Jun 17 16:02:35 2011 -0700"
      },
      "message": "usb: gadget: f_rndis: fix unbind\n\nChange-Id: Idfde1aee6cfd7c648d4100060e111798c405e32c\nSigned-off-by: Benoit Goby \u003cbenoit@android.com\u003e\n"
    },
    {
      "commit": "9902e0b5c53bba7469e7163e539fa696f09e35cc",
      "tree": "82d118d4b32eabcac59506453ce22a542af071d7",
      "parents": [
        "0d9f3c2791c1e19796d3a41d8ec45093583817e7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 02 11:52:56 2011 -0500"
      },
      "committer": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Fri Jun 17 16:02:31 2011 -0700"
      },
      "message": "USB: gadget: f_accessory: New gadget driver for android USB accesories\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nUSB: gadget: f_accessory: Misc improvements and cleanup:\n\n- Add URI string\n\n- Replace type string with a description string\n\n- Add a control call to retrieve accessory protocol version (currently 1)\n\n- Driver read() and write() calls now fail after USB disconnect until\n  driver file is closed and reopened.\n\n- Misc cleanup work\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nUSB: gadget: f_accessory: Clear accessory strings when USB is disconnected\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nUSB: gadget: f_accessory: Clear previous strings on ACCESSORY_GET_PROTOCOL\n\nClearing strings on disconnect does not work since we may receive\na disconnect on some devices when transitioning into accessory mode.\nWe require an accessory to send ACCESSORY_GET_PROTOCOL before\nsending any strings, so any strings from a previous session will be cleared.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nUSB: gadget: f_accessory: Clear disconnected flag when driver file is opened\n\nFixes a race condition that can occur when entering accessory mode.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nUSB: gadget: f_accessory: Add string for accessory\u0027s unique serial number\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nUSB: gadget: f_accessory: Set bNumEndpoints to correct value of 2\n\nChange-Id: I24f4e36f196d45436e0573301500c3b93215953d\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "b3df3f9c7df9a8d85e03e158d35487618a160901",
      "tree": "5ecd3c7b9cf576bb1bef357db98075d183f85f1c",
      "parents": [
        "c877b3b2ad5cb9d4fe523c5496185cc328ff3ae9"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Jun 15 19:57:46 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Jun 17 11:28:20 2011 -0700"
      },
      "message": "xhci: Always set urb-\u003estatus to zero for isoc endpoints.\n\nWhen the xHCI driver encounters a Missed Service Interval event for an\nisochronous endpoint ring, it means the host controller skipped over\none or more isochronous TDs.  For TD that is skipped, skip_isoc_td() is\ncalled.  This sets the frame descriptor status to -EXDEV, and also sets\nthe value stored in the int pointed to by status to -EXDEV.\n\nIf the isochronous TD happens to be the last TD in an URB,\nhandle_tx_event() will use the status variable to give back the URB to\nthe USB core.  That means drivers will see urb-\u003estatus as -EXDEV.\n\nIt turns out that EHCI, UHCI, and OHCI always set urb-\u003estatus to zero for\nan isochronous urb, regardless of what the frame status is.  See\nitd_complete() in ehci-sched.c:\n\n                } else {\n                        /* URB was too late */\n                        desc-\u003estatus \u003d -EXDEV;\n                }\n        }\n\n        /* handle completion now? */\n        if (likely ((urb_index + 1) !\u003d urb-\u003enumber_of_packets))\n                goto done;\n\n        /* ASSERT: it\u0027s really the last itd for this urb\n        list_for_each_entry (itd, \u0026stream-\u003etd_list, itd_list)\n                BUG_ON (itd-\u003eurb \u003d\u003d urb);\n         */\n\n        /* give urb back to the driver; completion often (re)submits */\n        dev \u003d urb-\u003edev;\n        ehci_urb_done(ehci, urb, 0);\n\nehci_urb_done() completes the URB with the status of the third argument, which\nis always zero in this case.\n\nIt turns out that many USB webcam drivers, such as uvcvideo, cannot\nhandle urb-\u003estatus set to a non-zero value.  They will not resubmit\ntheir isochronous URBs in that case, and userspace will see a frozen\nvideo.\n\nChange the xHCI driver to be consistent with the EHCI and UHCI driver,\nand always set urb-\u003estatus to 0 for isochronous URBs.\n\nThis patch should be backported to kernels as old as 2.6.36\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: \"Xu, Andiry\" \u003cAndiry.Xu@amd.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "c877b3b2ad5cb9d4fe523c5496185cc328ff3ae9",
      "tree": "3dad607ab4f7e703c742e71904ef4f53ee89ea47",
      "parents": [
        "f6ba6fe2d913da6707a71a413d6ec8ae98d6ce18"
      ],
      "author": {
        "name": "Maarten Lankhorst",
        "email": "m.b.lankhorst@gmail.com",
        "time": "Wed Jun 15 23:47:21 2011 +0200"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Jun 17 11:28:19 2011 -0700"
      },
      "message": "xhci: Add reset on resume quirk for asrock p67 host\n\nThe asrock p67 xhci controller completely dies on resume, add a\nquirk for this, to bring the host back online after a suspend.\n\nThis should be backported to stable kernels as old as 2.6.37.\n\nSigned-off-by: Maarten Lankhorst \u003cm.b.lankhorst@gmail.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f6ba6fe2d913da6707a71a413d6ec8ae98d6ce18",
      "tree": "2da2e6bc2b35659e5372825ecfd575ffad70ca5e",
      "parents": [
        "e1cf486d881d853d710e2d86a7adfc5fd260990f"
      ],
      "author": {
        "name": "Alex He",
        "email": "alex.he@amd.com",
        "time": "Wed Jun 08 18:34:06 2011 +0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Jun 17 11:28:08 2011 -0700"
      },
      "message": "xHCI 1.0: Incompatible Device Error\n\nIt is one new TRB Completion Code for the xHCI spec v1.0.\nAsserted if the xHC detects a problem with a device that does not allow it to\nbe successfully accessed, e.g. due to a device compliance or compatibility\nproblem. This error may be returned by any command or transfer, and is fatal\nas far as the Slot is concerned. Return -EPROTO by urb-\u003estatus or frame-\u003estatus\nof ISOC for transfer case. And return -ENODEV for configure endpoint command,\nevaluate context command and address device command if there is an incompatible\nDevice Error. The error codes will be sent back to the USB core to decide how\nto do. It\u0027s unnecessary for other commands because after the three commands run\nsuccessfully means that the device has been accepted.\n\nSigned-off-by: Alex He \u003calex.he@amd.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "0af212ba8f123c2eba151af7726c34a50b127962",
      "tree": "f9b37cad57b00c6e845954f361acedead9863d13",
      "parents": [
        "cbb330045e5df8f665ac60227ff898421fc8fb92"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Jun 15 16:27:43 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 15 17:44:56 2011 -0700"
      },
      "message": "USB: don\u0027t let errors prevent system sleep\n\nThis patch (as1464) implements the recommended policy that most errors\nduring suspend or hibernation should not prevent the system from going\nto sleep.  In particular, failure to suspend a USB driver or a USB\ndevice should not prevent the sleep from succeeding:\n\nFailure to suspend a device won\u0027t matter, because the device will\nautomatically go into suspend mode when the USB bus stops carrying\npackets.  (This might be less true for USB-3.0 devices, but let\u0027s not\nworry about them now.)\n\nFailure of a driver to suspend might lead to trouble later on when the\nsystem wakes up, but it isn\u0027t sufficient reason to prevent the system\nfrom going to sleep.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCC: \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "cbb330045e5df8f665ac60227ff898421fc8fb92",
      "tree": "905598ff170b0fde21c72ad7edde2674ac5fdad1",
      "parents": [
        "578333ab95f70db13951d30a9ad6b565b61639a9"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Jun 15 16:29:16 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 15 17:44:56 2011 -0700"
      },
      "message": "USB: don\u0027t let the hub driver prevent system sleep\n\nThis patch (as1465) continues implementation of the policy that errors\nduring suspend or hibernation should not prevent the system from going\nto sleep.\n\nIn this case, failure to turn on the Suspend feature for a hub port\nshouldn\u0027t be reported as an error.  There are situations where this\ndoes actually occur (such as when the device plugged into that port\nwas disconnected in the recent past), and it turns out to be harmless.\nThere\u0027s no reason for it to prevent a system sleep.\n\nAlso, don\u0027t allow the hub driver to fail a system suspend if the\ndownstream ports aren\u0027t all suspended.  This is also harmless (and\nshould never happen, given the change mentioned above); printing a\nwarning message in the kernel log is all we really need to do.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCC: \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "578333ab95f70db13951d30a9ad6b565b61639a9",
      "tree": "3f21af2defacbe96874dca6e0e4a2fe62ec0cd21",
      "parents": [
        "357f45db920393aac983a137bd74095f612d5a01"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Jun 15 16:32:46 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 15 17:44:56 2011 -0700"
      },
      "message": "USB: change maintainership of ohci-hcd and ehci-hcd\n\nFollowing the loss of David Brownell, I volunteer to maintain the\nohci-hcd and ehci-hcd drivers.  This patch (as1472) makes it official.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e1cf486d881d853d710e2d86a7adfc5fd260990f",
      "tree": "73d63dac735e213e1aee47f1ebbbbd02d62e086d",
      "parents": [
        "d23336329fa4c157ed6256d4279a73b87486a1b6"
      ],
      "author": {
        "name": "Alex He",
        "email": "alex.he@amd.com",
        "time": "Fri Jun 03 15:58:25 2011 +0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Jun 15 14:37:14 2011 -0700"
      },
      "message": "xHCI 1.0: Force Stopped Event(FSE)\n\nFSE shall occur on the TD natural boundary. The software ep_ring dequeue pointer\nexceed the hardware ep_ring dequeue pointer in these cases of Table-3. As a\nresult, the event_trb(pointed by hardware dequeue pointer) of the FSE can\u0027t be\nfound in the current TD(pointed by software dequeue pointer). What should we do\nis to figured out the FSE case and skip over it.\n\nSigned-off-by: Alex He \u003calex.he@amd.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "d23336329fa4c157ed6256d4279a73b87486a1b6",
      "tree": "b1d8c76b0dd298ced0115506a590090129b5055b",
      "parents": [
        "fccf4e86200b8f5edd9a65da26f150e32ba79808"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Jun 06 00:53:47 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Jun 15 14:10:30 2011 -0700"
      },
      "message": "xhci: Don\u0027t warn about zeroed bMaxBurst descriptor field.\n\nThe USB 3.0 specification says that the bMaxBurst field in the SuperSpeed\nEndpoint Companion descriptor is supposed to indicate how many packets a\nSS device can handle before it needs to wait for an explicit handshake\nfrom the host controller.  A zero value means the device can only handle\none packet before it needs a handshake.  Remove a warning in the xHCI\ndriver that implies this is an invalid value.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "fccf4e86200b8f5edd9a65da26f150e32ba79808",
      "tree": "6de67060ac3825e46f67682a69298bddc8825535",
      "parents": [
        "fa75ac379e63c2864e9049b5e8615e40f65c1e70"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Jun 05 23:22:22 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Jun 15 14:05:18 2011 -0700"
      },
      "message": "USB: Free bandwidth when usb_disable_device is called.\n\nTanya ran into an issue when trying to switch a UAS device from the BOT\nconfiguration to the UAS configuration via the bConfigurationValue sysfs\nfile.  Before installing the UAS configuration, set_bConfigurationValue()\ncalls usb_disable_device().  That function is supposed to remove all host\ncontroller resources associated with that device, but it leaves some state\nin the xHCI host controller.\n\nCommit 0791971ba8fbc44e4f476079f856335ed45e6324\n\tusb: allow drivers to use allocated bandwidth until unbound\nadded a call to usb_disable_device() in usb_set_configuration(), before\nthe xHCI bandwidth functions were invoked.  That commit fixed a bug, but\nalso introduced a bug that is triggered when a configured device is\nswitched to a new configuration.\n\nusb_disable_device() goes through all the motions of unbinding the drivers\nattached to active interfaces and removing the USB core structures\nassociated with those interfaces, but it doesn\u0027t actually remove the\nendpoints from the internal xHCI host controller bandwidth structures.\n\nWhen usb_disable_device() calls usb_disable_endpoint() with reset_hardware\nset to true, the entries in udev-\u003eep_out and udev-\u003eep_in will be set to\nNULL.  Usually, when the USB core installs a new configuration,\nusb_hcd_alloc_bandwidth() will drop all non-NULL endpoints in udev-\u003eep_out\nand udev-\u003eep_in before adding any new endpoints.  However, when the new\nUAS configuration was added, all those entries were null, so none of the\nold endpoints in the BOT configuration were dropped.\n\nThe xHCI driver blindly added the UAS configuration endpoints, and some of\nthe endpoint addresses overlapped with the old BOT configuration\nendpoints.  This caused the xHCI host to reject the Configure Endpoint\ncommand.  Now that the xHCI driver code is cleaned up to reject a\ndouble-add of active endpoints, we need to fix the USB core to properly\ndrop old endpoints in usb_disable_device().\n\nIf the host controller driver needs bandwidth checking support, make\nusb_disable_device() call usb_disable_endpoint() with\nreset_hardware set to false, drop the endpoints from the xHCI host\ncontroller, and then call usb_disable_endpoint() again with\nreset_hardware set to true.\n\nThe first call to usb_disable_endpoint() will cancel any pending URBs and\nwait on them to be freed in usb_hcd_disable_endpoint(), but will keep the\npointers in udev-\u003eep_out and udev-\u003eep in intact.  Then\nusb_hcd_alloc_bandwidth() will use those pointers to know which endpoints\nto drop.\n\nThe final call to usb_disable_endpoint() will do two things:\n\n1. It will call usb_hcd_disable_endpoint() again, which should be harmless\nsince the ep-\u003eurb_list should be empty after the first call to\nusb_disable_endpoint() returns.\n\n2. It will set the entries in udev-\u003eep_out and udev-\u003eep in to NULL, and call\nusb_hcd_disable_endpoint().  That call will have no effect, since the xHCI\ndriver doesn\u0027t set the endpoint_disable function pointer.\n\nNote that usb_disable_device() will now need to be called with\nhcd-\u003ebandwidth_mutex held.\n\nThis should be backported to kernels as old as 2.6.32.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nReported-by: Tanya Brokhman \u003ctlinder@codeaurora.org\u003e\nCc: ablay@codeaurora.org\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "fa75ac379e63c2864e9049b5e8615e40f65c1e70",
      "tree": "1aa8b56c20f2547c0ce14a35403edd2f575e3403",
      "parents": [
        "357f45db920393aac983a137bd74095f612d5a01"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Jun 05 23:10:04 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Jun 15 14:04:35 2011 -0700"
      },
      "message": "xhci: Reject double add of active endpoints.\n\nWhile trying to switch a UAS device from the BOT configuration to the UAS\nconfiguration via the bConfigurationValue file, Tanya ran into an issue in\nthe USB core.  usb_disable_device() sets entries in udev-\u003eep_out and\nudev-\u003eep_out to NULL, but doesn\u0027t call into the xHCI bandwidth management\nfunctions to remove the BOT configuration endpoints from the xHCI host\u0027s\ninternal structures.\n\nThe USB core would then attempt to add endpoints for the UAS\nconfiguration, and some of the endpoints had the same address as endpoints\nin the BOT configuration.  The xHCI driver blindly added the endpoints\nagain, but the xHCI host controller rejected the Configure Endpoint\ncommand because active endpoints were added without being dropped.\n\nMake the xHCI driver reject calls to xhci_add_endpoint() that attempt to\nadd active endpoints without first calling xhci_drop_endpoint().\n\nThis should be backported to kernels as old as 2.6.31.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nReported-by: Tanya Brokhman \u003ctlinder@codeaurora.org\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "357f45db920393aac983a137bd74095f612d5a01",
      "tree": "55139bfad33a4c54b18e8dfa92cf08eda70c9926",
      "parents": [
        "869e9e567fe6bba859e1d761250d160a9216498a"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Mon Jun 13 22:50:41 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 14 14:20:30 2011 -0700"
      },
      "message": "USB: TI 3410/5052 USB Serial Driver: Fix mem leak when firmware is too big.\n\nIf the size of the firmware exceeds TI_FIRMWARE_BUF_SIZE we\u0027ll leak \u0027fw_p\u0027\nby failing to call release_firmware().\nThis patch fixes the leak.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "43f3dc8f5cab19d2baeb3d8d4d6fc01e2d19c337",
      "tree": "72b6ae884bf2057c65f7aedd81abd6882a666a32",
      "parents": [
        "1adbbfbe99343cb7735ddf072e0e70095b6facc5"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Feb 19 15:33:17 2011 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:55 2011 -0700"
      },
      "message": "USB: gadget: f_mtp: dequeue request on error in mtp_read\n\nIn mtp_read(), if wait_event_interruptible() returns an error, we need to\nremove the request from the EP queue.  Else, on the next call to mtp_read(), we\nwill attempt to enqueue the request again, potentially corrupting the\nqueue.  This is what happens with musb_gadget_queue(), which does not check for\nduplicate requests.\n\nBased on a similar change to f_adb.c\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "1adbbfbe99343cb7735ddf072e0e70095b6facc5",
      "tree": "55156c364b529162cdb4f3285be882a069490bc5",
      "parents": [
        "ae4cd3a4cf4996b0d2868d1612cd38e34bd81e27"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 14 13:32:05 2011 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:55 2011 -0700"
      },
      "message": "USB: gadget: android: Fix problem switching vendor IDs\n\nWe need to update the vendor ID in the composite driver as well\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "292b96396c25c465f7f17d5c0d0e182a6b7a4e26",
      "tree": "ac74aebc2e9e3987bf79f5cb1efce9db81658f64",
      "parents": [
        "aecca43f09d029eb98bec88b6da3b3c6897e42f5"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Feb 10 11:54:53 2011 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:53 2011 -0700"
      },
      "message": "USB: gadget: f_mtp: Don\u0027t block in mtp_send_event\n\nWe used to wait for the previous interrupt packet to complete before sending\nthe next packet.  But unfortunately the previous packet will not complete\nuntil USB is disconnected if the host is not listening on the interrupt\nendpoint (which is the case with libmtp on Linux and Mac).\nTo avoid hanging indefinitely in this case, we now simply return -EBUSY\nif the previous interrupt packet has not completed yet.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "aecca43f09d029eb98bec88b6da3b3c6897e42f5",
      "tree": "10e0615a2b05f5444cafcbebd18f359713c7ab24",
      "parents": [
        "6bb1acf2eba2dd5200bd935286b3d9f130b71c3b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 09 09:38:26 2011 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:53 2011 -0700"
      },
      "message": "USB: gadget: android: Support switching vendor ID when configuration changes\n\nBased on the list of enabled USB functions, we can now switch the vendor ID\nas well as the product ID.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "e67dd1611d5330ba9d41ba9ccdc78d6ff2963398",
      "tree": "d0d62363eff7ee1dbc810adec92d91d1b8c866b4",
      "parents": [
        "7d5250301dbedff486708e88fec0a4e5640d23b2"
      ],
      "author": {
        "name": "Oleg Matcovschi",
        "email": "olegmatcovsky@gmail.com",
        "time": "Fri Mar 11 10:24:30 2011 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:52 2011 -0700"
      },
      "message": "usb: gadget: composite: USB_GET_CONFIGURATION must return 0 in unconfigured state.\n\nChange-Id: I5212ca9990308d0c4ae6a55c60cba42d6b0e4fee\nSigned-off-by: Oleg Matcovschi \u003colegmatcovsky@gmail.com\u003e\n"
    },
    {
      "commit": "7d5250301dbedff486708e88fec0a4e5640d23b2",
      "tree": "94919d7cf441339f1f3aa9b05b6500d40870855e",
      "parents": [
        "090cbc41c937f03311d34b72ab435444ad752cb6"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Feb 18 11:28:32 2011 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:52 2011 -0700"
      },
      "message": "USB: gadget: f_adb: dequeue request on error in adb_read\n\nIn adb_read(), if wait_event_interruptible() returns an error, we need to\nremove the request from the EP queue.  Else, on the next call to adb_read(), we\nwill attempt to enqueue the request again, potentially corrupting the\nqueue.  This is what happens with musb_gadget_queue(), which does not check for\nduplicate requests.\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "090cbc41c937f03311d34b72ab435444ad752cb6",
      "tree": "1e15580289d138bd95ac8bbce06290165f9b6b43",
      "parents": [
        "8abaec8e7848c632fe6efd1bf661e66ea5c2dc79"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 07 11:51:07 2011 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:52 2011 -0700"
      },
      "message": "USB: gadget: f_mtp: Fix problems transferring files from device to host\n\nExit from send_file_work immediately when a cancel request is received.\n\nOnly busy status if there is a cancel pending that has not been repoorted to userspace.\nThis avoids a race condition that can occur when mtp_read resets the state\nto STATE_BUSY before we report status OK back to the host.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "8abaec8e7848c632fe6efd1bf661e66ea5c2dc79",
      "tree": "ddf30d271459912d169a6f2d5e9040e9333e769e",
      "parents": [
        "ec3e26868a693dd732e6badfe935d03688ec7314"
      ],
      "author": {
        "name": "Vikram Pandita",
        "email": "vikram.pandita@ti.com",
        "time": "Mon Feb 07 21:20:50 2011 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:52 2011 -0700"
      },
      "message": "USB: gadget: composite: fix compile issues\n\nIn file included from drivers/usb/gadget/ether.c:114:\ndrivers/usb/gadget/composite.c: In function \u0027usb_composite_force_reset\u0027:\ndrivers/usb/gadget/composite.c:121: error: implicit declaration of function \u0027msleep\u0027\ndrivers/usb/gadget/composite.c: In function \u0027usb_add_function\u0027:\ndrivers/usb/gadget/composite.c:158: error: implicit declaration of function \u0027MKDEV\u0027\n\nSigned-off-by: Vikram Pandita \u003cvikram.pandita@ti.com\u003e\n"
    },
    {
      "commit": "50fe49af85a941f6666a09c5bbf891d5044cb615",
      "tree": "12a23536059996720085a68c3af8ba7601e1de68",
      "parents": [
        "fac435cf496230c2f24e1414fa27300136c2a838"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jan 13 16:19:57 2011 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:49 2011 -0700"
      },
      "message": "USB: gadget: f_mtp: Make sure request is dequeued if transfer is canceled\n\nIf the host cancels a file transfer while we have a read request pending,\ncall usb_ep_dequeue to cancel the read.\nAlso return -ECANCELED from mtp_ioctl if we are canceled in MTP_RECEIVE_FILE\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "1dabc19e7f8a49cc2cb9dc3989b707470a0c9d90",
      "tree": "1d9932031e5f177fbd19f4b44fb4031f773fde73",
      "parents": [
        "2311937725994d67ea771ed386ee107a1dbd20cb"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 29 14:42:24 2010 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:34 2011 -0700"
      },
      "message": "USB: g_mass_storage: Always allow disabling mass storage by writing to lun file\n\nFor android builds we disable the check for curlun-\u003eprevent_medium_removal.\nInstead we let the framework manage unmounting policy, as we sometimes need\nto unmount after the media has been removed.\nThis also helps support hosts that do not inform the device when the media\nhas been unmounted.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "8da0417ce464fcd7bd74348c300adfdf5066e04d",
      "tree": "613a1b4768a4537c5cf6b908d727b777ff4e176e",
      "parents": [
        "e6be8941f44a6561e9d42e759e5644d096bae7c7"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Jan 05 16:13:41 2011 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:12 2011 -0700"
      },
      "message": "usb: gadget: android: fix compilation on 2.6.37\n\nChange-Id: I9a99f007415c5be1bd1a86b138486eac51784e0d\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "e6be8941f44a6561e9d42e759e5644d096bae7c7",
      "tree": "c049c7883937d9dd5952ddc94a7a187d5a5781b9",
      "parents": [
        "00bc4089eff55f9c2024186937546c8e8d6cccb0"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Dec 10 16:30:15 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:12 2011 -0700"
      },
      "message": "USB: gadget: composite: Use separate switches for connected and config state\n\nAlso remove disconnect debouncing, which didn\u0027t actually work on some platforms\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "00bc4089eff55f9c2024186937546c8e8d6cccb0",
      "tree": "70a50c210025233526adce0b40e00a04b3360432",
      "parents": [
        "f71a394a4066f704926d53872a92bc6f8d5b469e"
      ],
      "author": {
        "name": "John Michelau",
        "email": "john.michelau@motorola.com",
        "time": "Fri Dec 10 13:51:19 2010 -0600"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:12 2011 -0700"
      },
      "message": "USB: gadget: acm,rndis: IAD class, subclass \u0026 prot should match 1st iface\n\nMicrosoft recommends that the class and subclass fields of\nan IAD match the same fields from the first interface in the\ncollection that the IAD is grouping. In practice, we are also\nfinding that the protocol fields should also match. Without\nthis change, the default Microsoft composite driver may not\ngroup interfaces properly, which is what allows child\nfunction drivers with IAD\u0027s to load correctly.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "f71a394a4066f704926d53872a92bc6f8d5b469e",
      "tree": "f44fb96ae665f0ffe4df33d818f4a6c410cacfb5",
      "parents": [
        "d5d2de6539f4a588d8a6187cfe8396d4300b4653"
      ],
      "author": {
        "name": "John Michelau",
        "email": "john.michelau@motorola.com",
        "time": "Fri Dec 10 12:09:53 2010 -0600"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:11 2011 -0700"
      },
      "message": "USB: gadget: composite: Dynamically set IAD bFirstInterface\n\nbFirstInterface should be set equal to bInterfaceNumber of\nthe first interface in a grouping. It\u0027s currently being set\nonly when a composite device is bound, and it does not get\nupdated when functions are enabled or disabled.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "d5d2de6539f4a588d8a6187cfe8396d4300b4653",
      "tree": "208e0fef98174d9d0842d8c948bd937c84f28f63",
      "parents": [
        "677ba87bdfc5765bb2ed80692d74f8de41b83f11"
      ],
      "author": {
        "name": "John Michelau",
        "email": "john.michelau@motorola.com",
        "time": "Fri Dec 10 11:33:54 2010 -0600"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:11 2011 -0700"
      },
      "message": "USB: gadget: android Fix gadget descriptor compliance for IAD\u0027s\n\nUSB-IF core team mandates that composite devices containing\nIAD\u0027s must use bDeviceClass\u003d0xEF, bDeviceSubClass\u003d0x02, \u0026\nbDeviceProtocol\u003d0x01 instead of the usual 0x00 in all fields.\nThis is not a problem currently on Linux hosts, but it is a\nproblem when connecting to Windows hosts. Without this change\nthe default Microsoft composite driver will not group\ninterfaces properly, which is what allows child function\ndrivers with IAD\u0027s to load correctly.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "677ba87bdfc5765bb2ed80692d74f8de41b83f11",
      "tree": "91ad07b17d6ddf65db0811aabe4f46c0b5331e73",
      "parents": [
        "51d5755259a7deb468d3f99fdde1109df425f955"
      ],
      "author": {
        "name": "John Michelau",
        "email": "john.michelau@motorola.com",
        "time": "Mon Nov 08 18:05:37 2010 -0600"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:11 2011 -0700"
      },
      "message": "usb: gadget: Multiple ACM gadget instances\n\n- Added multiple ACM instance support in Android gadget\n- Fixed multiple instance naming issue in ACM function\n- Increased max instances from 4 to 8\n\nChange-Id: I65f1b0be94da859bab7ec0ad7cd804b896c7c4c5\nSigned-off-by: John Michelau \u003cjohn.michelau@motorola.com\u003e\n"
    },
    {
      "commit": "51d5755259a7deb468d3f99fdde1109df425f955",
      "tree": "37160b396310e33dbdf4b7e3a6c4c088366b824c",
      "parents": [
        "ffdab0c0c40bab6de78b1952bb07aed221994b73"
      ],
      "author": {
        "name": "John Michelau",
        "email": "john.michelau@motorola.com",
        "time": "Tue Nov 30 15:36:29 2010 -0600"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:11 2011 -0700"
      },
      "message": "usb: gadget: Fixed Android gadget function discovery \u0026 product matching\n\n- Don\u0027t bind until all required functions have registered\n- Consider multi-instance functions when matching products\n\nChange-Id: I6fa10567db71d49cd81968c01d75e326ff9a17c8\nSigned-off-by: John Michelau \u003cjohn.michelau@motorola.com\u003e\n"
    },
    {
      "commit": "ffdab0c0c40bab6de78b1952bb07aed221994b73",
      "tree": "ec6b6aded00bd902b624ce1ca8c7cda5f565aea7",
      "parents": [
        "16c08c28717ba564ff2306f13803788a46d9159f"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Wed Nov 17 14:27:51 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:11 2011 -0700"
      },
      "message": "usb: gadget: rndis: don\u0027t use dev_get_stats\n\nSince 2.6.36, spin_lock_bh has been added to dev_txq_stats_fold. So\ndev_get_stats cannot be called from atomic context.\n\nReplaced it by netdev_stats_to_stats64 to copy the stats directly. This\nwill work if the device driver does not need txq tx stats folding.\n\nhttp://lkml.org/lkml/2010/9/20/250\n\nChange-Id: I715b00892beda56cc369139d6e2bdc9efb6bfe79\nSigned-off-by: Benoit Goby \u003cbenoit@android.com\u003e\n"
    },
    {
      "commit": "16c08c28717ba564ff2306f13803788a46d9159f",
      "tree": "5207cada55dc78a76c93797f16ff5cbb34bc278a",
      "parents": [
        "3e800b6fa0f559b4cda0dfc866b85c94138d1c99"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Nov 17 11:16:35 2010 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:10 2011 -0700"
      },
      "message": "USB: gadget: f_mtp: Zero length packet fixes\n\nSend zero length packets at end of transfers that are a multiple of the\nbulk max packet size as required by MTP.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "3e800b6fa0f559b4cda0dfc866b85c94138d1c99",
      "tree": "8b260589f49584a0b779545c4423955c666edb0b",
      "parents": [
        "76ac65501829684f281b5ad79b7f730b86c335c7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Nov 16 17:14:32 2010 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:10 2011 -0700"
      },
      "message": "USB: gadget: f_mtp: Support for file transfer length greater than 4 gigabytes\n\nFor backward compatibility with PTP, MTP is limited to a 32-bit file size.\nWhen transferring files greater than 4 gig, MTP uses 0xFFFFFFFF as the file size\nand the receiver reads until it receives a short packet.\n\nExpanded size of mtp_file_range.length to 64 bits and added support for\nwriting zero length packets.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "76ac65501829684f281b5ad79b7f730b86c335c7",
      "tree": "fce70aca72bfb8782c8798750647eacfa3db346f",
      "parents": [
        "491d4186e0a31a6a8fa638d71816a7a77db83c1e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Nov 15 15:22:21 2010 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:10 2011 -0700"
      },
      "message": "USB: gadget: f_mtp: Return zero result for successful file transfer.\n\nReturning number of bytes transfered does not work for files \u003e 2 gig\nsince ioctl() result is a signed integer.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "491d4186e0a31a6a8fa638d71816a7a77db83c1e",
      "tree": "5383d6c7ac7f8c67d71da2946c37a3da563c77e4",
      "parents": [
        "ffab952c8608df0fede4727bf35d84fb32a2fdef"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Nov 08 10:41:31 2010 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:09 2011 -0700"
      },
      "message": "USB: gadget: f_mtp: MTP driver cleanup:\n\nUse a work queue instead of a separate thread for file transfer ioctls\n(note: the file transfer must be done on a kernel thread rather than in\nprocess context so vfs_read and vfs_write will use the correct address space\nfor the buffers)\n\nEnforce requirement that only one ioctl call may be active at a time,\nand remove mutex in mtp_send_event that is now no longer necessary.\n\nSynchronize around use of shared variables to avoid SMP issues\n\nFix mismatched calls to fget and fput\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "ffab952c8608df0fede4727bf35d84fb32a2fdef",
      "tree": "b4e603f12e971a821d8fb82c8d074ea199d7e5d7",
      "parents": [
        "d6b1d7348ac1d5f1c51657cb750aa493974a08a9"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Thu Sep 23 18:34:27 2010 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:09 2011 -0700"
      },
      "message": "usb: gadget: android: Remove WAKEUP flag from bmAttributes\n\nRemove USB_CONFIG_ATT_WAKEUP from bmAttributes as we don\u0027t\nsupport remote wakeup. This fixes an issue with the USB 2.0\ncompliance test tool.\n\nChange-Id: Ic15e44710069f3f05ace6a82bbfa2b85a3649027\nSigned-off-by: Benoit Goby \u003cbenoit@android.com\u003e\n"
    },
    {
      "commit": "d6b1d7348ac1d5f1c51657cb750aa493974a08a9",
      "tree": "af1be9d7baa39be78b9c62c9a922b6b5b2282873",
      "parents": [
        "1de4d4d8df6703c2af229c3a8a3c1ec4b14eabab"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Aug 23 08:17:21 2010 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:09 2011 -0700"
      },
      "message": "USB: gadget: android: Disable MTP when RNDIS function is enabled.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "1de4d4d8df6703c2af229c3a8a3c1ec4b14eabab",
      "tree": "a85eb1aeb6e2817ce6eb4d7dfd2a818b8a7dcc72",
      "parents": [
        "7aea3853329a1af39519b5e22e06baba7fdfa1bd"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jul 06 19:27:52 2010 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:09 2011 -0700"
      },
      "message": "USB: gadget: f_mtp: Add ioctl for sending events via the interrupt endpoint\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7aea3853329a1af39519b5e22e06baba7fdfa1bd",
      "tree": "092b5b99a677f7dbe7cbf0a54553c50dded38b30",
      "parents": [
        "d43a1a559448193769a9e7c078fb6539b5fe875a"
      ],
      "author": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Fri Jul 02 14:47:44 2010 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:09 2011 -0700"
      },
      "message": "drivers: usb: gadget: rndis: Fix section mismatch warning\n\nSigned-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n"
    },
    {
      "commit": "d43a1a559448193769a9e7c078fb6539b5fe875a",
      "tree": "5926db47af6bfef136740cf9fbf0e7fc59ef2bdd",
      "parents": [
        "577e37a65b7ee7aa7ade4b8a323fc327ff45e88e"
      ],
      "author": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Fri Jul 02 14:37:57 2010 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:08 2011 -0700"
      },
      "message": "drivers: usb: gadget: mass_storage: Fix section mismatch warning\n\nSigned-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n"
    },
    {
      "commit": "577e37a65b7ee7aa7ade4b8a323fc327ff45e88e",
      "tree": "35e3b32ff4a9d87f6dd1145745789c2be4fb2b04",
      "parents": [
        "28acc1a88c75b08b2ab502a546da61b131b86f5c"
      ],
      "author": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Fri Jul 02 12:46:34 2010 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:08 2011 -0700"
      },
      "message": "drivers: usb: gadget: Fix section mismatch warning\n\nSigned-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n"
    },
    {
      "commit": "28acc1a88c75b08b2ab502a546da61b131b86f5c",
      "tree": "b326680f5fc1187da0e6f7674ba7414451582495",
      "parents": [
        "4a4414416d5d6f9a6522aa6900473e3cdc5f1393"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jun 28 16:19:32 2010 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:08 2011 -0700"
      },
      "message": "USB: composite: Add usb_composite_force_reset utility to force enumeration\n\nUse this rather than calling usb_gadget_disconnect and usb_gadget_connect\ndirectly to avoid sending USB disconnect events to userspace when resetting\nthe bus.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "4a4414416d5d6f9a6522aa6900473e3cdc5f1393",
      "tree": "371bb89ae5c60d142b953f3dc3e0a0a7f98af0a0",
      "parents": [
        "8da4cc8f77b0d291fa33a5474d69b12b534cb5f4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jun 28 15:29:00 2010 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:08 2011 -0700"
      },
      "message": "USB: gadget: android: Remove unused function android_usb_set_connected()\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "8da4cc8f77b0d291fa33a5474d69b12b534cb5f4",
      "tree": "8237fea6200b5920e80a02d3f6dd2bab6d92f0a5",
      "parents": [
        "ba83b0158e1e7ae0a0169d523c3ed5084a360233"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Jun 27 20:05:55 2010 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:08 2011 -0700"
      },
      "message": "USB: gadget: composite: Move switch_set_state calls to a work queue\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "ba83b0158e1e7ae0a0169d523c3ed5084a360233",
      "tree": "19c06ebc5fbbd1da61f37bfb65f66c2ab18ef746",
      "parents": [
        "fb52b002c2d20205d01598f0440dc89ece98ba2d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Apr 16 10:39:22 2010 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:08 2011 -0700"
      },
      "message": "USB: gadget: f_mtp: USB gadget function driver for MTP and PTP device support.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "fb52b002c2d20205d01598f0440dc89ece98ba2d",
      "tree": "b9e371f59e1f3e3bd1f2964bc48b773a287b1066",
      "parents": [
        "e2dc503c4220b7d86815283f7d18c0b14af64470"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Apr 16 15:32:15 2010 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:07 2011 -0700"
      },
      "message": "USB: composite: Add support for functions overriding USB_DT_STRING descriptors\n\nNeeded for MTP support.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "e2dc503c4220b7d86815283f7d18c0b14af64470",
      "tree": "86b791420885196c018cc05bd527d5996762d976",
      "parents": [
        "0de5a69f62827cbf1cf4a254811aab65200e5a2d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jun 23 08:20:59 2010 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:07 2011 -0700"
      },
      "message": "USB: gadget: composite: Add userspace notifications for USB state changes\n\nAdd switch to notify current USB configuration.  This can be used to detect\nUSB connect and disconnect events.\n\nBroadcast a change via the usb_composite class when a USB function is\nenabled or disabled.\n\nRename usb_function.hidden to usb_function.disabled.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "0de5a69f62827cbf1cf4a254811aab65200e5a2d",
      "tree": "b2cb16b4b56d488974a82c7bccced70936fb6e5c",
      "parents": [
        "efbf862863661f2db4851e60017653b081d22a57"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jun 15 17:34:25 2010 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:07 2011 -0700"
      },
      "message": "USB: gadget: f_mass_storage: Integrate android customizations\n\nIntegrate support for android composite driver and platform data\nwithin CONFIG_USB_ANDROID_MASS_STORAGE.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "efbf862863661f2db4851e60017653b081d22a57",
      "tree": "28297b15f5e540b55ece873cf0c27afe45e6663c",
      "parents": [
        "27d1890c42600e15ac71642b9cf863f9a0d068ba"
      ],
      "author": {
        "name": "Velempati Chiranjeevi",
        "email": "c_cvelem@qualcomm.com",
        "time": "Wed Oct 21 09:53:10 2009 +0530"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:07 2011 -0700"
      },
      "message": "USB: android gadget: mass storage: Fix format issue for Vista Host\n\nAs part of formating the mass storage device, Host sends the INQUIRY\nscsi command. As per the standard, the command length for this\ncommand should be 6 bytes, whereas the Vista host sends 12 bytes.\n\nWhen the command length of the command is not equal to the standard\nlength, the device sends a phase error as part of the status phase.\nWhen the host receives a phase error, it re-enumerates, hence the\nerror.\n\nIf the command is INQUIRY, and the command length is 12 bytes,\ntreating this as a good command and not sending the phase error\nto the host fixes this issue.\n\nSigned-off-by: Velempati Chiranjeevi \u003cc_cvelem@qualcomm.com\u003e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "27d1890c42600e15ac71642b9cf863f9a0d068ba",
      "tree": "55d35b5fa6072359d53d9dcdb8006259464a98dd",
      "parents": [
        "0130a0e683e4266bda24c27c246dc1adaa6fad9a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Apr 15 15:04:07 2010 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:07 2011 -0700"
      },
      "message": "USB: gadget: f_mass_storage: Defer handling interface changes until it is safe.\n\nPulling in some code from file_storage.c, we now handle interface changes\nin do_set_config(), which is now not called until any pending requests have\nbeen successfully completed or cancelled.\n\nThis fixes a race condition that resulted in usb_ep_free_request() being called\nwhile the request is still busy.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "0130a0e683e4266bda24c27c246dc1adaa6fad9a",
      "tree": "047c3986dffe9fa4d6d1afccce0adb9af4ffd866",
      "parents": [
        "0a4c12d4fa0fdec17cd9347ea9f70453cfaffe14"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Wed Dec 10 20:01:15 2008 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:06 2011 -0700"
      },
      "message": "USB: gadget: android: mass_storage: Use spin_lock_irqsave/spin_unlock_irqrestore\n\nThe old code did not allways disable interrupts when called from thread\ncontext, but tried to lock the same spinlock from interrupt context.\n\nThis was merged from a change to drivers/usb/function/mass_storage.c\nin the android-msm-2.6.29 branch.\n\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "0a4c12d4fa0fdec17cd9347ea9f70453cfaffe14",
      "tree": "1ee9384c416432c0ba24098c3e63095b8df81a86",
      "parents": [
        "f6205641334bf29e59de6cbe62de618d7ee339e6"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 17 15:42:29 2010 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:06 2011 -0700"
      },
      "message": "USB: gadget: android: check for null _android_dev in android_register_function()\n\nThis fixes a load ordering issue that occurred if a function driver loads before\nthe android gadget driver is initialized.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "f6205641334bf29e59de6cbe62de618d7ee339e6",
      "tree": "6e56642e3ba50a6e2c971bfb6dafa4f1866e895c",
      "parents": [
        "0d511c44709dfbc32174e9ee66d446ea2eaaaaee"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 12 11:01:05 2010 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:06 2011 -0700"
      },
      "message": "USB: gadget: f_mass_storage: Flush writes after every 4 MB.\n\nThis avoids excessive caching at the block level layer when copying large\nfiles to the storage device.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "0d511c44709dfbc32174e9ee66d446ea2eaaaaee",
      "tree": "12b4729b07831a6d60245c9465972b8cce5322c9",
      "parents": [
        "0f63be217580f90d85affb7c14921b73a540aa47"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 10 17:05:03 2010 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:06 2011 -0700"
      },
      "message": "USB: gadget: f_rndis: Add platform data for RNDIS vendor ID and MAC address.\n\nThis fixes a kernel panic in rndis.c when receiving the\nOID_GEN_VENDOR_DESCRIPTION command.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "0f63be217580f90d85affb7c14921b73a540aa47",
      "tree": "9003d383e662d1ec747b26a28b1e786be0b559f7",
      "parents": [
        "8c6a6b21809e2c17fea5653e9e7bb87969507766"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Feb 26 09:34:19 2010 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:05 2011 -0700"
      },
      "message": "USB: gadget: composite: Don\u0027t increment interface number for alt settings.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "8c6a6b21809e2c17fea5653e9e7bb87969507766",
      "tree": "d6f2ab90622fdedc135b57545acc5acfb8abc829",
      "parents": [
        "352208629f9af9e79c48214ef355ad7d0056da12"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Feb 26 09:30:01 2010 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:05 2011 -0700"
      },
      "message": "USB: gadget: composite: Don\u0027t call set_alt() on functions that are hidden.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "352208629f9af9e79c48214ef355ad7d0056da12",
      "tree": "949f1d73058736a1435669fc1e62a08345e1679e",
      "parents": [
        "a83f187e9f34cd91d05b0c3016f6afb9c91ae916"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 24 10:20:59 2010 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:05 2011 -0700"
      },
      "message": "USB: gadget: android: Disable UMS when RNDIS ethernet is active.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "a83f187e9f34cd91d05b0c3016f6afb9c91ae916",
      "tree": "d6d3b6e4c76f20879e6d7005982a9c7cb9b3a8e5",
      "parents": [
        "8f5f3914030df59d512b0b92043423179e76d046"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Feb 18 09:50:28 2010 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:05 2011 -0700"
      },
      "message": "usb: gadget: u_ether: Remove warning from gether_disconnect()\n\ngether_disconnect() is always called before gether_connect() by the different\nUSB ethernet functions, so this warning was firing during normal operation.\n\nChange-Id: I178cc7d1f67e9e87ac2e99c6674c4db8fcddf4a0\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "8f5f3914030df59d512b0b92043423179e76d046",
      "tree": "0218e26ca5752c24b51878083bf56a6ac34d44c5",
      "parents": [
        "da574e2e1f73ee7facc5003b0f8f12d438c86203"
      ],
      "author": {
        "name": "Steve Kondik",
        "email": "shade@discord.hmsinc.com",
        "time": "Wed Feb 17 12:59:29 2010 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:09:02 2011 -0700"
      },
      "message": "Add USB_ANDROID_RNDIS_WCEIS option.\n\nChange-Id: I85973ebfcbfae6b401fb8b402842309c72655149\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "da574e2e1f73ee7facc5003b0f8f12d438c86203",
      "tree": "7df6df262b861bff8b567bd47c5e86d9afdf3b55",
      "parents": [
        "c832ca8239edd05f4593eaa10c2893b2eaf948b6"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Feb 13 16:37:16 2010 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:08:59 2011 -0700"
      },
      "message": "USB: gadget: android: Fix special case for RNDIS ethernet function\n\nOnly set device descriptor bDeviceClass field to USB_CLASS_COMM when\nthe RNDIS function is actually enabled.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "c832ca8239edd05f4593eaa10c2893b2eaf948b6",
      "tree": "f4d79d97ca4e70f1a3c347bc895fd937d9cb6e14",
      "parents": [
        "573cea55c785d7388b35cb3ef38cb71b7fd33c4d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Feb 13 19:16:07 2010 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:08:57 2011 -0700"
      },
      "message": "USB: composite: Compute interface numbers correctly when functions are hidden.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "573cea55c785d7388b35cb3ef38cb71b7fd33c4d",
      "tree": "bb84400e8ba7de8ce0e4ebf3f3de4b4e14a40935",
      "parents": [
        "fe8ae898476eb9c5ed731cce539194e66393cd11"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 10 15:26:58 2010 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:08:56 2011 -0700"
      },
      "message": "USB: gadget: android: Specify USB_CLASS_COMM in device descriptor if using RNDIS\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "fe8ae898476eb9c5ed731cce539194e66393cd11",
      "tree": "e1f18096058e406b642f96f824f15380271e5c6b",
      "parents": [
        "053297308f600fe8e986547ab0a90ee7cd6bf5d3"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 08 05:33:54 2010 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:08:56 2011 -0700"
      },
      "message": "USB: gadget: Disable RNDIS function by default if CONFIG_USB_ANDROID_RNDIS is set\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "053297308f600fe8e986547ab0a90ee7cd6bf5d3",
      "tree": "35b1bc33aa4d5850b868d02c6f17d5e081821a63",
      "parents": [
        "f041ac69036f1e3a7ce62ef3391801cbe0c6630c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Feb 06 21:54:31 2010 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:08:55 2011 -0700"
      },
      "message": "USB: android: Use composite class driver for enabling and disabling functions\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "f041ac69036f1e3a7ce62ef3391801cbe0c6630c",
      "tree": "7eae32d7c875c7473d2d88ae483a3423712c4c19",
      "parents": [
        "789ef237b38a79f988738ff18ae6d756551afb92"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Feb 06 21:53:51 2010 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:08:55 2011 -0700"
      },
      "message": "USB: composite: Add class driver for enabling and disabling USB functions.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "789ef237b38a79f988738ff18ae6d756551afb92",
      "tree": "96e509fea36cf35be557e0069e616be7d235e5cd",
      "parents": [
        "a9e8c44fc578157d2124d66e1c72266df6391f47"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jan 12 10:33:59 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:08:55 2011 -0700"
      },
      "message": "USB: gadget: android: android USB gadget improvements:\n\nusb: gadget: f_mass_storage: use dev_set_name()\n\nReplacing strcpy() to device-\u003ebus_id which no longer exists in 2.6.32\n\nChange-Id: Id978c881f457044c750bfd62f4c5bcc35bcd4fc5\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nUSB: gadget: f_adb: Claim endpoints so they are not reused by another function.\n\nChange-Id: Ic9536cca800162e701c81cab36054f51ea759b72\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nUSB: gadget: f_acm: Fix crashes in acm_set_alt()\n\nChange-Id: I91b761d392f8b1ca8784c69069b43e402b90d6a4\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nUSB: gadget: f_acm: Include android code only if CONFIG_USB_ANDROID_ACM is set.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nUSB: gadget: Android support for RNDIS serial ethernet function.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nUSB: gadget: android: Add function name to android_register_function printk.\n\nChange-Id: I38bf79d9b544cdeaec9385f7482a131417fc4b23\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "a9e8c44fc578157d2124d66e1c72266df6391f47",
      "tree": "1cee0bb81d9ce7eba00ecae655c816ec30a3b2f6",
      "parents": [
        "83814ea997cb03a65c7baf1c41699963724af932"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Dec 19 18:22:09 2009 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:08:54 2011 -0700"
      },
      "message": "USB: gadget: adb: Queue read requests with length specified by client.\n\nPreviously we queued 4K requests rather than the count passed into read().\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "83814ea997cb03a65c7baf1c41699963724af932",
      "tree": "a9d10d51d51cc41b17cf3e757c146c5f01ab7c2e",
      "parents": [
        "292b1bcfc8ef95451f4e6ed6f4cb4c20b24dca94"
      ],
      "author": {
        "name": "Krishna, Vamsi",
        "email": "vskrishn@qualcomm.com",
        "time": "Wed Feb 11 21:07:20 2009 +0530"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:08:54 2011 -0700"
      },
      "message": "USB: gadget: android: android USB gadget improvements:\n\nUSB: android gadget: add remote wakeup attribute to android function\n\nAdd remote wakeup attribute to configuration descriptor of android\nfunction to advertise remote wakeup capability to host\n\nAcked-by: Allam, Suresh Reddy \u003csallam@qualcomm.com\u003e\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nUSB: gadget: android: Allow functions to handle setup requests.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nSupport for specifying the list of USB functions from platform data.\n\nThe main android.c gadget driver no longer has hard coded references\nto the mass_storage and adb functions.\n\nSupport for computing the product ID based on tables in platform data\nand the currently enabled functions.\n\nMoved the adb enable/disable logic from android.c to f_adb.c.\n\nChange-Id: I6259d3fb1473ed973f700e55d17744956f3527bb\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "292b1bcfc8ef95451f4e6ed6f4cb4c20b24dca94",
      "tree": "9122a24288250ccb6209776d792cf8b6198b5cfb",
      "parents": [
        "c7ba16ae1a444d78c4c67960f76c87159125d2b0"
      ],
      "author": {
        "name": "Joe Swantek",
        "email": "joseph.swantek@motorola.com",
        "time": "Tue Dec 15 07:17:40 2009 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:08:54 2011 -0700"
      },
      "message": "USB: composite: Allow configurations to handle unhandled setup requests\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "c7ba16ae1a444d78c4c67960f76c87159125d2b0",
      "tree": "b3d75cee474a62e1783208a7667ce4d5c16cfa29",
      "parents": [
        "258d10363551562f1f4677902c8b277abfc0ec68"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Dec 11 11:24:07 2009 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:08:54 2011 -0700"
      },
      "message": "USB: composite: Add flag to usb_function to hide its interface during enumeration\n\nChange-Id: Ie999b5190e3e2b6fd23015b8e796cdd178829929\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "258d10363551562f1f4677902c8b277abfc0ec68",
      "tree": "4e6fe86c468432ac524cdba9691e13cf37ba8d56",
      "parents": [
        "b21ab23c7bd34a53cfb4eb532c9c80007831749c"
      ],
      "author": {
        "name": "Jared Suttles",
        "email": "jared.suttles@motorola.com",
        "time": "Fri Aug 07 18:57:49 2009 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:08:53 2011 -0700"
      },
      "message": "USB: composite: Fix USB WHQL Certification Issues\n\nSubmitted on behalf of RaviKumar Vembu \u003cravi.v@motorola.com\u003e\nSigned-off-by: Jared Suttles \u003cjared.suttles@motorola.com\u003e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "b21ab23c7bd34a53cfb4eb532c9c80007831749c",
      "tree": "0cc053b17d42d3515e4dd1372f34b15ad2d17c2d",
      "parents": [
        "646bb86a454b23d4792883a8d1fd83a87a333f0c"
      ],
      "author": {
        "name": "Joe Swantek",
        "email": "joseph.swantek@motorola.com",
        "time": "Wed Jul 22 20:16:06 2009 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:08:53 2011 -0700"
      },
      "message": "drivers: usb: gadget: Add helper function for installing ACM gadget function.\n\nSubmitted on behalf of James Luan \u003cJames.Luan@motorola.com\u003e\n\nSigned-off-by: Joe Swantek \u003cjoseph.swantek@motorola.com\u003e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "646bb86a454b23d4792883a8d1fd83a87a333f0c",
      "tree": "98a824d3840f9ae65ce1769b7f052d8c0a54b447",
      "parents": [
        "7f0d7bd310cad696f8a17e270f174ffcd1eb4f14"
      ],
      "author": {
        "name": "Jared Suttles",
        "email": "jared.suttles@motorola.com",
        "time": "Thu Jul 30 16:13:27 2009 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:08:53 2011 -0700"
      },
      "message": "drivers: usb: gadget: handle NULL descriptors in composite config_buf\n\nThis fixes a problem in enumeration after a gadget function is removed.\n\nSubmitted on behalf of RaviKumar Vembu \u003cravi.v@motorola.com\u003e\n\nSigned-off-by: Jared Suttles \u003cjared.suttles@motorola.com\u003e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7f0d7bd310cad696f8a17e270f174ffcd1eb4f14",
      "tree": "68c647a4486df9d8364defe3ae75af91553e0703",
      "parents": [
        "8f5ed00afeef24ad0ce6af4e8231ae0313e55247"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Dec 02 22:01:33 2008 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 14 09:08:53 2011 -0700"
      },
      "message": "android_usb: Composite USB gadget driver for android.\n\nChange-Id: I4101540916b73a5f4e48684727ff782f98b969c7\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nUSB: android gadget: add remote wakeup attribute to android function\n\nAdd remote wakeup attribute to configuration descriptor of android\nfunction to advertise remote wakeup capability to host\n\nAcked-by: Allam, Suresh Reddy \u003csallam@qualcomm.com\u003e\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nusb gadget: link fixes for android composite gadget\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nusb gadget: Fix null pointer errors in android composite driver\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nusb: gadget: android: Allow usb charging to draw up to 500mA instead of 250.\n\nSigned-off-by: Rebecca Schultz Zavin \u003crebecca@android.com\u003e\n\nusb gadget: android: Add helper function for usb_gadget_connect and disconnect.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\ndrivers: usb: gadget: call switch_dev_unregister in mass storage unbind callback\n\nThis fixes a problem unloading the android gadget driver when built as a module\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nusb: gadget: android: Add dependency on switch driver.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nUSB: gadget: android: Fix USB WHQL Certification Issues\n\nSubmitted on behalf of RaviKumar Vembu \u003cravi.v@motorola.com\u003e\nSigned-off-by: Jared Suttles \u003cjared.suttles@motorola.com\u003e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\ndrivers: usb: gadget: Add \"usb_mass_storage\" platform driver.\n\nThis will be used for configuring vendor, product and release from board file.\n\nSubmitted on behalf of RaviKumar Vembu \u003cravi.v@motorola.com\u003e\nSigned-off-by: Jared Suttles \u003cjared.suttles@motorola.com\u003e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\ndrivers: usb: gadget: Use usb_mass_storage platform device as parent for lun\n\nIf a platform device is specified for the f_mass_storage function, use it as the\nparent driver for the lun files in sysfs.\nThis allows a platform independent file path for controlling USB mass storage\nfrom user space.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\ndrivers: usb: gadget: Add platform data struct for usb_mass_storage device\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nusb: gadget: mass_storage: Fix Mass Storage Panic during PC reboot\n\nSubmitted on behalf of RaviKumar Vembu \u003cravi.v@motorola.com\u003e\nSigned-off-by: Jared Suttles \u003cjared.suttles@motorola.com\u003e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nusb: gadget: f_mass_storage: Handle setup request correctly\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nusb: gadget: f_mass_storage: Clean up wakelocks on error paths\n\nSigned-off-by: Rebecca Schultz Zavin \u003crebecca@android.com\u003e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "4858f06e7d92ed2ebdb29ccbc079c127e675a89c",
      "tree": "6fe442179b78f4968de1a5180d0bad6b439733be",
      "parents": [
        "72887c8644384c0cc43b9298ae0659de383f2e9c"
      ],
      "author": {
        "name": "Yauheni Kaliuta",
        "email": "yauheni.kaliuta@nokia.com",
        "time": "Wed Jun 08 17:12:02 2011 +0300"
      },
      "committer": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Thu Jun 09 12:01:03 2011 +0300"
      },
      "message": "usb: musb: gadget: clear TXPKTRDY flag when set FLUSHFIFO\n\nFixes mis-use of MUSB\u0027s hardware feature where it won\u0027t\nflush FIFOs when TXPKTRDY flag was set before and we are\nflushing setting both FLUSHFIFO and TXPKTRDY.\n\nIn other words, we need to ensure that when we try to\nflush FIFOs, we don\u0027t accidentaly set TXPKTRDY bit too\ndue to a read-back of the register.\n\nThe MUSB Programming Guide says \"May be set simultaneously\nwith TxPktRdy to abort the packet that is currently being\nloaded into the FIFO\". This is a situation where TXPKTRDY\nhasn\u0027t been set yet, but some data already loaded into the\nfifo. It looks, that if TXPKTRDY has been set before, and\nthere is no loading in progress, but we set FLUSHFIFO with\nthe TXPKTRDY, controller tries to use the same logic to\nabort loading and as the result just does nothing (because\nthere is no packet been loaded currently)\n\nSigned-off-by: Yauheni Kaliuta \u003cyauheni.kaliuta@nokia.com\u003e\n\n[ balbi@ti.com : fixed one whitespace git complained about\n\t\t improved the commit log slightly ]\n\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n"
    },
    {
      "commit": "72887c8644384c0cc43b9298ae0659de383f2e9c",
      "tree": "c0f5270a8ec4763f523f541f7721211982ac7356",
      "parents": [
        "d6d0f665ad869c8ad8b8a42c4393e02dfe227e12"
      ],
      "author": {
        "name": "Márton Németh",
        "email": "nm127@freemail.hu",
        "time": "Mon May 30 20:45:42 2011 +0200"
      },
      "committer": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Thu Jun 09 12:01:03 2011 +0300"
      },
      "message": "usb: musb: host: compare status for negative error values\n\nVariable d is a struct usb_iso_packet_descriptor. The status filed is usually\nnegative when an error happens.\n\nSigned-off-by: Márton Németh \u003cnm127@freemail.hu\u003e\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n"
    },
    {
      "commit": "a26d31cef06f43a76327c21235e75450869df2b8",
      "tree": "d7960c449c685b8ca3a64857d3b390131d46089c",
      "parents": [
        "3095ec895fd5ec19a7cb60b5cbfa766d68a74a24"
      ],
      "author": {
        "name": "Steffen Sledz",
        "email": "sledz@dresearch-fe.de",
        "time": "Tue Jun 07 14:01:56 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 08 13:48:30 2011 -0700"
      },
      "message": "USB: serial: add another 4N-GALAXY.DE PID to ftdi_sio driver\n\nE.g. newer CAN 2.0 A/B \u003c\u003d\u003e USB 2.0 converters report idProduct\u003df3c2.\n\nSigned-off-by: Steffen Sledz \u003csledz@dresearch-fe.de\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3095ec895fd5ec19a7cb60b5cbfa766d68a74a24",
      "tree": "e0a9124c9e84fefe9f1da7cb2e7cebd5cf694ba1",
      "parents": [
        "7febe2be36035e5c75128e8cc3baeb1f30fa2bc4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 07 15:03:37 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 07 15:03:37 2011 -0700"
      },
      "message": "Revert \"USB: option: add ID for ZTE MF 330\"\n\nThis reverts commit a559d2c8c1bf652ea2d0ecd6ab4a250fcdb37db8.\n\nTurns out that device id 0x1d6b:0x0002 is a USB hub, which causes havoc\nwhen the option driver tries to bind to it.\n\nSo revert this as it doesn\u0027t seem to be needed at all.\n\nThanks to Michael Tokarev and Paweł Drobek for working on resolving this\nissue.\n\nCc: Paweł Drobek \u003cpawel.drobek@gmail.com\u003e\nCc: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    }
  ],
  "next": "7febe2be36035e5c75128e8cc3baeb1f30fa2bc4"
}
