)]}'
{
  "log": [
    {
      "commit": "6921cbe0917174fb1d7029726bea92e7e59330b5",
      "tree": "0dbf6d8100fb4022a667a96ac53c765a8db2967c",
      "parents": [
        "c6c98b112b695a0df202881afc51ee307433d736"
      ],
      "author": {
        "name": "Vamsi Krishna",
        "email": "vskrishn@codeaurora.org",
        "time": "Tue Feb 21 18:34:43 2012 -0800"
      },
      "committer": {
        "name": "Jack Pham",
        "email": "jackp@codeaurora.org",
        "time": "Thu Mar 15 15:54:14 2012 -0700"
      },
      "message": "usb: hsic_hcd: add remote wakeup support\n\nWith remote wakeup, usb peripheral can wakeup usb host using\nresume signalling when usb bus is suspended. During XO shutdown\nremote wakeup is over strobe line which is wakeup capable.\nRegister for strobe wakeup gpio while suspending usb hsic\ncontroller to support remote wakeup.\n\nChange-Id: Ia8b4d5371dbd0bdbbc86a77cc6236ae9b562a3f2\nSigned-off-by: Vamsi Krishna \u003cvskrishn@codeaurora.org\u003e\n"
    },
    {
      "commit": "a3152031da5d2dbce83bd0ab8b56b31108ad6255",
      "tree": "ac2fad78ff7cd90fac84ce593f0fca9f95cd1c0e",
      "parents": [
        "a36dc2ca7d9c0b71ffaef2fcdcaae9a211add39e"
      ],
      "author": {
        "name": "Vijayavardhan Vennapusa",
        "email": "vvreddy@codeaurora.org",
        "time": "Mon Mar 05 16:29:30 2012 +0530"
      },
      "committer": {
        "name": "Vijayavardhan Vennapusa",
        "email": "vvreddy@codeaurora.org",
        "time": "Tue Mar 13 11:39:37 2012 +0530"
      },
      "message": "USB: OTG: msm: Add support for SRP and HNP\n\nThis patch changes OTG driver to support different\nOTG statemachine states for OTG2.0 complaince. It will\nalso enable to swap Host role between two OTG devices\nvia HNP and enable B device to request A device to start\nVBUS session via SRP.\n\nChange-Id: Ibe2519ff1570768f51e879af483a6f5c23b38d8f\nSigned-off-by: Vijayavardhan Vennapusa \u003cvvreddy@codeaurora.org\u003e\nSigned-off-by: Pavankumar Kondeti \u003cpkondeti@codeaurora.org\u003e\n"
    },
    {
      "commit": "a36dc2ca7d9c0b71ffaef2fcdcaae9a211add39e",
      "tree": "15456346d2ab4709caf0ef738487ab5d0762cc98",
      "parents": [
        "d450cb04b0775358333a19bac2a7dd4407cd3b52"
      ],
      "author": {
        "name": "Vijayavardhan Vennapusa",
        "email": "vvreddy@codeaurora.org",
        "time": "Mon Mar 05 16:09:40 2012 +0530"
      },
      "committer": {
        "name": "Vijayavardhan Vennapusa",
        "email": "vvreddy@codeaurora.org",
        "time": "Tue Mar 13 11:35:42 2012 +0530"
      },
      "message": "USB: EHCI: use otg_start_hnp() to intiate HNP in ehci-hub.c\n\nEHCI core intiates HNP by calling otg_start_hnp() API when OTG port\nis put into suspend to notify OTG driver which will take care of\nHNP by suspending host and kicking gadget.\n\nChange-Id: I2982b9f49140c2dcf2a32691e74f177e8d5d08cb\nSigned-off-by: Vijayavardhan Vennapusa \u003cvvreddy@codeaurora.org\u003e\n"
    },
    {
      "commit": "1d66e1ccedc796b2170d352529d26269a1e53890",
      "tree": "e02fdc4b3e1b44a9d269962ea1b1add4e7be6598",
      "parents": [
        "441356be6a11dc589034963cdcd500dfc937689e"
      ],
      "author": {
        "name": "Hemant Kumar",
        "email": "hemantk@codeaurora.org",
        "time": "Mon Feb 13 15:24:59 2012 -0800"
      },
      "committer": {
        "name": "Hemant Kumar",
        "email": "hemantk@codeaurora.org",
        "time": "Thu Mar 08 09:39:17 2012 -0800"
      },
      "message": "USB: EHCI: msm: Add platform device to support HSUSB core4 in Host Mode\n\nLiquid platform on 8064 has ehci compliant HSUSB core4 to support\nGOBI module via PCIe MINI Card CONNECTOR. This patch adds platform\ndevice instance for EHCI compliant USB Host Controller driver.\n\nChange-Id: I0d01babc3a818b308216bb57e48522cd2b62e07c\nSigned-off-by: Hemant Kumar \u003chemantk@codeaurora.org\u003e\n"
    },
    {
      "commit": "441356be6a11dc589034963cdcd500dfc937689e",
      "tree": "4a1378ecebf8a29bf0ae96136a6c7bf750d0c077",
      "parents": [
        "5692535d5b8c46d933d6ba1417dcc7d2c3b1820a"
      ],
      "author": {
        "name": "Hemant Kumar",
        "email": "hemantk@codeaurora.org",
        "time": "Mon Feb 13 16:12:49 2012 -0800"
      },
      "committer": {
        "name": "Hemant Kumar",
        "email": "hemantk@codeaurora.org",
        "time": "Thu Mar 08 09:39:16 2012 -0800"
      },
      "message": "USB: EHCI: Vote for VDD min only when Liquid is undocked\n\nCurrently, ehci driver votes for VDD minimization when USB bus goes\nto suspend. PHY will not generate interrupt if driver votes for VDD\nminimization. Hence set the VDDCX suspend voltage to 0.75V when Liquid\nis attached to docking station, so that phy can generate interrupt\nas a result of a device plug in.\n\nChange-Id: Iab0bc2855e7729f30ca5665014670e8fa6ca313d\nSigned-off-by: Hemant Kumar \u003chemantk@codeaurora.org\u003e\n"
    },
    {
      "commit": "5692535d5b8c46d933d6ba1417dcc7d2c3b1820a",
      "tree": "7d0077b0d3a7a1b25a3a3c50a52d1c7d6a4f08dc",
      "parents": [
        "37c733d885483a157a9523e60434ce699ecc0d4e"
      ],
      "author": {
        "name": "Hemant Kumar",
        "email": "hemantk@codeaurora.org",
        "time": "Mon Feb 13 16:59:52 2012 -0800"
      },
      "committer": {
        "name": "Hemant Kumar",
        "email": "hemantk@codeaurora.org",
        "time": "Thu Mar 08 09:39:16 2012 -0800"
      },
      "message": "USB: EHCI: Add support to detect docking station connection and removal\n\nThis change implements the docking station detection by reading the status\nof MPP9 on PMIC8921. With this change VREG_5V(USB port 3 VBUS) is turned on\nonly when docking station is connected to Liquid platform in order to save\npower.\n\nChange-Id: I4282b4273adabf8aeaf8faad43cd2cfff36eeac6\nSigned-off-by: Hemant Kumar \u003chemantk@codeaurora.org\u003e\n"
    },
    {
      "commit": "91223e07a7179cdabc8236230ebdda1adddf734a",
      "tree": "3e3642382ebc58ea116c1ce0e0c0d3837433615a",
      "parents": [
        "a424739f465fd24764ffcd4ec8488788ad2e625b"
      ],
      "author": {
        "name": "Manu Gautam",
        "email": "mgautam@codeaurora.org",
        "time": "Tue Nov 08 15:27:22 2011 +0530"
      },
      "committer": {
        "name": "Hemant Kumar",
        "email": "hemantk@codeaurora.org",
        "time": "Sun Feb 26 09:11:19 2012 -0800"
      },
      "message": "USB: EHCI: msm: Add support for EHCI based Host Controller\n\nThis patch adds support for EHCI compliant USB Host Controller\nfor Liquid on 8064.\nThis driver supports Host only mode and is different from ehci-msm\nwhich relies on OTG driver for putting hardware in low pwer mode\nand PHY initialization as well.\n\nChange-Id: I84b63b2577311900a0b434f53df547bad62f6316\nSigned-off-by: Manu Gautam \u003cmgautam@codeaurora.org\u003e\nSigned-off-by: Hemant Kumar \u003chemantk@codeaurora.org\u003e\n"
    },
    {
      "commit": "fd193ebd578a4d61f4069180aa2ce54cef3b2b97",
      "tree": "7b1da3ca83946754cadd6c434d7b00a7a68a6cfd",
      "parents": [
        "58f3973bd4f7d3a082ce896219351fecef8544c7"
      ],
      "author": {
        "name": "Jack Pham",
        "email": "jackp@codeaurora.org",
        "time": "Wed Feb 22 15:38:08 2012 -0800"
      },
      "committer": {
        "name": "Jack Pham",
        "email": "jackp@codeaurora.org",
        "time": "Thu Feb 23 11:07:16 2012 -0800"
      },
      "message": "usb: ehci-msm-hsic: Fix unbalanced clock warning\n\nThe HSIC controller may be in suspend state in which its clocks\nare already disabled. Fix warning given by clock subsystem when\ndisabling the clocks a second time when the controller\u0027s platform\ndevice is removed by first checking if the device is suspended.\n\nChange-Id: Id6e6f01673b93a48de5e36afe3de44a5a4dc632e\nSigned-off-by: Jack Pham \u003cjackp@codeaurora.org\u003e\n"
    },
    {
      "commit": "58f3973bd4f7d3a082ce896219351fecef8544c7",
      "tree": "4441377c4f69862ac90b400aaab588a76bf7eb59",
      "parents": [
        "6c549919919a31098f377c268a2fe85cc2f7886e"
      ],
      "author": {
        "name": "Jack Pham",
        "email": "jackp@codeaurora.org",
        "time": "Wed Feb 22 17:42:46 2012 -0800"
      },
      "committer": {
        "name": "Jack Pham",
        "email": "jackp@codeaurora.org",
        "time": "Thu Feb 23 11:07:15 2012 -0800"
      },
      "message": "usb: ehci: Fix HSIC controller autosuspend\n\nWhen the HSIC peripheral is disconnected, its platform device is\nremoved via platform_device_del(), which increments the PM\ndisable_depth counter. The EHCI driver\u0027s remove callback is\nadditionally calling pm_runtime_disable() which increments the\ncounter again. When the peripheral is reconnected via\nplatform_device_add() only the probe callback is calling\npm_runtime_enable() which leads to an unbalanced counter.\n\nChange-Id: I28bcd20568d93a48c760551b701a234edaec5ecc\nSigned-off-by: Jack Pham \u003cjackp@codeaurora.org\u003e\n"
    },
    {
      "commit": "8c8ba383ec2babf49db20ad171c796aafa70c80d",
      "tree": "17b688b8c58a5e183a93058de26ae06755fd3ac1",
      "parents": [
        "127823f1a52b6f973fdb12c6c932ad3ad3fafd66"
      ],
      "author": {
        "name": "Lena Salman",
        "email": "esalman@codeaurora.org",
        "time": "Tue Feb 14 15:59:31 2012 +0200"
      },
      "committer": {
        "name": "Lena Salman",
        "email": "esalman@codeaurora.org",
        "time": "Sun Feb 19 17:35:11 2012 +0200"
      },
      "message": "usb: hsic: Add support for HSIC host on 9615\n\nTo add support for 9615, the following changes were made in the host file:\n1. Add HSIC host initialization for non-GPIO configuration.\n2. Add support for no-pdata (which is not needed for\nnon-GPIO configuration)\n3. Move set_clk_rate calls to target specific clock files.\n\nChange-Id: Icecd65d0b8467a4e4b1696ff0e14aa759d1be679\nSigned-off-by: Lena Salman \u003cesalman@codeaurora.org\u003e\n"
    },
    {
      "commit": "28b1bac30e2079cb5e41a6f72ed94d3968ffbbfb",
      "tree": "28eff2c0e5929e3569332048489d8bb6846f0f24",
      "parents": [
        "e9f676d5e4038fb5aa74e786ed28904bf701809f"
      ],
      "author": {
        "name": "Manu Gautam",
        "email": "mgautam@codeaurora.org",
        "time": "Mon Jan 30 16:43:06 2012 +0530"
      },
      "committer": {
        "name": "Manu Gautam",
        "email": "mgautam@codeaurora.org",
        "time": "Tue Feb 14 10:35:05 2012 +0530"
      },
      "message": "USB: msm: Use new clock framework APIs\n\nClock framework now provides two new APIs: clk_prepare and\nclk_unprepare which can be called from non-atomic context only.\nOther clk_enable and clk_disable APIs can be called from atomic\ncontext.\nTo enable a clock drivers need to call both clk_prepare and\nclk_enable. Similarly for disabling a clock - clk_disable and\nclk_unprepare should be called.\n\nChange-Id: I1ec0764e34619b92d811e1dadd2bb49b5cf36f5c\nSigned-off-by: Manu Gautam \u003cmgautam@codeaurora.org\u003e\n"
    },
    {
      "commit": "5143b25310e6154dea1c647a0c04ccb882f038e7",
      "tree": "49096efb6bbe78999270d205c75afcd1f45f3813",
      "parents": [
        "f5845c457845c67c31c8110fb96b4866b9847dc2"
      ],
      "author": {
        "name": "Manu Gautam",
        "email": "mgautam@codeaurora.org",
        "time": "Thu Jan 05 19:25:23 2012 -0800"
      },
      "committer": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Mon Jan 09 22:32:33 2012 -0700"
      },
      "message": "msm: clock: Use device names to distinguish between USB clocks\n\nDrivers should now use their device names to distinguish between\nclocks of the same type rather than the clock name. Clock names\nare updated to match the new naming convention.\n\nCRs-Fixed: 327559\nChange-Id: I78757806589e037a0655a63e7ee20c935214c99d\nSigned-off-by: Manu Gautam \u003cmgautam@codeaurora.org\u003e\n"
    },
    {
      "commit": "34f0158eae67c120d488a0721fc4bd890cd0e909",
      "tree": "2827a0de5f9700ed727ae0a27a53f98c09377a39",
      "parents": [
        "3392563200cc46b9c57e1cb19d006001b5a15c36"
      ],
      "author": {
        "name": "Vamsi Krishna",
        "email": "vskrishn@codeaurora.org",
        "time": "Wed Dec 14 19:54:42 2011 -0800"
      },
      "committer": {
        "name": "Ramakrishna Prasad N",
        "email": "crpn@codeaurora.org",
        "time": "Fri Dec 23 16:02:58 2011 +0530"
      },
      "message": "hsic: Put data/strobe into reset when peripheral disconnects\n\nExternal modem is connected to Apps processor over HSIC interface.\nThis interface is used in boot loader for image download and in\nHLOS for Rmnet, DUN, DIAG etc. After image download, during ext\nmodem HLOS boot-up, resets the HSIC controller and goes into\ndiscovery phase.\nOn Apps processor, HSIC can put strobe/data into IDLE state because\nof bus suspend. At this point, if external modem resets the HSIC\nh/w and goes into discovery and connect phase as HSIC bus is in IDLE.\nAs Apps processor is not in discovery state, may miss the connect\nevent which can lead to enumeration failure. To avoid such issues,\nput HSIC lines into reset on external modem status change event.\n\nChange-Id: I9df163da2d8dbfb2a12b75c4485379886fa47174\nSigned-off-by: Vamsi Krishna \u003cvskrishn@codeaurora.org\u003e\nSigned-off-by: Ramakrishna Prasad N \u003ccrpn@codeaurora.org\u003e\n"
    },
    {
      "commit": "849b79e1f0bd8d23e3ea00cfd60b3ea37baee914",
      "tree": "ab126a68a158b7415b255608c740cd9571c13cd5",
      "parents": [
        "fee60e033e577f7c0f3218ec345d9301d36901b2"
      ],
      "author": {
        "name": "Bryan Huntsman",
        "email": "bryanh@codeaurora.org",
        "time": "Tue Nov 22 18:43:08 2011 -0800"
      },
      "committer": {
        "name": "Bryan Huntsman",
        "email": "bryanh@codeaurora.org",
        "time": "Tue Nov 22 18:44:06 2011 -0800"
      },
      "message": "msm: trivial: \u0027chmod 644\u0027 for non-executable files\n\nSigned-off-by: Bryan Huntsman \u003cbryanh@codeaurora.org\u003e\n"
    },
    {
      "commit": "d074fa2796bdbc42c4f918c78d6711bafc80b1c8",
      "tree": "033929706a0aae95f65c134a8fc09cec3fb3e75d",
      "parents": [
        "53ae1740b250e4d02dd7a6ca82075355ad99dc23",
        "9ab6a29787b1221a697f85835645549668258bdc"
      ],
      "author": {
        "name": "Bryan Huntsman",
        "email": "bryanh@codeaurora.org",
        "time": "Wed Nov 16 13:52:50 2011 -0800"
      },
      "committer": {
        "name": "Bryan Huntsman",
        "email": "bryanh@codeaurora.org",
        "time": "Wed Nov 16 13:52:50 2011 -0800"
      },
      "message": "Merge remote-tracking branch \u0027common/android-3.0\u0027 into msm-3.0\n\n* common/android-3.0: (570 commits)\n  misc: remove kernel debugger core\n  ARM: common: fiq_debugger: dump sysrq directly to console if enabled\n  ARM: common: fiq_debugger: add irq context debug functions\n  net: wireless: bcmdhd: Call init_ioctl() only if was started properly for WEXT\n  net: wireless: bcmdhd: Call init_ioctl() only if was started properly\n  net: wireless: bcmdhd: Fix possible memory leak in escan/iscan\n  cpufreq: interactive governor: default 20ms timer\n  cpufreq: interactive governor: go to intermediate hi speed before max\n  cpufreq: interactive governor: scale to max only if at min speed\n  cpufreq: interactive governor: apply intermediate load on current speed\n  ARM: idle: update idle ticks before call idle end notifier\n  input: gpio_input: don\u0027t print debounce message unless flag is set\n  net: wireless: bcm4329: Skip dhd_bus_stop() if bus is already down\n  net: wireless: bcmdhd: Skip dhd_bus_stop() if bus is already down\n  net: wireless: bcmdhd: Improve suspend/resume processing\n  net: wireless: bcmdhd: Check if FW is Ok for internal FW call\n  tcp: Don\u0027t nuke connections for the wrong protocol\n  ARM: common: fiq_debugger: make uart irq be no_suspend\n  net: wireless: Skip connect warning for CONFIG_CFG80211_ALLOW_RECONNECT\n  mm: avoid livelock on !__GFP_FS allocations\n  ...\n\nConflicts:\n\tarch/arm/mm/cache-l2x0.c\n\tarch/arm/vfp/vfpmodule.c\n\tdrivers/mmc/core/host.c\n\tkernel/power/wakelock.c\n\tnet/bluetooth/hci_event.c\n\nSigned-off-by: Bryan Huntsman \u003cbryanh@codeaurora.org\u003e\n"
    },
    {
      "commit": "f51a7f02dd12d0f6276051f41a56e68622fe620f",
      "tree": "027d872c284d3886d216e59c35e273bf0914947d",
      "parents": [
        "4b32c0ebea5973c36eebac0ba85b86455d48ea61",
        "8be99cf54af28ff335739eaedda54e4196b3a51f"
      ],
      "author": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Mon Nov 14 21:53:55 2011 -0800"
      },
      "committer": {
        "name": "QuIC Gerrit Code Review",
        "email": "code-review@localhost",
        "time": "Mon Nov 14 21:53:56 2011 -0800"
      },
      "message": "Merge \"USB: OTG: msm: Simplify Runtime PM usage\" into msm-3.0"
    },
    {
      "commit": "8be99cf54af28ff335739eaedda54e4196b3a51f",
      "tree": "8be97528865f6f39cf79451cd1fc25fe2173eebc",
      "parents": [
        "3c36baec814f388cb9803e76a2c11ff970a824b3"
      ],
      "author": {
        "name": "Pavankumar Kondeti",
        "email": "pkondeti@codeaurora.org",
        "time": "Thu Aug 04 10:48:08 2011 +0530"
      },
      "committer": {
        "name": "Pavankumar Kondeti",
        "email": "pkondeti@codeaurora.org",
        "time": "Tue Nov 15 06:34:29 2011 +0530"
      },
      "message": "USB: OTG: msm: Simplify Runtime PM usage\n\nIn current design, PM usage counter operations are scattered across\ncharging detection work, state machine work, interrupt handler and\nresume work.  This did not give any problems for typical device mode\nor host mode use cases.  But with ACA implementation, there will be\nmany corner cases where PM usage operations can go wrong and device\nstays out of low power mode (LPM).  Hence leave PM usage counter\noperations to state machine work, which knows best about the device\nstate.\n\nDon\u0027t create device and host controller platform devices as children\nof OTG device.  This helps OTG state machine to know about host bus\nsuspend and can take a decision whether low power mode is possible or\nnot.\n\nChange-Id: I00474e396546d2567d09409e70591a6c9d325c06\nSigned-off-by: Pavankumar Kondeti \u003cpkondeti@codeaurora.org\u003e\n"
    },
    {
      "commit": "6d9f31a3b3cb7eeb900ac0e690add239bd696fa0",
      "tree": "a968d7da8a4ffbe94640f41c7669fc528e065702",
      "parents": [
        "5e490390068971e379aff0033206638eeae622a8"
      ],
      "author": {
        "name": "Chiranjeevi Velempati",
        "email": "cvelempa@codeaurora.org",
        "time": "Tue Nov 15 01:19:22 2011 +0530"
      },
      "committer": {
        "name": "Chiranjeevi Velempati",
        "email": "cvelempa@codeaurora.org",
        "time": "Tue Nov 15 01:19:22 2011 +0530"
      },
      "message": "USB: EHCI: Vote for lower vddcx,even if PHY suspend fails\n\nAt times, USB PHY suspend fails and keeps it vote for higher VDDCx\nresulting in high power numbers. Hence request for lower VDDCx, even\nif phy suspend fails.\n\nChange-Id: Iba79f93641a665c7f681af02c4dbe59cacddd18a\nSigned-off-by: Chiranjeevi Velempati \u003ccvelempa@codeaurora.org\u003e\n"
    },
    {
      "commit": "45d88faada3a16c0a54433b1eda7da2d1f89396a",
      "tree": "9e0957b8cd8f8563ddd78cf4f269aea8477c45e4",
      "parents": [
        "893e3b5c1b57a42095bdbb634f3d14fbcf469367"
      ],
      "author": {
        "name": "Vamsi Krishna",
        "email": "vskrishn@codeaurora.org",
        "time": "Wed Nov 02 13:28:42 2011 -0700"
      },
      "committer": {
        "name": "Vamsi Krishna",
        "email": "vskrishn@codeaurora.org",
        "time": "Tue Nov 08 10:08:17 2011 -0800"
      },
      "message": "usb: ehci: vote for lower vddcx voltage during low power mode\n\nusb phy requires vddcx to be at 1.1V when operational. However,\nkeeping vddcx high all times will cause higher power consumption.\nHence, request for lower vddcx voltage during low power mode.\n\nChange-Id: I13465a65770b91178c82b722de9fb5fd132fe966\nSigned-off-by: Vamsi Krishna \u003cvskrishn@codeaurora.org\u003e\n"
    },
    {
      "commit": "2b592824f99dbbe85541787e8d273f2f55196498",
      "tree": "341001d473ec7c57ec5cb43cff29d3e16685140f",
      "parents": [
        "49277a6da10d05a66ba246bc47b10736393d6642"
      ],
      "author": {
        "name": "Vijayavardhan Vennapusa",
        "email": "vvreddy@codeaurora.org",
        "time": "Wed Nov 02 19:51:32 2011 +0530"
      },
      "committer": {
        "name": "Linux Build Service Account",
        "email": "lnxbuild@localhost",
        "time": "Fri Nov 04 14:09:57 2011 -0600"
      },
      "message": "USB: EHCI: Configure HSIC host\u003c-\u003ehub\u003c-\u003eConventional USB devices\n\nSMSC hub must be configured so that Conventional USB\ndevices can be connected to SMSC hub on 8960 liquid.\n\nChange-Id: I261798de153d3c37f2fa2c4d7e15d96bb81c432f\nSigned-off-by: Vijayavardhan Vennapusa \u003cvvreddy@codeaurora.org\u003e\n"
    },
    {
      "commit": "2bb3e310159b65c88caf0c67a20ed257568be267",
      "tree": "e4ad01c06a9e27939781c5dd9d0cb92e6fcd54d5",
      "parents": [
        "2f53cb72c1574d3880d9e88e254b756565fe2f6d",
        "97596c34030ed28657ccafddb67e17a03890b90a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Oct 27 15:01:19 2011 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Oct 27 15:01:19 2011 -0700"
      },
      "message": "Merge commit \u0027v3.0.8\u0027 into android-3.0\n"
    },
    {
      "commit": "e3316a10982cfd753c9824abe249c2096d4f68e3",
      "tree": "4d94a4860f749cd52b0eab26cca3e46e7c2c0c99",
      "parents": [
        "39025fee42f6926aba0a213fb7fdd90633bc5cfd"
      ],
      "author": {
        "name": "Vijayavardhan Vennapusa",
        "email": "vvreddy@codeaurora.org",
        "time": "Sat Oct 15 06:05:17 2011 +0530"
      },
      "committer": {
        "name": "Vijayavardhan Vennapusa",
        "email": "vvreddy@codeaurora.org",
        "time": "Fri Oct 21 00:15:27 2011 +0530"
      },
      "message": "USB: EHCI: msm: Configure GPIOs for HSIC strobe and data lines\n\nAs part of HSIC initialization, in addition to enabling HSIC host\nmode and periodic pad calibration, need to configure GPIO150 and\nGPIO151 pins for HSIC strobe and data lines respectively for\nproper data communication between HSIC devices.\n\nChange-Id: I7cdf8e4532045d813ac6c6e3f53455d0a640245b\nSigned-off-by: Vijayavardhan Vennapusa \u003cvvreddy@codeaurora.org\u003e\n"
    },
    {
      "commit": "39025fee42f6926aba0a213fb7fdd90633bc5cfd",
      "tree": "75e9be5957b522a0804e4dbf41552a23f7984c18",
      "parents": [
        "c60c2d46299ec789b639c9b0e7dc82f130fa6603"
      ],
      "author": {
        "name": "Vijayavardhan Vennapusa",
        "email": "vvreddy@codeaurora.org",
        "time": "Sat Oct 15 05:55:10 2011 +0530"
      },
      "committer": {
        "name": "Vijayavardhan Vennapusa",
        "email": "vvreddy@codeaurora.org",
        "time": "Fri Oct 21 00:14:26 2011 +0530"
      },
      "message": "USB: EHCI: msm: Add support for HSIC based Host Controller\n\nThis patch adds support for EHCI compliant USB Host Controller\npresent in MSM chips. This Controller uses an HSIC PHY which\ncommunicates with downstream devices using STROBE/DATA lines.\n\nHSIC is a supplement to USB 2.0 specification and is preferred\nfor chip-to-chip interconnect (having maximum circuit length of\n10cm) as it removes the analog transceivers.\n\nChange-Id: Id54dcc802e606e0ff7dd31bc64671a797cd8bc09\nSigned-off-by: Vijayavardhan Vennapusa \u003cvvreddy@codeaurora.org\u003e\nSigned-off-by: Manu Gautam \u003cmgautam@codeaurora.org\u003e\n"
    },
    {
      "commit": "2e099a00c756d378529fa4014355f0e7573bf409",
      "tree": "7d2f6e96a1b277f66659aa1e2c10292290e9fdac",
      "parents": [
        "7fe62a3d10a22a50a9c82ace1bb7300f1f858e06"
      ],
      "author": {
        "name": "Anji jonnala",
        "email": "anjir@codeaurora.org",
        "time": "Fri Aug 19 12:48:01 2011 +0530"
      },
      "committer": {
        "name": "Bryan Huntsman",
        "email": "bryanh@codeaurora.org",
        "time": "Mon Oct 03 16:15:57 2011 -0700"
      },
      "message": "USB: EHCI: Unlink the pending async queue heads explicitly in ehci_stop\n\nIs is observed that ehci-\u003easync-\u003eqh_next ptr is not getting freed up\nwhich is causing crash in ehci_mem_cleanup function. As a temporary\nworkaround unlink the pending queue heads as a part of ehci_stop.\n\nCRs-fixed: 301134\n\nSigned-off-by: Anji jonnala \u003canjir@codeaurora.org\u003e\n"
    },
    {
      "commit": "99904bf394be0c65e12440bca422b18d1198d73f",
      "tree": "752a6a086792ee351f2099d0231abdf9ab60fdcc",
      "parents": [
        "6d901cfa36fbf9682aa467cafacb765baa1c10af"
      ],
      "author": {
        "name": "Arnaud Lacombe",
        "email": "lacombar@gmail.com",
        "time": "Thu Jul 21 13:16:20 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:41:02 2011 -0700"
      },
      "message": "usb/host/pci-quirks.c: correct annotation of `ehci_dmi_nohandoff_table\u0027\n\ncommit a7e6401e19aa54924ab11ee548afaad0a55ffdc6 upstream.\n\nehci_bios_handoff() is marked __devinit, `ehci_dmi_nohandoff_table\u0027 should be\nmarked __devinitconst, not __initconst. This fixes the following section\nmismatch:\n\nWARNING: vmlinux.o(.devinit.text+0x4f08): Section mismatch in reference from the function ehci_bios_handoff() to the variable .init.rodata:ehci_dmi_nohandoff_table\nThe function __devinit ehci_bios_handoff() references a variable __initconst ehci_dmi_nohandoff_table.\nIf ehci_dmi_nohandoff_table is only used by ehci_bios_handoff then annotate ehci_dmi_nohandoff_table with a matching annotation.\n\nCc: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Arnaud Lacombe \u003clacombar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5b48fc2d4e9ce38fe045429a3ef0c76dae899ed7",
      "tree": "b68b20fec7974ffae37a709ffbf8152fd3442d79",
      "parents": [
        "f06d716d8eb4248e75fa2a5e1288a5ddcff8a9f4"
      ],
      "author": {
        "name": "Anisse Astier",
        "email": "anisse@astier.eu",
        "time": "Tue Jul 05 16:38:46 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:40:47 2011 -0700"
      },
      "message": "ehci: add pci quirk for Ordissimo and RM Slate 100 too\n\ncommit 0c42a4e84502533ec40544324debe2a62836ae11 upstream.\n\nAdd another variant of the Pegatron tablet used by Ordissimo, and\napparently RM Slate 100, to the list of models that should skip the\nnegociation for the handoff of the EHCI controller.\n\nSigned-off-by: Anisse Astier \u003canisse@astier.eu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f06d716d8eb4248e75fa2a5e1288a5ddcff8a9f4",
      "tree": "73da75e8d72238656dfe46104cc6aecbb63cac48",
      "parents": [
        "352d0ff21f7a8ce23b0a70a80cd61e5ae566fe60"
      ],
      "author": {
        "name": "Anisse Astier",
        "email": "anisse@astier.eu",
        "time": "Tue Jul 05 16:38:45 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:40:46 2011 -0700"
      },
      "message": "ehci: refactor pci quirk to use standard dmi_check_system method\n\ncommit 03c75362181b0b1d6a330e7cf8def10ba988dfbe upstream.\n\nIn commit 3610ea5397b80822e417aaa0e706fd803fb05680 (ehci: workaround for pci\nquirk timeout on ExoPC), a workaround was added to skip the negociation for\nthe handoff of the EHCI controller.\n\nRefactor the DMI detection code to use standard dmi_check_system function.\n\nSigned-off-by: Anisse Astier \u003canisse@astier.eu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c3c24ca5a0a6bf57b2685c159e5c9c01df76dddb",
      "tree": "75ab03be39a9c28c74a37b70a529a353d083c73b",
      "parents": [
        "06b995be61d1352337c792e8f83048b773e32a41"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Sep 19 16:05:11 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:40:33 2011 -0700"
      },
      "message": "USB: xhci: Set change bit when warm reset change is set.\n\ncommit 44f4c3ed60fb21e1d2dd98304390ac121e6c7c6d upstream.\n\nSometimes, when a USB 3.0 device is disconnected, the Intel Panther\nPoint xHCI host controller will report a link state change with the\nstate set to \"SS.Inactive\".  This causes the xHCI host controller to\nissue a warm port reset, which doesn\u0027t finish before the USB core times\nout while waiting for it to complete.\n\nWhen the warm port reset does complete, and the xHC gives back a port\nstatus change event, the xHCI driver kicks khubd.  However, it fails to\nset the bit indicating there is a change event for that port because the\nlogic in xhci-hub.c doesn\u0027t check for the warm port reset bit.\n\nAfter that, the warm port status change bit is never cleared by the USB\ncore, and the xHC stops reporting port status change bits.  (The xHCI\nspec says it shouldn\u0027t report more port events until all change bits are\ncleared.) This means any port changes when a new device is connected\nwill never be reported, and the port will seem \"dead\" until the xHCI\ndriver is unloaded and reloaded, or the computer is rebooted.  Fix this\nby making the xHCI driver set the port change bit when a warm port reset\nchange bit is set.\n\nA better solution would be to make the USB core handle warm port reset\nin differently, merging the current code with the standard port reset\ncode that does an incremental backoff on the timeout, and tries to\ncomplete the port reset two more times before giving up.  That more\ncomplicated fix will be merged next window, and this fix will be\nbackported to stable.\n\nThis should be backported to kernels as old as 3.0, since that was the\nfirst kernel with commit a11496ebf375 (\"xHCI: warm reset support\").\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n\n"
    },
    {
      "commit": "f1d44226b60a7b28f949105e675ba84a09bcc9a7",
      "tree": "88039c176fe760575d0869f3ae16599edf1532e1",
      "parents": [
        "4343d2a21eeab544544646fed30252c184b358a9"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Aug 12 10:23:01 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:39:54 2011 -0700"
      },
      "message": "xhci: Handle zero-length isochronous packets.\n\ncommit 48df4a6fd8c40c0bbcbca2044f5f2bc75dcf6db1 upstream.\n\nFor a long time, the xHCI driver has had this note:\n\t/* FIXME: Ignoring zero-length packets, can those happen? */\n\nIt turns out that, yes, there are drivers that need to queue zero-length\ntransfers for isochronous OUT transfers.  Without this patch, users will\nsee kernel hang messages when a driver attempts to enqueue an isochronous\nURB with a zero length transfer (because count_isoc_trbs_needed will return\nzero for that TD, xhci_td-\u003elast_trb will never be set, and updating the\ndequeue pointer will cause an infinite loop).\n\nMatěj ran into this issue when using an NI Audio4DJ USB soundcard\nwith the snd-usb-caiaq driver.  See\n\thttps://bugzilla.kernel.org/show_bug.cgi?id\u003d40702\n\nFix count_isoc_trbs_needed() to return 1 for zero-length transfers (thanks\nAlan on the math help).  Update the various TRB field calculations to deal\nwith zero-length transfers.  We\u0027re still transferring one packet with a\nzero-length data payload, so the total_packet_count should be 1. The\nTransfer Burst Count (TBC) and Transfer Last Burst Packet Count (TLBPC)\nfields should be set to zero.\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\nTested-by: Matěj Laitl \u003cmatej@laitl.cz\u003e\nCc: Daniel Mack \u003czonque@gmail.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4343d2a21eeab544544646fed30252c184b358a9",
      "tree": "8114edb11b0bc0beebaa13579a46743840f42724",
      "parents": [
        "8a8045bd9b07df6def0ae16b91ecbe8225267b35"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Aug 02 15:43:40 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:39:53 2011 -0700"
      },
      "message": "xhci: Remove TDs from TD lists when URBs are canceled.\n\ncommit 585df1d90cb07a02ca6c7a7d339e56e46d50dafb upstream.\n\nWhen a driver tries to cancel an URB, and the host controller is dying,\nxhci_urb_dequeue will giveback the URB without removing the xhci_tds\nthat comprise that URB from the td_list or the cancelled_td_list.  This\ncan cause a race condition between the driver calling URB dequeue and\nthe stop endpoint command watchdog timer.\n\nIf the timer fires on a dying host, and a driver attempts to resubmit\nwhile the watchdog timer has dropped the xhci-\u003elock to giveback a\ncancelled URB, URBs may be given back by the xhci_urb_dequeue() function.\nAt that point, the URB\u0027s priv pointer will be freed and set to NULL, but\nthe TDs will remain on the td_list.  This will cause an oops in\nxhci_giveback_urb_in_irq() when the watchdog timer attempts to loop\nthrough the endpoints\u0027 td_lists, giving back killed URBs.\n\nMake sure that xhci_urb_dequeue() removes TDs from the TD lists and\ncanceled TD lists before it gives back the URB.\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: Andiry Xu \u003candiry.xu@amd.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8a8045bd9b07df6def0ae16b91ecbe8225267b35",
      "tree": "2ab87b4052b68194f54d98abba4ba12ae67c65b4",
      "parents": [
        "e0a4518977b9b4f65b8d5e71415d97b84c4f7efe"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Jul 29 12:44:32 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:39:53 2011 -0700"
      },
      "message": "xhci: Fix failed enqueue in the middle of isoch TD.\n\ncommit 522989a27c7badb608155b1f1dea3487ed431f74 upstream.\n\nWhen an isochronous transfer is enqueued, xhci_queue_isoc_tx_prepare()\nwill ensure that there is enough room on the transfer rings for all of the\nisochronous TDs for that URB.  However, when xhci_queue_isoc_tx() is\nenqueueing individual isoc TDs, the prepare_transfer() function can fail\nif the endpoint state has changed to disabled, error, or some other\nunknown state.\n\nWith the current code, if Nth TD (not the first TD) fails, the ring is\nleft in a sorry state.  The partially enqueued TDs are left on the ring,\nand the first TRB of the TD is not given back to the hardware.  The\nenqueue pointer is left on the TRB after the last successfully enqueued\nTD.  This means the ring is basically useless.  Any new transfers will be\nenqueued after the failed TDs, which the hardware will never read because\nthe cycle bit indicates it does not own them.  The ring will fill up with\nuntransferred TDs, and the endpoint will be basically unusable.\n\nThe untransferred TDs will also remain on the TD list.  Since the td_list\nis a FIFO, this basically means the ring handler will be waiting on TDs\nthat will never be completed (or worse, dereference memory that doesn\u0027t\nexist any more).\n\nChange the code to clean up the isochronous ring after a failed transfer.\nIf the first TD failed, simply return and allow the xhci_urb_enqueue\nfunction to free the urb_priv.  If the Nth TD failed, first remove the TDs\nfrom the td_list.  Then convert the TRBs that were enqueued into No-op\nTRBs.  Make sure to flip the cycle bit on all enqueued TRBs (including any\nlink TRBs in the middle or between TDs), but leave the cycle bit of the\nfirst TRB (which will show software-owned) intact.  Then move the ring\nenqueue pointer back to the first TRB and make sure to change the\nxhci_ring\u0027s cycle state to what is appropriate for that ring segment.\n\nThis ensures that the No-op TRBs will be overwritten by subsequent TDs,\nand the hardware will not start executing random TRBs because the cycle\nbit was left as hardware-owned.\n\nThis bug is unlikely to be hit, but it was something I noticed while\ntracking down the watchdog timer issue.  I verified that the fix works by\ninjecting some errors on the 250th isochronous URB queued, although I\ncould not verify that the ring is in the correct state because uvcvideo\nrefused to talk to the device after the first usb_submit_urb() failed.\nRing debugging shows that the ring looks correct, however.\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: Andiry Xu \u003candiry.xu@amd.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e0a4518977b9b4f65b8d5e71415d97b84c4f7efe",
      "tree": "330c094145569d390a3cfaf90e62ff2e426b1c8f",
      "parents": [
        "dbb2e00b9a1774d1e740d952e2e9e87a178866bd"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Jul 22 14:34:34 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:39:52 2011 -0700"
      },
      "message": "xhci: Fix memory leak during failed enqueue.\n\ncommit d13565c12828ce0cd2a3862bf6260164a0653352 upstream.\n\nWhen the isochronous transfer support was introduced, and the xHCI driver\nswitched to using urb-\u003ehcpriv to store an \"urb_priv\" pointer, a couple of\nmemory leaks were introduced into the URB enqueue function in its error\nhandling paths.\n\nxhci_urb_enqueue allocates urb_priv, but it doesn\u0027t free it if changing\nthe control endpoint\u0027s max packet size fails or the bulk endpoint is in\nthe middle of allocating or deallocating streams.\n\nxhci_urb_enqueue also doesn\u0027t free urb_priv if any of the four endpoint\ntypes\u0027 enqueue functions fail.  Instead, it expects those functions to\nfree urb_priv if an error occurs.  However, the bulk, control, and\ninterrupt enqueue functions do not free urb_priv if the endpoint ring is\nNULL.  It will, however, get freed if prepare_transfer() fails in those\nenqueue functions.\n\nSeveral of the error paths in the isochronous endpoint enqueue function\nalso fail to free it.  xhci_queue_isoc_tx_prepare() doesn\u0027t free urb_priv\nif prepare_ring() indicates there is not enough room for all the\nisochronous TDs in this URB.  If individual isochronous TDs fail to be\nqueued (perhaps due to an endpoint state change), urb_priv is also leaked.\n\nThis argues that the freeing of urb_priv should be done in the function\nthat allocated it, xhci_urb_enqueue.\n\nThis patch looks rather ugly, but refactoring the code will have to wait\nbecause this patch needs to be backported to stable kernels.\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: Andiry Xu \u003candiry.xu@amd.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dbb2e00b9a1774d1e740d952e2e9e87a178866bd",
      "tree": "ee7843f1974f5544195013e3cf918e39d1cdd451",
      "parents": [
        "eff529629832537fbd6837912add0c4a8cb7d585"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Wed Aug 03 16:46:49 2011 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:39:52 2011 -0700"
      },
      "message": "xHCI: report USB2 port in resuming as suspend\n\ncommit 8a8ff2f9399b23b968901f585ccb5a70a537c5ae upstream.\n\nWhen a USB2 port initiate a remote wakeup, software shall ensure that\nresume is signaled for at least 20ms, and then write \u00270\u0027 to the PLS field.\nAccording to this, xhci driver do the following things:\n\n1. When receive a remote wakeup event in irq_handler, set the resume_done\n   value as jiffies + 20ms, and modify rh_timer to poll root hub status at\n   that time;\n2. When receive a GetPortStatus request, if the jiffies is after the\n   resume_done value, clear the resume signal and resume_done.\n\nHowever, if usb_port_resume() is called before the rh_timer triggered, it\nwill indicate the port as Suspend Cleared and skip the clear resume signal\npart. The device will fail the usb_get_status request in finish_port_resume(),\nand usbcore will try a reset-resume instead. Device will work OK after\nreset-resume, but resume_done value is not cleared in this case, and\nxhci_bus_suspend() will fail because when it finds a non-zero resume_done\nvalue, it will regard the port as resuming and return -EBUSY.\n\nThis causes issue on some platforms that the system fail to suspend\nafter remote wakeup from suspend by USB2 devices connected to xHCI port.\n\nTo fix this issue, report the port status as suspend if the resume is\nsignaling less that 20ms, and usb_port_resume() will wait 25ms and check\nport status again, so xHCI driver can clear the resume signaling and\nresume_done value.\n\nThis should be backported to kernels as old as 2.6.37.\n\nSigned-off-by: Andiry Xu \u003candiry.xu@amd.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "eff529629832537fbd6837912add0c4a8cb7d585",
      "tree": "fafafcfc7a15a74eb04e76104120f8c0d1277c33",
      "parents": [
        "cde5eaf3ce98af402a91fa67ba392f6451f5bc89"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Wed Aug 03 16:46:48 2011 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:39:52 2011 -0700"
      },
      "message": "xHCI: fix port U3 status check condition\n\ncommit 5ac04bf190e6f8b17238aef179ebd7f2bdfec919 upstream.\n\nFix the port U3 status check when Clear PORT_SUSPEND Feature.\nThe port status should be masked with PORT_PLS_MASK to check if it\u0027s in\nU3 state.\n\nThis should be backported to kernels as old as 2.6.37.\n\nSigned-off-by: Andiry Xu \u003candiry.xu@amd.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cde5eaf3ce98af402a91fa67ba392f6451f5bc89",
      "tree": "2ce4cb0b1a387f3fab3f6e537316a95c60c55496",
      "parents": [
        "f91364f8bd8bd8427bc020734724d62618e4bb97"
      ],
      "author": {
        "name": "Wang Zhi",
        "email": "zhi.wang@windriver.com",
        "time": "Wed Aug 17 10:39:31 2011 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:39:52 2011 -0700"
      },
      "message": "USB: EHCI: Do not rely on PORT_SUSPEND to stop USB resuming in ehci_bus_resume().\n\ncommit d0f2fb2500b1c5fe4967eb45d8c9bc758d7aef80 upstream.\n\nFrom EHCI Spec p.28 HC should clear PORT_SUSPEND when SW clears\nPORT_RESUME. In Intel Oaktrail platform, MPH (Multi-Port Host\nController) core clears PORT_SUSPEND directly when SW sets PORT_RESUME\nbit. If we rely on PORT_SUSPEND bit to stop USB resume, we will miss\nthe action of clearing PORT_RESUME. This will cause unexpected long\nresume signal on USB bus.\n\nSigned-off-by: Wang Zhi \u003czhi.wang@windriver.com\u003e\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b942664bf67f1f0ce021b327bd37785835e5e6b6",
      "tree": "8c14c437f5d4e6dcfa8d6fc3f6304547ce14669f",
      "parents": [
        "400e39dcf58c2d002fa0440a589630f3abe08bae"
      ],
      "author": {
        "name": "Yulgon Kim",
        "email": "yulgon.kim@samsung.com",
        "time": "Thu Aug 18 14:02:45 2011 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:39:49 2011 -0700"
      },
      "message": "usb: s5p-ehci: fix a NULL pointer deference\n\ncommit e5d3d4463fb30998385f9e78ab3c7f63b5813000 upstream.\n\nThis patch fixes a NULL pointer deference. A NULL pointer\ndereference happens since s5p_ehci-\u003ehcd field is not initialized\nyet in probe function.\n\n[jg1.han@samsung.com: edit commit message]\nSigned-off-by: Yulgon Kim \u003cyulgon.kim@samsung.com\u003e\nSigned-off-by: Jingoo Han \u003cjg1.han@samsung.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3f2bc4d6eb5a4fada842462ba22bb6bbb41d00c7",
      "tree": "088e0646c8abcbde263d13ee865ba69032ac86dd",
      "parents": [
        "f06154cc47399dfdb3950d3e6b71d67ee186f69d"
      ],
      "author": {
        "name": "Bryan Huntsman",
        "email": "bryanh@codeaurora.org",
        "time": "Tue Aug 16 17:27:22 2011 -0700"
      },
      "committer": {
        "name": "Bryan Huntsman",
        "email": "bryanh@codeaurora.org",
        "time": "Mon Oct 03 09:57:10 2011 -0700"
      },
      "message": "Initial Contribution\n\nmsm-2.6.38: tag AU_LINUX_ANDROID_GINGERBREAD.02.03.04.00.142\n\nSigned-off-by: Bryan Huntsman \u003cbryanh@codeaurora.org\u003e\n"
    },
    {
      "commit": "95cf7a199cf8bcd6647c3b90efb78614157bf766",
      "tree": "bf71c1c9a80c8d74b479f9a68a3b9132947c38a5",
      "parents": [
        "7013f4976374ea75cb35446393be7bdc37bf607f"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "ming.lei@canonical.com",
        "time": "Tue Aug 30 16:03:13 2011 +0000"
      },
      "committer": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Tue Sep 06 17:40:39 2011 -0700"
      },
      "message": "usb: ehci: make HC see up-to-date qh/qtd descriptor ASAP\n\nThis patch introduces the helper of ehci_sync_mem to flush\nqtd/qh into memory immediately on some ARM, so that HC can\nsee the up-to-date qtd/qh descriptor asap.\n\nThis patch fixs one performance bug on ARM Cortex A9 dual core\nplatform, which has been reported on quite a few ARM machines\n(OMAP4, Tegra 2, snowball...), see details from link of\nhttps://bugs.launchpad.net/bugs/709245.\n\nThe patch has been tested ok on OMAP4 panda A1 board, and the\nperformance of \u0027dd\u0027 over usb mass storage can be increased from\n4~5MB/sec to 14~16MB/sec after applying this patch.\n\nChange-Id: I7994c58a1001c7f46f13e09420328a3916bbfcef\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nSigned-off-by: Ming Lei \u003cming.lei@canonical.com\u003e\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\n"
    },
    {
      "commit": "d4194efe3582a8e17add88ad1fcf8e2fd00504ce",
      "tree": "9c82a7ef2a92b63d848b4f6a331d1592907edd57",
      "parents": [
        "2c97674e78c73410d4ac9f63643d05682b2e8f70"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Jul 01 13:35:40 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Aug 17 10:55:51 2011 -0700"
      },
      "message": "xhci: Don\u0027t submit commands or URBs to halted hosts.\n\ncommit 7bd89b4017f46a9b92853940fd9771319acb578a upstream.\n\nCommit fccf4e86200b8f5edd9a65da26f150e32ba79808\n\"USB: Free bandwidth when usb_disable_device is called\" caused a bit of an\nissue when the xHCI host controller driver is unloaded.  It changed the\nUSB core to remove all endpoints when a USB device is disabled.  When the\ndriver is unloaded, it will remove the SuperSpeed split root hub, which\nwill disable all devices under that roothub and then halt the host\ncontroller.  When the second High Speed split roothub is removed, the USB\ncore will attempt to disable the endpoints, which will submit a Configure\nEndpoint command to a halted host controller.\n\nThe command will eventually time out, but it makes the xHCI driver unload\ntake *minutes* if there are a couple of USB 1.1/2.0 devices attached.  We\nmust halt the host controller when the SuperSpeed roothub is removed,\nbecause we can\u0027t allow any interrupts from things like port status\nchanges.\n\nMake several different functions not submit commands or URBs to the host\ncontroller when the host is halted, by adding a check in\nxhci_check_args().  xhci_check_args() is used by these functions:\n\nxhci.c-int xhci_urb_enqueue()\nxhci.c-int xhci_drop_endpoint()\nxhci.c-int xhci_add_endpoint()\nxhci.c-int xhci_check_bandwidth()\nxhci.c-void xhci_reset_bandwidth()\nxhci.c-static int xhci_check_streams_endpoint()\nxhci.c-int xhci_discover_or_reset_device()\n\nIt\u0027s also used by xhci_free_dev().  However, we have to take special\ncare in that case, because we want the device memory to be freed if the\nhost controller is halted.\n\nThis patch should be backported to the 2.6.39 and 3.0 kernel.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2c97674e78c73410d4ac9f63643d05682b2e8f70",
      "tree": "ea6b93f685560319aa680dcfb4bb51c2f0e89132",
      "parents": [
        "92d934f0145afdefdb47e688b6376b87ad4f066d"
      ],
      "author": {
        "name": "JiSheng Zhang",
        "email": "jszhang3@gmail.com",
        "time": "Sat Jul 16 11:04:19 2011 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Aug 17 10:55:51 2011 -0700"
      },
      "message": "USB: xhci: fix OS want to own HC\n\ncommit 6768458b17f9bf48a4c3a34e49b20344091b5f7e upstream.\n\nSoftware should set XHCI_HC_OS_OWNED bit to request ownership of xHC.\n\nThis patch should be backported to kernels as far back as 2.6.31.\n\nSigned-off-by: JiSheng Zhang \u003cjszhang3@gmail.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d10a6cb264a9a60097e46c93146259fd36ea4bf4",
      "tree": "9d8474b2e83139c4ae4f78505ab0d3a2958645b6",
      "parents": [
        "e151a2a6651a0a46fc03a845614b23c3b630042e"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Jul 19 14:01:23 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 04 21:58:41 2011 -0700"
      },
      "message": "EHCI: fix direction handling for interrupt data toggles\n\ncommit e04f5f7e423018bcec84c11af2058cdce87816f3 upstream.\n\nThis patch (as1480) fixes a rather obscure bug in ehci-hcd.  The\nqh_update() routine needs to know the number and direction of the\nendpoint corresponding to its QH argument.  The number can be taken\ndirectly from the QH data structure, but the direction isn\u0027t stored\nthere.  The direction is taken instead from the first qTD linked to\nthe QH.\n\nHowever, it turns out that for interrupt transfers, qh_update() gets\ncalled before the qTDs are linked to the QH.  As a result, qh_update()\ncomputes a bogus direction value, which messes up the endpoint toggle\nhandling.  Under the right combination of circumstances this causes\nusb_reset_endpoint() not to work correctly, which causes packets to be\ndropped and communications to fail.\n\nNow, it\u0027s silly for the QH structure not to have direct access to all\nthe descriptor information for the corresponding endpoint.  Ultimately\nit may get a pointer to the usb_host_endpoint structure; for now,\nadding a copy of the direction flag solves the immediate problem.\n\nThis allows the Spyder2 color-calibration system (a low-speed USB\ndevice that sends all its interrupt data packets with the toggle set\nto 0 and hance requires constant use of usb_reset_endpoint) to work\nwhen connected through a high-speed hub.  Thanks to Graeme Gill for\nsupplying the hardware that allowed me to track down this bug.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nReported-by: Graeme Gill \u003cgraeme@argyllcms.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e151a2a6651a0a46fc03a845614b23c3b630042e",
      "tree": "7441c11d68c30947ff850a24aefad57842865843",
      "parents": [
        "569f3720370818fe5c9d69a11217602b89ae3908"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Wed Jul 06 23:19:38 2011 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 04 21:58:40 2011 -0700"
      },
      "message": "EHCI: only power off port if over-current is active\n\ncommit 81463c1d707186adbbe534016cd1249edeab0dac upstream.\n\nMAX4967 USB power supply chip we use on our boards signals over-current when\npower is not enabled; once it\u0027s enabled, over-current signal returns to normal.\nThat unfortunately caused the endless stream of \"over-current change on port\"\nmessages. The EHCI root hub code reacts on every over-current signal change\nwith powering off the port -- such change event is generated the moment the\nport power is enabled, so once enabled the power is immediately cut off.\nI think we should only cut off power when we\u0027re seeing the active over-current\nsignal, so I\u0027m adding such check to that code. I also think that the fact that\nwe\u0027ve cut off the port power should be reflected in the result of GetPortStatus\nrequest immediately, hence I\u0027m adding a PORTSCn register readback after write...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "22007e1ddbe599373b116ecf3485ebf842405f73",
      "tree": "d119926869b5fee7a498c6d72418eab289e726dd",
      "parents": [
        "d05dcfcd0fea25eefa8b85926792b161239ac6b1"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Jul 05 12:34:05 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 04 21:58:32 2011 -0700"
      },
      "message": "USB: EHCI: go back to using the system clock for QH unlinks\n\ncommit 004c19682884d4f40000ce1ded53f4a1d0b18206 upstream.\n\nThis patch (as1477) fixes a problem affecting a few types of EHCI\ncontroller.  Contrary to what one might expect, these controllers\nautomatically stop their internal frame counter when no ports are\nenabled.  Since ehci-hcd currently relies on the frame counter for\ndetermining when it should unlink QHs from the async schedule, those\ncontrollers run into trouble: The frame counter stops and the QHs\nnever get unlinked.\n\nSome systems have also experienced other problems traced back to\ncommit b963801164618e25fbdc0cd452ce49c3628b46c8 (USB: ehci-hcd unlink\nspeedups), which made the original switch from using the system clock\nto using the frame counter.  It never became clear what the reason was\nfor these problems, but evidently it is related to use of the frame\ncounter.\n\nTo fix all these problems, this patch more or less reverts that commit\nand goes back to using the system clock.  But this can\u0027t be done\ncleanly because other changes have since been made to the scan_async()\nsubroutine.  One of these changes involved the tricky logic that tries\nto avoid rescanning QHs that have already been seen when the scanning\nloop is restarted, which happens whenever an URB is given back.\nSwitching back to clock-based unlinks would make this logic even more\ncomplicated.\n\nTherefore the new code doesn\u0027t rescan the entire async list whenever a\ngiveback occurs.  Instead it rescans only the current QH and continues\non from there.  This requires the use of a separate pointer to keep\ntrack of the next QH to scan, since the current QH may be unlinked\nwhile the scanning is in progress.  That new pointer must be global,\nso that it can be adjusted forward whenever the _next_ QH gets\nunlinked.  (uhci-hcd uses this same trick.)\n\nSimplification of the scanning loop removes a level of indentation,\nwhich accounts for the size of the patch.  The amount of code changed\nis relatively small, and it isn\u0027t exactly a reversion of the\nb963801164 commit.\n\nThis fixes Bugzilla #32432.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nTested-by: Matej Kenda \u003cmatejken@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d05dcfcd0fea25eefa8b85926792b161239ac6b1",
      "tree": "3bd94bede54a60db0ac225e8e3b1a0e75493db16",
      "parents": [
        "7cf375c453097d0dab7aee0c66fc6b7c1fbae763"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Jul 15 17:22:15 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 04 21:58:32 2011 -0700"
      },
      "message": "USB: OHCI: fix another regression for NVIDIA controllers\n\ncommit 6ea12a04d295235ed67010a09fdea58c949e3eb0 upstream.\n\nThe NVIDIA series of OHCI controllers continues to be troublesome.  A\nfew people using the MCP67 chipset have reported that even with the\nmost recent kernels, the OHCI controller fails to handle new\nconnections and spams the system log with \"unable to enumerate USB\nport\" messages.  This is different from the other problems previously\nreported for NVIDIA OHCI controllers, although it is probably related.\n\nIt turns out that the MCP67 controller does not like to be kept in the\nRESET state very long.  After only a few seconds, it decides not to\nwork any more.  This patch (as1479) changes the PCI initialization\nquirk code so that NVIDIA controllers are switched into the SUSPEND\nstate after 50 ms of RESET.  With no interrupts enabled and all the\ndownstream devices reset, and thus unable to send wakeup requests,\nthis should be perfectly safe (even for non-NVIDIA hardware).\n\nThe removal code in ohci-hcd hasn\u0027t been changed; it will still leave\nthe controller in the RESET state.  As a result, if someone unloads\nohci-hcd and then reloads it, the controller won\u0027t work again until\nthe system is rebooted.  If anybody complains about this, the removal\ncode can be updated similarly.\n\nThis fixes Bugzilla #22052.\n\nTested-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\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": "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": "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": "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": "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": "7febe2be36035e5c75128e8cc3baeb1f30fa2bc4",
      "tree": "be07b9ecfc6de82b12f07d293eade844fbd0659f",
      "parents": [
        "97b2f900335befbf6c4323ea6fd560ea5df4d154"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed Jun 01 19:10:06 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 07 09:07:47 2011 -0700"
      },
      "message": "drivers/usb/host/ohci-pxa27x.c: add missing clk_put\n\nAdd a label before the call to clk_put and jump to that in the error\nhandling code that occurs after the call to clk_get has succeeded.\n\nA simplified version of the semantic match that finds this problem is as\nfollows: (http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@r exists@\nexpression e1,e2;\nstatement S;\n@@\n\ne1 \u003d clk_get@p1(...);\n... when !\u003d e1 \u003d e2\n    when !\u003d clk_put(e1)\n    when any\nif (...) { ... when !\u003d clk_put(e1)\n               when !\u003d if (...) { ... clk_put(e1) ... }\n* return@p3 ...;\n } else S\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nAcked-by: Eric Miao \u003ceric.y.miao@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "cd3c18ba2fac14b34d03cae111f215009735ea06",
      "tree": "c3dbfa073f8cd9ac9636b563a58aef2a58209df8",
      "parents": [
        "f5182b4155b9d686c5540a6822486400e34ddd98"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor@vmware.com",
        "time": "Tue May 31 14:37:23 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Jun 05 21:01:38 2011 -0700"
      },
      "message": "USB: xhci - fix interval calculation for FS isoc endpoints\n\nFull-speed isoc endpoints specify interval in exponent based form in\nframes, not microframes, so we need to adjust accordingly.\n\nNEC xHCI host controllers will return an error code of 0x11 if a full\nspeed isochronous endpoint is added with the Interval field set to\nsomething less than 3 (2^3 \u003d 8 microframes, or one frame).  It is\nimpossible for a full speed device to have an interval smaller than one\nframe.\n\nThis was always an issue in the xHCI driver, but commit\ndfa49c4ad120a784ef1ff0717168aa79f55a483a \"USB: xhci - fix math in\nxhci_get_endpoint_interval()\" removed the clamping of the minimum value\nin the Interval field, which revealed this bug.\n\nThis needs to be backported to stable kernels back to 2.6.31.\n\nReported-by: Matt Evans \u003cmatt@ozlabs.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@vmware.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f5182b4155b9d686c5540a6822486400e34ddd98",
      "tree": "53c8a989c66da2585212a30c07015422d826d100",
      "parents": [
        "001fd3826f4c736ce292315782d015f768399080"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Jun 02 11:33:02 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Jun 02 18:22:58 2011 -0700"
      },
      "message": "xhci: Disable MSI for some Fresco Logic hosts.\n\nSome Fresco Logic hosts, including those found in the AUAU N533V laptop,\nadvertise MSI, but fail to actually generate MSI interrupts.  Add a new\nxHCI quirk to skip MSI enabling for the Fresco Logic host controllers.\nFresco Logic confirms that all chips with PCI vendor ID 0x1b73 and device\nID 0x1000, regardless of PCI revision ID, do not support MSI.\n\nThis should be backported to stable kernels as far back as 2.6.36, which\nwas the first kernel to support MSI on xHCI hosts.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nReported-by: Sergey Galanov \u003csergey.e.galanov@gmail.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "001fd3826f4c736ce292315782d015f768399080",
      "tree": "2b8bb31f39e4ec0333a7f82fbaa555f996933086",
      "parents": [
        "e2b0217715c6d10379d94bdfe5560af96eecbb7c"
      ],
      "author": {
        "name": "Maarten Lankhorst",
        "email": "m.b.lankhorst@gmail.com",
        "time": "Wed Jun 01 23:27:50 2011 +0200"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Jun 02 16:38:25 2011 -0700"
      },
      "message": "xhci: Do not issue device reset when device is not setup\n\nxHCI controllers respond to a Reset Device command when the Slot is in the\nEnabled/Disabled state by returning an error.  This is fine on other host\ncontrollers, but the Etron xHCI host controller returns a vendor-specific\nerror code that the xHCI driver doesn\u0027t understand.  The xHCI driver then\ngives up on device enumeration.\n\nInstead of issuing a command that will fail, just return.  This fixes the\nissue with the xhci driver not working on ASRock P67 Pro/Extreme boards.\n\nThis should be backported to stable kernels as far back as 2.6.34.\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": "e2b0217715c6d10379d94bdfe5560af96eecbb7c",
      "tree": "58876a9dae4a1b1c506c793488f58366d17d7e9b",
      "parents": [
        "4819fef5e7cb9a39e1fd59ecd85861b3ffebdcaa"
      ],
      "author": {
        "name": "Maarten Lankhorst",
        "email": "m.b.lankhorst@gmail.com",
        "time": "Wed Jun 01 23:27:49 2011 +0200"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Jun 02 16:38:24 2011 -0700"
      },
      "message": "xhci: Add defines for hardcoded slot states\n\nThis needs to be added to the stable trees back to 2.6.34 to support an\nupcoming bug fix.\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": "4819fef5e7cb9a39e1fd59ecd85861b3ffebdcaa",
      "tree": "143ca81187315e6e06298c05776c83ecadc60d6d",
      "parents": [
        "f69753140d5c95087a3352710ae5edd541710da6"
      ],
      "author": {
        "name": "Matt Evans",
        "email": "matt@ozlabs.org",
        "time": "Wed Jun 01 13:01:07 2011 +1000"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Jun 02 14:40:23 2011 -0700"
      },
      "message": "xhci: Bigendian fix for xhci_check_bandwidth()\n\nCommit 834cb0fc4712a3b21c6b8c5cb55bd13607191311 \"xhci: Fix memory leak\nbug when dropping endpoints\" added a small endian bug.  This patch fixes\nxhci_check_bandwidth() to read add/drop_flags LE.\n\nSigned-off-by: Matt Evans \u003cmatt@ozlabs.org\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "f69753140d5c95087a3352710ae5edd541710da6",
      "tree": "43b03c3125bc04428ea34cdfb13de9faf2876282",
      "parents": [
        "55922c9d1b84b89cb946c777fddccb3247e7df2c"
      ],
      "author": {
        "name": "Matt Evans",
        "email": "matt@ozlabs.org",
        "time": "Wed Jun 01 13:01:01 2011 +1000"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Jun 01 16:26:48 2011 -0700"
      },
      "message": "xhci: Bigendian fix for skip_isoc_td()\n\nCommit 926008c9386dde09b015753b6681c502177baa30 \"USB: xhci: simplify logic\nof skipping missed isoc TDs\" added a small endian bug.  This patch\nfixes skip_isoc_td() to read the DMA pointer correctly.\n\nSigned-off-by: Matt Evans \u003cmatt@ozlabs.org\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "87367a0b71a5188e34a913c05673b5078f71a64d",
      "tree": "da14cc575bfe692f07b42c2c8a13d9aa403fc471",
      "parents": [
        "4cb865deec59ef31d966622d1ec87411ae32dfab",
        "2cf95c18d5069e13c02a8667d91e064df8e17e09"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 12:36:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 12:36:15 2011 -0700"
      },
      "message": "Merge branch \u0027for-usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci\n\n* \u0027for-usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci:\n  Intel xhci: Limit number of active endpoints to 64.\n  Intel xhci: Ignore spurious successful event.\n  Intel xhci: Support EHCI/xHCI port switching.\n  Intel xhci: Add PCI id for Panther Point xHCI host.\n  xhci: STFU: Be quieter during URB submission and completion.\n  xhci: STFU: Don\u0027t print event ring dequeue pointer.\n  xhci: STFU: Remove function tracing.\n  xhci: Don\u0027t submit commands when the host is dead.\n  xhci: Clear stopped_td when Stop Endpoint command completes.\n"
    },
    {
      "commit": "2cf95c18d5069e13c02a8667d91e064df8e17e09",
      "tree": "05ae0e90ceab6790ccd1e624b695b984c6081f87",
      "parents": [
        "ad808333d8201d53075a11bc8dd83b81f3d68f0b"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed May 11 16:14:58 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri May 27 12:08:14 2011 -0700"
      },
      "message": "Intel xhci: Limit number of active endpoints to 64.\n\nThe Panther Point chipset has an xHCI host controller that has a limit to\nthe number of active endpoints it can handle.  Ideally, it would signal\nthat it can\u0027t handle anymore endpoints by returning a Resource Error for\nthe Configure Endpoint command, but they don\u0027t.  Instead it needs software\nto keep track of the number of active endpoints, across configure endpoint\ncommands, reset device commands, disable slot commands, and address device\ncommands.\n\nAdd a new endpoint context counter, xhci_hcd-\u003enum_active_eps, and use it\nto track the number of endpoints the xHC has active.  This gets a little\ntricky, because commands to change the number of active endpoints can\nfail.  This patch adds a new xHCI quirk for these Intel hosts, and the new\ncode should not have any effect on other xHCI host controllers.\n\nFail a new device allocation if we don\u0027t have room for the new default\ncontrol endpoint.  Use the endpoint ring pointers to determine what\nendpoints were active before a Reset Device command or a Disable Slot\ncommand, and drop those once the command completes.\n\nFail a configure endpoint command if it would add too many new endpoints.\nWe have to be a bit over zealous here, and only count the number of new\nendpoints to be added, without subtracting the number of dropped\nendpoints.  That\u0027s because a second configure endpoint command for a\ndifferent device could sneak in before we know if the first command is\ncompleted.  If the first command dropped resources, the host controller\nfails the command for some reason, and we\u0027re nearing the limit of\nendpoints, we could end up oversubscribing the host.\n\nTo fix this race condition, when evaluating whether a configure endpoint\ncommand will fix in our bandwidth budget, only add the new endpoints to\nxhci-\u003enum_active_eps, and don\u0027t subtract the dropped endpoints.  Ignore\nchanged endpoints (ones that are dropped and then re-added), as that\nshouldn\u0027t effect the host\u0027s endpoint resources.  When the configure\nendpoint command completes, subtract off the dropped endpoints.\n\nThis may mean some configuration changes may temporarily fail, but it\u0027s\nalways better to under-subscribe than over-subscribe resources.\n\n(Originally my plan had been to push the resource allocation down into the\nring allocation functions.  However, that would cause us to allocate\nunnecessary resources when endpoints were changed, because the xHCI driver\nallocates a new ring for the changed endpoint, and only deletes the old\nring once the Configure Endpoint command succeeds.  A further complication\nwould have been dealing with the per-device endpoint ring cache.)\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "ad808333d8201d53075a11bc8dd83b81f3d68f0b",
      "tree": "40f3a11f028175f61cce14088a0f93ebd68c4b60",
      "parents": [
        "69e848c2090aebba5698a1620604c7dccb448684"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed May 25 10:43:56 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri May 27 12:08:13 2011 -0700"
      },
      "message": "Intel xhci: Ignore spurious successful event.\n\nThe xHCI host controller in the Panther Point chipset sometimes produces\nspurious events on the event ring.  If it receives a short packet, it\nfirst puts a Transfer Event with a short transfer completion code on the\nevent ring.  Then it puts a Transfer Event with a successful completion\ncode on the ring for the same TD.  The xHCI driver correctly processes the\nshort transfer completion code, gives the URB back to the driver, and then\nprints a warning in dmesg about the spurious event.  These warning\nmessages really fill up dmesg when an HD webcam is plugged into xHCI.\n\nThis spurious successful event behavior isn\u0027t technically disallowed by\nthe xHCI specification, so make the xHCI driver just ignore the spurious\ncompletion event.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "69e848c2090aebba5698a1620604c7dccb448684",
      "tree": "c39dd3d0e30a9f6eb3c332c03eeeb6d5a2ff098c",
      "parents": [
        "7fe4fc881d1340f17396f52c836e597dadadea42"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Feb 22 09:57:15 2011 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri May 27 12:07:36 2011 -0700"
      },
      "message": "Intel xhci: Support EHCI/xHCI port switching.\n\nThe Intel Panther Point chipsets contain an EHCI and xHCI host controller\nthat shares some number of skew-dependent ports.  These ports can be\nswitched from the EHCI to the xHCI host (and vice versa) by a hardware MUX\nthat is controlled by registers in the xHCI PCI configuration space.  The\nUSB 3.0 SuperSpeed terminations on the xHCI ports can be controlled\nseparately from the USB 2.0 data wires.\n\nThis switchover mechanism is there to support users who do a custom\ninstall of certain non-Linux operating systems that don\u0027t have official\nUSB 3.0 support.  By default, the ports are under EHCI, SuperSpeed\nterminations are off, and USB 3.0 devices will show up under the EHCI\ncontroller at reduced speeds.  (This was more palatable for the marketing\nfolks than having completely dead USB 3.0 ports if no xHCI drivers are\navailable.)  Users should be able to turn on xHCI by default through a\nBIOS option, but users are happiest when they don\u0027t have to change random\nBIOS settings.\n\nThis patch introduces a driver method to switchover the ports from EHCI to\nxHCI before the EHCI driver finishes PCI enumeration.  We want to switch\nthe ports over before the USB core has the chance to enumerate devices\nunder EHCI, or boot from USB mass storage will fail if the boot device\nconnects under EHCI first, and then gets disconnected when the port\nswitches over to xHCI.\n\nAdd code to the xHCI PCI quirk to switch the ports from EHCI to xHCI.  The\nPCI quirks code will run before any other PCI probe function is called, so\nthis avoids the issue with boot devices.\n\nAnother issue is with BIOS behavior during system resume from hibernate.\nIf the BIOS doesn\u0027t support xHCI, it may switch the devices under EHCI to\nallow use of the USB keyboard, mice, and mass storage devices.  It\u0027s\nsupposed to remember the value of the port routing registers and switch\nthem back when the OS attempts to take control of the xHCI host controller,\nbut we all know not to trust BIOS writers.\n\nMake both the xHCI driver and the EHCI driver attempt to switchover the\nports in their PCI resume functions.  We can\u0027t guarantee which PCI device\nwill be resumed first, so this avoids any race conditions.  Writing a \u00271\u0027\nto an already set port switchover bit or a \u00270\u0027 to a cleared port switchover\nbit should have no effect.\n\nThe xHCI PCI configuration registers will be documented in the EDS-level\nchipset spec, which is not public yet.  I have permission from legal and\nthe Intel chipset group to release this patch early to allow good Linux\nsupport at product launch.  I\u0027ve tried to document the registers as much\nas possible, so please let me know if anything is unclear.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "f444ff27e9b8c953eef49da65c649fdcd202165a",
      "tree": "2741ff07ed418641a075a66354a216627fe6e84a",
      "parents": [
        "5153b7b39105d8beb38e1c3f26ab4b877960d8e1"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Apr 05 15:53:47 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed May 25 16:03:14 2011 -0700"
      },
      "message": "xhci: STFU: Be quieter during URB submission and completion.\n\nUnsurprisingly, URBs get submitted and completed a lot in the xHCI\ndriver.  If we have to print 10 lines of debug for every URB submitted\nor completed, then that can cause the whole system to stay in the\ninterrupt handler too long, and can cause Missed Service completion\ncodes for isochronous transfers.\n\nCut down the debugging in the URB submission and completion paths:\n - Don\u0027t squawk about successful transfers, only unsuccessful ones.\n - Only print the number of bytes transferred if this was a short\n   transfer.\n - Don\u0027t print the endpoint index for successful transfers (will add\n   more debug to failed transfers to show endpoint index there later).\n - Stop printing MMIO writes.  This debugging shows up when the endpoint\n   doorbell is rung a to start a transfer (basically for every URB).\n - Don\u0027t print out the ring enqueue and dequeue pointers\n - Stop printing when we\u0027re pointing to a link TRB.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "5153b7b39105d8beb38e1c3f26ab4b877960d8e1",
      "tree": "36715b8547fe662d84919c9d145623ffae9116be",
      "parents": [
        "380032c3c855ded74c43252a0adb8e8d7afc9f45"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Apr 05 13:33:56 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed May 25 16:01:51 2011 -0700"
      },
      "message": "xhci: STFU: Don\u0027t print event ring dequeue pointer.\n\nStop printing out the event ring dequeue pointer and status register in\nthe operational register set.  The host will report an OK status 99% of\nthe time the interrupt handler is called, and usually when it\u0027s really\nhosed, a host controller won\u0027t even call the interrupt handler.  So the\nline is really useless.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "380032c3c855ded74c43252a0adb8e8d7afc9f45",
      "tree": "8e63924a14cd8e91d58e18ab35ba6443b8606301",
      "parents": [
        "fe6c6c13d8dcb32398eef143e2e8efc3fb4019bf"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Apr 05 13:33:56 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed May 25 15:23:35 2011 -0700"
      },
      "message": "xhci: STFU: Remove function tracing.\n\nRemove unnecessary debugging from the xHCI driver.  We don\u0027t need to\nknow what function we\u0027re calling or returning from.  Now I know how to\nuse markup-oops.pl to de-mystify stack dumps of crashes.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "fe6c6c13d8dcb32398eef143e2e8efc3fb4019bf",
      "tree": "1e340233ee7136051a1dd4ec3d3b30327e9196d1",
      "parents": [
        "0714a57c6865f31ed3366e5abdfae7da580d41d2"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon May 23 16:41:17 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed May 25 15:23:35 2011 -0700"
      },
      "message": "xhci: Don\u0027t submit commands when the host is dead.\n\nWhen the xHCI host controller dies, the USB core may attempt to reset the\ndevices to their default configuration before disconnecting them.  This\ncauses calls into the xHCI bandwidth allocation functions.  Don\u0027t allow\nthose functions to submit commands or work on xHCI structures if the host\ncontroller is marked as dying.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "0714a57c6865f31ed3366e5abdfae7da580d41d2",
      "tree": "e4a486c30e1030bd480916bd7b386e23b56d2621",
      "parents": [
        "d762f4383100c2a87b1a3f2d678cd3b5425655b4"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue May 24 11:53:29 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed May 25 15:23:35 2011 -0700"
      },
      "message": "xhci: Clear stopped_td when Stop Endpoint command completes.\n\nWhen an URB is cancelled, the xHCI driver issues a Stop Endpoint command\nso that it can manipulate the ring and remove the transfer.  The xHC\nhardware then places a transfer event with the completion code \"Stopped\"\nor \"Stopped Invalid\" to let the driver know what TD it was in the middle\nof processing.  This TD and TRB is stored in ep-\u003estopped_td and\nep-\u003estopped_trb.  These pointers are also used in handling stalled\nendpoints.\n\nBy design, the Stop Endpoint command can race with URB completion.  By\nthe time the Stop Endpoint command is handled, the URBs to be cancelled\nmay have been given back to the driver.  Unfortunately, the stopped_td\nand stopped_trb pointers were not getting cleared in this case.\n\nThe USB core unconditionally tries to reset the toggle bits on any\nendpoints when a new alternate interface setting is installed.  When the\nxHCI driver saw that ep-\u003estopped_td was still set from the Stop Endpoint\ncommand, xhci_reset_endpoint assumed the endpoint was actually stalled,\nand attempted to clean up the endpoint rings.  This would manifest\nitself in a failed Reset Endpoint command and failed Set TR dequeue\nPointer command after a successful Configure Endpoint command.  It may\nhave also been causing driver oops when the stopped_td was accessed.\n\nThis patch should be backported to stable kernels since 2.6.31.  Before\n2.6.33, stopped_td was found in the xhci_endpoint_ring, not the\nxhci_virt_ep.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "f50d1d9e8d964fdd3b4cedfbca8843d1bc5916c1",
      "tree": "105b5bc4bb96b555dba90fa11dd5af66784c132f",
      "parents": [
        "98b98d316349e9a028e632629fe813d07fa5afdd",
        "4ef7e71444b48cc89152cbc499ed94dde50515ee"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 24 13:28:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 24 13:28:35 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6:\n  pcmcia: Make struct pcmcia_device_id const, sound drivers edition\n  staging: pcmcia: Convert pcmcia_device_id declarations to const\n  pcmcia: Convert pcmcia_device_id declarations to const\n  pcmcia: Make declaration and uses of struct pcmcia_device_id const\n  pcmcia/sa1100: put sa11x0_pcmcia_hw_init[] to .devinit.data\n"
    },
    {
      "commit": "c44dead70a841d90ddc01968012f323c33217c9e",
      "tree": "85489ebe9b9a3413cd8ee197ffb40c8aa8d97e63",
      "parents": [
        "99dff5856220a02b8711f2e8746413ea6e53ccf6",
        "d5f6db9e1aff6ccf1876224f152c0268b0c8a992"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 12:33:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 12:33:02 2011 -0700"
      },
      "message": "Merge branch \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (205 commits)\n  USB: EHCI: Remove SPARC_LEON {read,write}_be definitions from ehci.h\n  USB: UHCI: Support big endian GRUSBHC HC\n  sparc: add {read,write}*_be routines\n  USB: UHCI: Add support for big endian descriptors\n  USB: UHCI: Use ACCESS_ONCE rather than using a full compiler barrier\n  USB: UHCI: Add support for big endian mmio\n  usb-storage: Correct adjust_quirks to include latest flags\n  usb/isp1760: Fix possible unlink problems\n  usb/isp1760: Move function isp1760_endpoint_disable() within file.\n  USB: remove remaining usages of hcd-\u003estate from usbcore and fix regression\n  usb: musb: ux500: add configuration and build options for ux500 dma\n  usb: musb: ux500: add dma glue layer for ux500\n  usb: musb: ux500: add dma name for ux500\n  usb: musb: ux500: add ux500 specific code for gadget side\n  usb: musb: fix compile error\n  usb-storage: fix up the unusual_realtek device list\n  USB: gadget: f_audio: Fix invalid dereference of initdata\n  EHCI: don\u0027t rescan interrupt QHs needlessly\n  OHCI: fix regression caused by nVidia shutdown workaround\n  USB: OTG: msm: Free VCCCX regulator even if we can\u0027t set the voltage\n  ...\n"
    },
    {
      "commit": "57d19e80f459dd845fb3cfeba8e6df8471bac142",
      "tree": "8254766715720228db3d50f1ef3c7fe003c06d65",
      "parents": [
        "ee9ec4f82049c678373a611ce20ac67fe9ad836e",
        "e64851f5a0ad6ec991f74ebb3108c35aa0323d5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  b43: fix comment typo reqest -\u003e request\n  Haavard Skinnemoen has left Atmel\n  cris: typo in mach-fs Makefile\n  Kconfig: fix copy/paste-ism for dell-wmi-aio driver\n  doc: timers-howto: fix a typo (\"unsgined\")\n  perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c\n  md, raid5: Fix spelling error in comment (\u0027Ofcourse\u0027 --\u003e \u0027Of course\u0027).\n  treewide: fix a few typos in comments\n  regulator: change debug statement be consistent with the style of the rest\n  Revert \"arm: mach-u300/gpio: Fix mem_region resource size miscalculations\"\n  audit: acquire creds selectively to reduce atomic op overhead\n  rtlwifi: don\u0027t touch with treewide double semicolon removal\n  treewide: cleanup continuations and remove logging message whitespace\n  ath9k_hw: don\u0027t touch with treewide double semicolon removal\n  include/linux/leds-regulator.h: fix syntax in example code\n  tty: fix typo in descripton of tty_termios_encode_baud_rate\n  xtensa: remove obsolete BKL kernel option from defconfig\n  m68k: fix comment typo \u0027occcured\u0027\n  arch:Kconfig.locks Remove unused config option.\n  treewide: remove extra semicolons\n  ...\n"
    },
    {
      "commit": "268bb0ce3e87872cb9290c322b0d35bce230d88f",
      "tree": "c8331ade4a3e24fc589c4eb62731bc2312d35333",
      "parents": [
        "257313b2a87795e07a0bdf58d0fffbdba8b31051"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 12:50:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 12:50:29 2011 -0700"
      },
      "message": "sanitize \u003clinux/prefetch.h\u003e usage\n\nCommit e66eed651fd1 (\"list: remove prefetching from regular list\niterators\") removed the include of prefetch.h from list.h, which\nuncovered several cases that had apparently relied on that rather\nobscure header file dependency.\n\nSo this fixes things up a bit, using\n\n   grep -L linux/prefetch.h $(git grep -l \u0027[^a-z_]prefetchw*(\u0027 -- \u0027*.[ch]\u0027)\n   grep -L \u0027prefetchw*(\u0027 $(git grep -l \u0027linux/prefetch.h\u0027 -- \u0027*.[ch]\u0027)\n\nto guide us in finding files that either need \u003clinux/prefetch.h\u003e\ninclusion, or have it despite not needing it.\n\nThere are more of them around (mostly network drivers), but this gets\nmany core ones.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d5f6db9e1aff6ccf1876224f152c0268b0c8a992",
      "tree": "b1daf4f5fd9b3d34790505ab16ac3f36c7f36630",
      "parents": [
        "fda928ac97dbf0359f3dc4c96925b7b422b540d7"
      ],
      "author": {
        "name": "Jan Andersson",
        "email": "jan@gaisler.com",
        "time": "Thu May 19 20:47:02 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 19 16:49:52 2011 -0700"
      },
      "message": "USB: EHCI: Remove SPARC_LEON {read,write}_be definitions from ehci.h\n\n{read,write}l_be are now defined for SPARC and do not need to be\ndefined for SPARC_LEON in ehci.h. This patch fixes the following\nwarnings:\n\n  CC      drivers/usb/host/ehci-hcd.o\nIn file included from drivers/usb/host/ehci-hcd.c:119:\ndrivers/usb/host/ehci.h:631:1: warning: \"readl_be\" redefined\n...\ndrivers/usb/host/ehci-hcd.c:119:\ndrivers/usb/host/ehci.h:632:1: warning: \"writel_be\" redefined\n...\n\nSigned-off-by: Jan Andersson \u003cjan@gaisler.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "fda928ac97dbf0359f3dc4c96925b7b422b540d7",
      "tree": "639f263e553c22a666be46adb42816fb9b5a92f1",
      "parents": [
        "c936503fff31663a8625d23f528d868aa8c22570"
      ],
      "author": {
        "name": "Jan Andersson",
        "email": "jan@gaisler.com",
        "time": "Wed May 18 10:44:53 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 19 16:45:32 2011 -0700"
      },
      "message": "USB: UHCI: Support big endian GRUSBHC HC\n\nThis patch adds support for big endian GRUSBHC UHCI controllers.\nThe HCD bus glue will probe the register interface to determine\nthe endianness of the controller.\n\nTested on GR-LEON4-ITX board which has a controller with little endian\ninterface and on custom LEON3 board with a BE controller.\n\nSigned-off-by: Jan Andersson \u003cjan@gaisler.com\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "51e2f62fe79651e7ed8e16ba126a163b116fe3d7",
      "tree": "a46c220bf5a9ff3b4fd8195e127e69e0b8619222",
      "parents": [
        "bab1ff1bda27e654dfd382a1fbdfcda1f7ed0a37"
      ],
      "author": {
        "name": "Jan Andersson",
        "email": "jan@gaisler.com",
        "time": "Wed May 18 10:44:51 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 19 16:43:20 2011 -0700"
      },
      "message": "USB: UHCI: Add support for big endian descriptors\n\nThis patch adds support for universal host controllers that use\nbig endian descriptors. Support for BE descriptors requires a non-PCI\nhost controller. For kernels with PCI-only UHCI there should be no\nchange in behaviour.\n\nThis patch tries to replicate the technique used to support BE descriptors\nin the EHCI HCD. Parts added to uhci-hcd.h are basically copy\u0027n\u0027paste from\nehci.h.\n\nSigned-off-by: Jan Andersson \u003cjan@gaisler.com\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "bab1ff1bda27e654dfd382a1fbdfcda1f7ed0a37",
      "tree": "9ff9d83fa7f81eecd5569c0bd9089ea39da3880a",
      "parents": [
        "8452c6745e74384e7e434144f989ada3eae41170"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed May 18 10:44:50 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 19 16:43:19 2011 -0700"
      },
      "message": "USB: UHCI: Use ACCESS_ONCE rather than using a full compiler barrier\n\nThis patch (as1462) updates the special accessor functions defined in\nuhci-hcd.h.  Rather than using a full compiler barrier, all we really\nneed is the ACCESS_ONCE() mechanism, because the idea is to force the\ncompiler to store a fixed copy of a possibly changing value.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8452c6745e74384e7e434144f989ada3eae41170",
      "tree": "4ead646def1a541b4ca7062b5dab2b4a3e737a2d",
      "parents": [
        "5116901d8596a52598364d41581c0a745da003bc"
      ],
      "author": {
        "name": "Jan Andersson",
        "email": "jan@gaisler.com",
        "time": "Wed May 18 10:44:49 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 19 16:43:19 2011 -0700"
      },
      "message": "USB: UHCI: Add support for big endian mmio\n\nThis patch adds support for big endian mmio to the UHCI HCD. Big endian\nmmio is supported by adding a flag bit to the UHCI HCD replicating the\nsolution used in the EHCI HCD.\n\nWhen adding big endian support this patch also adds a check to see if we\nneed to support HCs with PCI I/O registers when we support HCs with MMIO.\n\nThis patch also adds \u0027const\u0027 to the register access functions\u0027 uhci_hcd\nargument.\n\nSigned-off-by: Jan Andersson \u003cjan@gaisler.com\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d05b6ec01b8186f847ac9e41098e40858926db40",
      "tree": "12ac448547d00704cd15b293732c17d036ddae10",
      "parents": [
        "079cdb0947ce6ae7df0c73a1c82c14920a9b6b6d"
      ],
      "author": {
        "name": "Arvid Brodin",
        "email": "arvid.brodin@enea.com",
        "time": "Fri May 20 00:17:45 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 19 16:34:04 2011 -0700"
      },
      "message": "usb/isp1760: Fix possible unlink problems\n\nUse skip map to avoid spurious interrupts from unlinked transfers.\nAlso changes to urb_dequeue() and endpoint_disable() to avoid\nrelease of spinlock in uncertain state.\n\nSigned-off-by: Arvid Brodin \u003carvid.brodin@enea.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "079cdb0947ce6ae7df0c73a1c82c14920a9b6b6d",
      "tree": "de0a18dca25e9b42a1ec3afa26a5ae963e5b6632",
      "parents": [
        "69fff59de4d844f8b4c2454c3c23d32b69dcbfd7"
      ],
      "author": {
        "name": "Arvid Brodin",
        "email": "arvid.brodin@enea.com",
        "time": "Fri May 20 00:17:34 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 19 16:34:04 2011 -0700"
      },
      "message": "usb/isp1760: Move function isp1760_endpoint_disable() within file.\n\nPreparation for patch #2. The function isp1760_endpoint_disable() does almost\nthe same thing as urb_dequeue(). In patch #2 I change these to use a common\nhelper function instead of calling each other - for clarity but also to\navoid releasing the spinlock while in a \"questionable\" state. It seemed\nproper to have these functions close to each other in the code.\n\nSigned-off-by: Arvid Brodin \u003carvid.brodin@enea.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "69fff59de4d844f8b4c2454c3c23d32b69dcbfd7",
      "tree": "3d88efbce85e3a8c25651d07f9c9ddafbda86ae5",
      "parents": [
        "d23894402b33338c51f1863d7f866fdc6f073a02"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue May 17 17:27:12 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 19 16:34:04 2011 -0700"
      },
      "message": "USB: remove remaining usages of hcd-\u003estate from usbcore and fix regression\n\nThis patch (as1467) removes the last usages of hcd-\u003estate from\nusbcore.  We no longer check to see if an interrupt handler finds that\na controller has died; instead we rely on host controller drivers to\nmake an explicit call to usb_hc_died().\n\nThis fixes a regression introduced by commit\n9b37596a2e860404503a3f2a6513db60c296bfdc (USB: move usbcore away from\nhcd-\u003estate).  It used to be that when a controller shared an IRQ with\nanother device and an interrupt arrived while hcd-\u003estate was set to\nHC_STATE_HALT, the interrupt handler would be skipped.  The commit\nremoved that test; as a result the current code doesn\u0027t skip calling\nthe handler and ends up believing the controller has died, even though\nit\u0027s only temporarily stopped.  The solution is to ignore HC_STATE_HALT\nfollowing the handler\u0027s return.\n\nAs a consequence of this change, several of the host controller\ndrivers need to be modified.  They can no longer implicitly rely on\nusbcore realizing that a controller has died because of hcd-\u003estate.\nThe patch adds calls to usb_hc_died() in the appropriate places.\n\nThe patch also changes a few of the interrupt handlers.  They don\u0027t\nexpect to be called when hcd-\u003estate is equal to HC_STATE_HALT, even if\nthe controller is still alive.  Early returns were added to avoid any\nconfusion.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nTested-by: Manuel Lauss \u003cmanuel.lauss@googlemail.com\u003e\nCC: Rodolfo Giometti \u003cgiometti@linux.it\u003e\nCC: Olav Kongas \u003cok@artecdesign.ee\u003e\nCC: \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1e12c910eed82da6971f1c0421a069c680faba2e",
      "tree": "46851229d59c72fa10596f7cecd567918ce348eb",
      "parents": [
        "2b7aaf503d56216b847c8265421d2a7d9b42df3e"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue May 17 10:40:51 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 17 11:20:24 2011 -0700"
      },
      "message": "EHCI: don\u0027t rescan interrupt QHs needlessly\n\nThis patch (as1466) speeds up processing of ehci-hcd\u0027s periodic list.\nThe existing code will pointlessly rescan an interrupt endpoint queue\neach time it encounters the queue\u0027s QH in the periodic list, which can\nhappen quite a few times if the endpoint\u0027s period is low.  On some\nembedded systems, this useless overhead can waste so much time that\nthe driver falls hopelessly behind and loses events.\n\nThe patch introduces a \"periodic_stamp\" variable, which gets\nincremented each time scan_periodic() runs and each time the scan\nadvances to a new frame.  If the corresponding stamp in an interrupt\nQH is equal to the current periodic_stamp, we assume the QH has\nalready been scanned and skip over it.  Otherwise we scan the QH as\nusual, and if none of its URBs have completed then we store the\ncurrent periodic_stamp in the QH\u0027s stamp, preventing it from being\nscanned again.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "2b7aaf503d56216b847c8265421d2a7d9b42df3e",
      "tree": "7f4e46cdea1a6319509e31679701f2b18422fe8c",
      "parents": [
        "e99c4309fb064604a957d9c1a8d2d4a9ff19cf5e"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon May 16 12:15:19 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 17 11:20:23 2011 -0700"
      },
      "message": "OHCI: fix regression caused by nVidia shutdown workaround\n\nThis patch (as1463) fixes a regression caused by commit\n3df7169e73fc1d71a39cffeacc969f6840cdf52b (OHCI: work around for nVidia\nshutdown problem).\n\nThe original problem encountered by people using NVIDIA chipsets was\nthat USB devices were not turning off when the system shut down.  For\nexample, the LED on an optical mouse would remain on, draining a\nlaptop\u0027s battery.  The problem was caused by a bug in the chipset; an\nOHCI controller in the Reset state would continue to drive a bus reset\nsignal even after system shutdown.  The workaround was to put the\ncontrollers into the Suspend state instead.\n\nIt turns out that later NVIDIA chipsets do not suffer from this bug.\nInstead some have the opposite bug: If a system is shut down while an\nOHCI controller is in the Suspend state, USB devices remain powered!\nOn other systems, shutting down with a Suspended controller causes the\nsystem to reboot immediately.  Thus, working around the original bug\non some machines exposes other bugs on other machines.\n\nThe best solution seems to be to limit the workaround to OHCI\ncontrollers with a low-numbered PCI product ID.  I don\u0027t know exactly\nat what point NVIDIA changed their chipsets; the value used here is a\nguess.  So far it was worked out okay for all the people who have\ntested it.\n\nThis fixes Bugzilla #35032.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nTested-by: Andre \"Osku\" Schmidt \u003candre.osku.schmidt@googlemail.com\u003e\nTested-by: Yury Siamashka \u003cyurand2@gmail.com\u003e\nCC: \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "834cb0fc4712a3b21c6b8c5cb55bd13607191311",
      "tree": "aa76f94996fbe80d19e2b278545c39143b889e0b",
      "parents": [
        "30f89ca021c3e584b61bc5a14eede89f74b2e826"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu May 12 18:06:37 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon May 16 17:59:22 2011 -0700"
      },
      "message": "xhci: Fix memory leak bug when dropping endpoints\n\nWhen the USB core wants to change to an alternate interface setting that\ndoesn\u0027t include an active endpoint, or de-configuring the device, the xHCI\ndriver needs to issue a Configure Endpoint command to tell the host to\ndrop some endpoints from the schedule.  After the command completes, the\nxHCI driver needs to free rings for any endpoints that were dropped.\n\nUnfortunately, the xHCI driver wasn\u0027t actually freeing the endpoint rings\nfor dropped endpoints.  The rings would be freed if the endpoint\u0027s\ninformation was simply changed (and a new ring was installed), but dropped\nendpoints never had their rings freed.  This caused errors when the ring\nsegment DMA pool was freed when the xHCI driver was unloaded:\n\n[ 5582.883995] xhci_hcd 0000:06:00.0: dma_pool_destroy xHCI ring segments, ffff88003371d000 busy\n[ 5582.884002] xhci_hcd 0000:06:00.0: dma_pool_destroy xHCI ring segments, ffff880033716000 busy\n[ 5582.884011] xhci_hcd 0000:06:00.0: dma_pool_destroy xHCI ring segments, ffff880033455000 busy\n[ 5582.884018] xhci_hcd 0000:06:00.0: Freed segment pool\n[ 5582.884026] xhci_hcd 0000:06:00.0: Freed device context pool\n[ 5582.884033] xhci_hcd 0000:06:00.0: Freed small stream array pool\n[ 5582.884038] xhci_hcd 0000:06:00.0: Freed medium stream array pool\n[ 5582.884048] xhci_hcd 0000:06:00.0: xhci_stop completed - status \u003d 1\n[ 5582.884061] xhci_hcd 0000:06:00.0: USB bus 3 deregistered\n[ 5582.884193] xhci_hcd 0000:06:00.0: PCI INT A disabled\n\nFix this issue and free endpoint rings when their endpoints are\nsuccessfully dropped.\n\nThis patch should be backported to kernels as old as 2.6.31.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "30f89ca021c3e584b61bc5a14eede89f74b2e826",
      "tree": "a0499d96cacd5ca86117e45898d53f241ab5c6f3",
      "parents": [
        "b513d44751bfb609a3c20463f764c8ce822d63e9"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon May 16 13:09:08 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon May 16 17:59:11 2011 -0700"
      },
      "message": "xhci: Fix memory leak in ring cache deallocation.\n\nWhen an endpoint ring is freed, it is either cached in a per-device ring\ncache, or simply freed if the ring cache is full.  If the ring was added\nto the cache, then virt_dev-\u003enum_rings_cached is incremented.  The cache\nis designed to hold up to 31 endpoint rings, in array indexes 0 to 30.\nWhen the device is freed (when the slot was disabled),\nxhci_free_virt_device() is called, it would free the cached rings in\narray indexes 0 to virt_dev-\u003enum_rings_cached.\n\nUnfortunately, the original code in xhci_free_or_cache_endpoint_ring()\nwould put the first entry into the ring cache in array index 1, instead of\narray index 0.  This was caused by the second assignment to rings_cached:\n\n\trings_cached \u003d virt_dev-\u003enum_rings_cached;\n\tif (rings_cached \u003c XHCI_MAX_RINGS_CACHED) {\n\t\tvirt_dev-\u003enum_rings_cached++;\n\t\trings_cached \u003d virt_dev-\u003enum_rings_cached;\n\t\tvirt_dev-\u003ering_cache[rings_cached] \u003d\n\t\t\tvirt_dev-\u003eeps[ep_index].ring;\n\nThis meant that when the device was freed, cached rings with indexes 0 to\nN would be freed, and the last cached ring in index N+1 would not be\nfreed.  When the driver was unloaded, this caused interesting messages\nlike:\n\nxhci_hcd 0000:06:00.0: dma_pool_destroy xHCI ring segments, ffff880063040000 busy\n\nThis should be queued to stable kernels back to 2.6.33.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "b513d44751bfb609a3c20463f764c8ce822d63e9",
      "tree": "3c0db0c5a46540ce6a88bcc0216978907d1ffaec",
      "parents": [
        "2efeaeb00f26c13ac14b8d53684a8bbd3c343ce6"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri May 13 13:10:01 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 13 16:34:06 2011 -0700"
      },
      "message": "xhci: Fix full speed bInterval encoding.\n\nDmitry\u0027s patch\n\ndfa49c4ad120a784ef1ff0717168aa79f55a483a USB: xhci - fix math in xhci_get_endpoint_interval()\n\nintroduced a bug.  The USB 2.0 spec says that full speed isochronous endpoints\u0027\nbInterval must be decoded as an exponent to a power of two (e.g. interval \u003d\n2^(bInterval - 1)).  Full speed interrupt endpoints, on the other hand, don\u0027t\nuse exponents, and the interval in frames is encoded straight into bInterval.\n\nDmitry\u0027s patch was supposed to fix up the full speed isochronous to parse\nbInterval as an exponent, but instead it changed the *interrupt* endpoint\nbInterval decoding.  The isochronous endpoint encoding was the same.\n\nThis caused full speed devices with interrupt endpoints (including mice, hubs,\nand USB to ethernet devices) to fail under NEC 0.96 xHCI host controllers:\n\n[  100.909818] xhci_hcd 0000:06:00.0: add ep 0x83, slot id 1, new drop flags \u003d 0x0, new add flags \u003d 0x99, new slot info \u003d 0x38100000\n[  100.909821] xhci_hcd 0000:06:00.0: xhci_check_bandwidth called for udev ffff88011f0ea000\n...\n[  100.910187] xhci_hcd 0000:06:00.0: ERROR: unexpected command completion code 0x11.\n[  100.910190] xhci_hcd 0000:06:00.0: xhci_reset_bandwidth called for udev ffff88011f0ea000\n\nWhen the interrupt endpoint was added and a Configure Endpoint command was\nissued to the host, the host controller would return a very odd error message\n(0x11 means \"Slot Not Enabled\", which isn\u0027t true because the slot was enabled).\nProbably the host controller was getting very confused with the bad encoding.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: Dmitry Torokhov \u003cdtor@vmware.com\u003e\nReported-by: Thomas Lindroth \u003cthomas.lindroth@gmail.com\u003e\nTested-by: Thomas Lindroth \u003cthomas.lindroth@gmail.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a0885924326f79e157847010a9aaf49b058b30dc",
      "tree": "a6ce2a417d3b9e921cdd0e5bc56ad1637e8500ba",
      "parents": [
        "3610ea5397b80822e417aaa0e706fd803fb05680"
      ],
      "author": {
        "name": "huajun li",
        "email": "huajun.li.lee@gmail.com",
        "time": "Tue May 03 21:11:00 2011 +0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu May 12 12:54:22 2011 -0700"
      },
      "message": "xhci: move the common code to a function to get max ports and port array\n\nThere are several functions using same code to get max ports and port array,\nthis patch moves the common code to a function in order to reuse them easily.\n\nSigned-off-by: Huajun Li \u003chuajun.li.lee@gmail.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "3610ea5397b80822e417aaa0e706fd803fb05680",
      "tree": "8b6234cb0e4db0450bb16e88c9de27df2e5f5a21",
      "parents": [
        "5c853013dcdadb60724268bf860d372fba71694c"
      ],
      "author": {
        "name": "Andy Ross",
        "email": "andy.ross@windriver.com",
        "time": "Wed May 11 15:52:38 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 12 09:42:01 2011 -0700"
      },
      "message": "ehci: workaround for pci quirk timeout on ExoPC\n\nThe BIOS handoff for the unused EHCI controller on the ExoPC tablet\nhangs for 90 seconds on boot.  Detect that device, skip negotiation\nand force the handoff.\n\nSigned-off-by: Andy Ross \u003candy.ross@windriver.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5c853013dcdadb60724268bf860d372fba71694c",
      "tree": "052c771044e05670b1cf1d25714ce64ee7e3e8ee",
      "parents": [
        "af5c5805013d3c97d7f0bc27a56c49baa34b1f8a"
      ],
      "author": {
        "name": "Andy Ross",
        "email": "andy.ross@windriver.com",
        "time": "Wed May 11 15:15:51 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 12 09:42:00 2011 -0700"
      },
      "message": "ehci: pci quirk cleanup\n\nFactor the handoff code out from quirk_usb_disable_ehci\n\nSigned-off-by: Andy Ross \u003candy.ross@windriver.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3abeca998a44205cfd837fa0bf1f7c24f8294acb",
      "tree": "032760459104ecc80c604e6f0cf1b0377c268370",
      "parents": [
        "a9df304cf78d76108196da1ff1dad4d9a5737c2e"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu May 05 19:08:09 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed May 11 16:17:59 2011 -0700"
      },
      "message": "xhci: Fix bug in control transfer cancellation.\n\nWhen the xHCI driver attempts to cancel a transfer, it issues a Stop\nEndpoint command and waits for the host controller to indicate which TRB\nit was in the middle of processing.  The host will put an event TRB with\ncompletion code COMP_STOP on the event ring if it stops on a control\ntransfer TRB (or other types of transfer TRBs).  The ring handling code\nis supposed to set ep-\u003estopped_trb to the TRB that the host stopped on\nwhen this happens.\n\nUnfortunately, there is a long-standing bug in the control transfer\ncompletion code.  It doesn\u0027t actually check to see if COMP_STOP is set\nbefore attempting to process the transfer based on which part of the\ncontrol TD completed.  So when we get an event on the data phase of the\ncontrol TRB with COMP_STOP set, it thinks it\u0027s a normal completion of\nthe transfer and doesn\u0027t set ep-\u003estopped_td or ep-\u003estopped_trb.\n\nWhen the ring handling code goes on to process the completion of the Stop\nEndpoint command, it sees that ep-\u003estopped_trb is not a part of the TD\nit\u0027s trying to cancel.  It thinks the hardware has its enqueue pointer\nsomewhere further up in the ring, and thinks it\u0027s safe to turn the control\nTRBs into no-op TRBs.  Since the hardware was in the middle of the control\nTRBs to be cancelled, the proper software behavior is to issue a Set TR\ndequeue pointer command.\n\nIt turns out that the NEC host controllers can handle active TRBs being\nset to no-op TRBs after a stop endpoint command, but other host\ncontrollers have issues with this out-of-spec software behavior.  Fix this\nbehavior.\n\nThis patch should be backported to kernels as far back as 2.6.31, but it\nmay be a bit challenging, since process_ctrl_td() was introduced in some\nrefactoring done in 2.6.36, and some endian-safe patches added in 2.6.40\nthat touch the same lines.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "27362d467b3d9955f6ae1737002dac8c0f99fdc7",
      "tree": "e865810add690d926f2e99baf946f6903c93449a",
      "parents": [
        "c851e83f00f6d343ff7e7405f6f50eb3ba288a2c"
      ],
      "author": {
        "name": "Jingoo Han",
        "email": "jg1.han@samsung.com",
        "time": "Mon May 09 15:28:39 2011 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 10 14:14:59 2011 -0700"
      },
      "message": "USB: ehci-s5p : use __devinit and __devexit macros for probe and remove\n\nThe __devinit and __devexit macros were added to probe and remove\nfunctions. The macros move the probe and remove functions to the\ndevinit and devexit sections\n\nSigned-off-by: Jingoo Han \u003cjg1.han@samsung.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8eadef1526886db2a471c432d2c3d154de46f5c6",
      "tree": "c11c8c634f172fd234bba68865baf5c48a365551",
      "parents": [
        "8a1629c771b1a60bc6d73394d869fe69b13200dc",
        "1bb73a88839d473f4f2c529ecf453029439aa837"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 10 14:11:19 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 10 14:11:32 2011 -0700"
      },
      "message": "Merge branch \u0027for-usb-next\u0027 of git+ssh://master.kernel.org/pub/scm/linux/kernel/git/sarah/xhci into usb-next\n\n* \u0027for-usb-next\u0027 of git+ssh://master.kernel.org/pub/scm/linux/kernel/git/sarah/xhci:\n  xHCI 1.0: Max Exit Latency Too Large Error\n  xHCI 1.0: TT_THINK_TIME set\n  xHCI 1.0: Block Interrupts for Isoch transfer\n  xHCI 1.0: Isoch endpoint CErr field set\n  xHCI 1.0: Control endpoint average TRB length field set\n  xHCI 1.0: Setup Stage TRB Transfer Type flag\n"
    },
    {
      "commit": "8a1629c771b1a60bc6d73394d869fe69b13200dc",
      "tree": "12f68138d95b70d450ab418fdfb300ebdcd2f003",
      "parents": [
        "04aebcbb1b6dccadc8862b2765265f65a946db57",
        "693d92a1bbc9e42681c42ed190bd42b636ca876f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 10 13:30:45 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 10 13:30:45 2011 -0700"
      },
      "message": "Merge branch 2.6.39-rc7 into usb-linus\n\nThis was needed to resolve a conflict in:\n\tdrivers/usb/host/isp1760-hcd.c\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "70f23fd66bc821a0e99647f70a809e277cc93c4c",
      "tree": "3e768b77e63c6364ef32cf257c9449369afd215f",
      "parents": [
        "c719864f15676af92b705589c93ba1468b89cd24"
      ],
      "author": {
        "name": "Justin P. Mattock",
        "email": "justinmattock@gmail.com",
        "time": "Tue May 10 10:16:21 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue May 10 10:16:21 2011 +0200"
      },
      "message": "treewide: fix a few typos in comments\n\n- kenrel -\u003e kernel\n- whetehr -\u003e whether\n- ttt -\u003e tt\n- sss -\u003e ss\n\nSigned-off-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "1bb73a88839d473f4f2c529ecf453029439aa837",
      "tree": "103180f7a622e367d8b83045b8db4b10a3659397",
      "parents": [
        "700b41736c07f357df0a1b8f342fd237f365b58d"
      ],
      "author": {
        "name": "Alex He",
        "email": "alex.he@amd.com",
        "time": "Thu May 05 18:14:12 2011 +0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon May 09 09:34:48 2011 -0700"
      },
      "message": "xHCI 1.0: Max Exit Latency Too Large Error\n\nThis is a new TRB Completion Code of the xHCI spec 1.0.\nAsserted by the Evalute Context Command if the proposed Max Exit Latency would\nnot allow the periodic endpoints of the Device Slot to be scheduled.\n\nSigned-off-by: Alex He \u003calex.he@amd.com\u003e\nSigned-off-by: Andiry Xu \u003candiry.xu@amd.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "700b41736c07f357df0a1b8f342fd237f365b58d",
      "tree": "0cefc9b0136e070a127ffac752ebc7d18a66f9d4",
      "parents": [
        "ad106f292369d753d5c75751cb9e760726e3cd00"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Thu May 05 18:14:05 2011 +0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon May 09 09:34:47 2011 -0700"
      },
      "message": "xHCI 1.0: TT_THINK_TIME set\n\nxHCI 1.0 spec says the TT Think Time field shall be set to zero if the device\nis not a High-speed hub.\n\nSigned-off-by: Andiry Xu \u003candiry.xu@amd.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "ad106f292369d753d5c75751cb9e760726e3cd00",
      "tree": "0d612a1b3a09f03103eb33a012dbb3264137e170",
      "parents": [
        "7b1fc2ea8a5fbf9487d83865456cff77d0249ea9"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Thu May 05 18:14:02 2011 +0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon May 09 09:34:47 2011 -0700"
      },
      "message": "xHCI 1.0: Block Interrupts for Isoch transfer\n\nCurrently an isoc URB is divided into multiple TDs, and every TD will\ntrigger an interrupt when it\u0027s processed. However, software can schedule\nmultiple TDs at a time, and it only needs an interrupt every URB.\n\nxHCI 1.0 introduces the Block Event Interrupt(BEI) flag which allows Normal\nand Isoch Transfer TRBs to place an Event TRB on an Event Ring but not\nassert an intrrupt to the host, and the interrupt rate is significantly\nreduced and the system performance is improved.\n\nSigned-off-by: Andiry Xu \u003candiry.xu@amd.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "7b1fc2ea8a5fbf9487d83865456cff77d0249ea9",
      "tree": "41e3371e3325535480e961e37e17322ea39efb6c",
      "parents": [
        "51eb01a746089f2c3d9b87f870353772d2fb4c37"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Thu May 05 18:14:00 2011 +0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon May 09 09:34:47 2011 -0700"
      },
      "message": "xHCI 1.0: Isoch endpoint CErr field set\n\nxHCI 1.0 specification specifies that CErr does not apply to Isoch endpoints\nand shall be set to \u00270\u0027 for Isoch endpoints.\n\nSigned-off-by: Andiry Xu \u003candiry.xu@amd.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    }
  ],
  "next": "51eb01a746089f2c3d9b87f870353772d2fb4c37"
}
