)]}'
{
  "log": [
    {
      "commit": "abf058e10c2614c36ba217405768e8e74853fc80",
      "tree": "c4050ac72098edfd37adb7037fbf7bf2b03030cc",
      "parents": [
        "384703b8e6cd4c8ef08512e596024e028c91c339"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 21 17:31:54 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 21 14:41:04 2011 -0800"
      },
      "message": "USB: Fix usb/isp1760 build on sparc\n\nThis commit:\n\ncommit 8f5d621543cb064d2989fc223d3c2bc61a43981e\nAuthor: Joachim Foerster \u003cjoachim.foerster@missinglinkelectronics.com\u003e\nDate:   Mon Oct 10 18:06:54 2011 +0200\n\n    usb/isp1760: Let OF bindings depend on general CONFIG_OF instead of PPC_OF .\n\n    To be able to use the driver on other OF-aware architectures, too.\n    And add necessary OF related #includes to fix compilation error.\n\n    Signed-off-by: Joachim Foerster \u003cjoachim.foerster@missinglinkelectronics.com\u003e\n    Signed-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nenabled the build on all CONFIG_OF architectures, but it cannot do\nthis.\n\nThis driver depends upon CONFIG_OF_IRQ but not all CONFIG_OF platforms\nsupport that infrastructure, in particular Sparc does not so the\nbuild fails.\n\nPlease push a patch like the following to Linus so that this code only\ngets built where it actually should.\n\n--------------------\nusb/isp1760: Add missing CONFIG_OF_IRQ dependency on OF code.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0de13500ad1d8a66b7dc1e7fa517ea15a2625c9e",
      "tree": "5944030800044bd7338b50b853f49de8f344d9dd",
      "parents": [
        "158886cd2cf4599e04f9b7e10cb767f5f39b14f1"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Dec 01 10:30:16 2011 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Dec 01 10:41:40 2011 -0800"
      },
      "message": "Revert \"xHCI: reset-on-resume quirk for NEC uPD720200\"\n\nThis reverts commit df711fc9962b9491af2b92bd0d21ecbfefe4e5fa.\n\nThe commit added a reset-on-resume quirk because the NEC chipset stopped\nresponding to commands about 30 minutes after a system resume from\nsuspend.  We thought it was a chipset issue, but it turns out that the\nxHCI driver was zeroing out the link TRB after a successful context\nrestore during resume.  The host controller would fall off the command\nring sometime later, causing it to not respond to new commands.\n\nThe link TRB issue has been fixed with commit\n158886cd2cf4599e04f9b7e10cb767f5f39b14f1 \"xHCI: fix bug in\nxhci_clear_command_ring()\", so revert the reset-on-resume quirk, as it\u0027s\nnot necessary.\n\nCommit df711fc9962b9491af2b92bd0d21ecbfefe4e5fa was marked for stable\ntrees back to 2.6.37, but according to my mail, it has not made it into\nLinus\u0027 tree or the stable trees yet.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nTested-by: Julian Sikorski \u003cbelegdol@gmail.com\u003e\nCc: Andiry Xu \u003candiry.xu@amd.com\u003e\n"
    },
    {
      "commit": "158886cd2cf4599e04f9b7e10cb767f5f39b14f1",
      "tree": "f59d102f1460155cfb49d5fdff8da762a5dde533",
      "parents": [
        "6414e94c203d92b163ca61b5f51a25b80a621dbe"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Wed Nov 30 16:37:41 2011 +0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Dec 01 10:38:27 2011 -0800"
      },
      "message": "xHCI: fix bug in xhci_clear_command_ring()\n\nWhen system enters suspend, xHCI driver clears command ring by writing zero\nto all the TRBs. However, this also writes zero to the Link TRB, and the ring\nis mangled. This may cause driver accesses wrong memory address and the\nresult is unpredicted.\n\nWhen clear the command ring, keep the last Link TRB intact, only clear its\ncycle bit. This should fix the \"command ring full\" issue reported by Oliver\nNeukum.\n\nThis should be backported to stable kernels as old as 2.6.37, since the\ncommit 89821320 \"xhci: Fix command ring replay after resume\" is merged.\n\nSigned-off-by: Andiry Xu \u003candiry.xu@amd.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nReported-by: Oliver Neukum \u003coneukum@suse.de\u003e\n"
    },
    {
      "commit": "e3420901eba65b1c46bed86d360e3a8685d20734",
      "tree": "747ae7ec657793fba9b5523cd573f6bd25f7905b",
      "parents": [
        "df711fc9962b9491af2b92bd0d21ecbfefe4e5fa"
      ],
      "author": {
        "name": "Matthieu CASTET",
        "email": "castet.matthieu@free.fr",
        "time": "Mon Nov 28 11:30:22 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 29 09:59:29 2011 +0900"
      },
      "message": "EHCI : Fix a regression in the ISO scheduler\n\nFix a regression that was introduced by commit\n811c926c538f7e8d3c08b630dd5844efd7e000f6 (USB: EHCI: fix HUB TT scheduling\nissue with iso transfer).\n\nWe detect an error if next \u003d\u003d start, but this means uframe 0 can\u0027t be allocated\nanymore for iso transfer...\n\nReported-by: Sander Eikelenboom \u003clinux@eikelenboom.it\u003e\nSigned-off-by: Matthieu CASTET \u003ccastet.matthieu@free.fr\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "df711fc9962b9491af2b92bd0d21ecbfefe4e5fa",
      "tree": "ebefb30afe3849b6fff39a9dd562481987b2d335",
      "parents": [
        "8746c83d538cab273d335acb2be226d096f4a5af"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Thu Nov 17 13:07:44 2011 +0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Nov 28 10:22:26 2011 -0800"
      },
      "message": "xHCI: reset-on-resume quirk for NEC uPD720200\n\nJulian Sikorski reports NEC uPD720200 does not work stable after suspend\nand resume. Re-initialize the host in xhci_resume().\n\nThis should be backported to stable kernels as old as 2.6.37.  The\nkernel will need to include\ncommit c877b3b2ad5cb9d4fe523c5496185cc328ff3ae9\n\"xhci: Add reset on resume quirk for asrock p67 host\"\nfor this patch to work.\n\nSigned-off-by: Andiry Xu \u003candiry.xu@amd.com\u003e\nReported-by: Julian Sikorski \u003cbelegdol@gmail.com\u003e\nTested-by: Julian Sikorski \u003cbelegdol@gmail.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "8746c83d538cab273d335acb2be226d096f4a5af",
      "tree": "2f2f00b26403ac766088ceca34c71b51141ea644",
      "parents": [
        "cec28a5428793b6bc64e56687fb239759d6da74e"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue Nov 22 10:28:31 2011 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Nov 26 19:56:48 2011 -0800"
      },
      "message": "USB: whci-hcd: fix endian conversion in qset_clear()\n\nqset-\u003eqh.link is an __le64 field and we should be using cpu_to_le64()\nto fill it.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c61875977458637226ab093a35d200f2d5789787",
      "tree": "8599601ac6abc0532f11858d572119d260d9925c",
      "parents": [
        "46b5a277ed90317a4d17e936c16037e76011b219"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Nov 17 16:41:45 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 18 11:18:45 2011 -0800"
      },
      "message": "OHCI: final fix for NVIDIA problems (I hope)\n\nProblems with NVIDIA\u0027s OHCI host controllers persist.  After looking\ncarefully through the spec, I finally realized that when a controller\nis reset it then automatically goes into a SUSPEND state in which it\nis completely quiescent (no DMA and no IRQs) and from which it will\nnot awaken until the system puts it into the OPERATIONAL state.\n\nTherefore there\u0027s no need to worry about controllers being in the\nRESET state for extended periods, or remaining in the OPERATIONAL\nstate during system shutdown.  The proper action for device\ninitialization is to put the controller into the RESET state (if it\u0027s\nnot there already) and then to issue a software reset.  Similarly, the\nproper action for device shutdown is simply to do a software reset.\n\nThis patch (as1499) implements such an approach.  It simplifies\ninitialization and shutdown, and allows the NVIDIA shutdown-quirk code\nto be removed.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nTested-by: Andre \"Osku\" Schmidt \u003candre.osku.schmidt@googlemail.com\u003e\nTested-by: Arno Augustin \u003cArno.Augustin@web.de\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e [after tested in 3.2 for a while]\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e253dec31b3ffc2bf19aa8c29865ab7254e90c29",
      "tree": "3a7c9bcea6ae75b814761f95ed6d527993e4fafd",
      "parents": [
        "bc985c10f388c0e5fb2cff95ff2220721627fbd8"
      ],
      "author": {
        "name": "Jayachandran C",
        "email": "jayachandranc@netlogicmicro.com",
        "time": "Fri Nov 18 12:12:41 2011 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 18 11:16:36 2011 -0800"
      },
      "message": "usb: Netlogic: Fix HC_LENGTH call in ehci-xls.c\n\nFix compile error, HC_LENGTH now takes two parameters and ehci\nneeds to be passed as the first parameter.\n\nSigned-off-by: Jayachandran C \u003cjayachandranc@netlogicmicro.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "770f0baaee0c511d0d466082e72815ed861e301f",
      "tree": "a3cb28c6f14dd7bc7dfab545660f46659ce56a38",
      "parents": [
        "5dc2470c602da8851907ec18942cd876c3b4ecc1"
      ],
      "author": {
        "name": "Jean-Christophe PLAGNIOL-VILLARD",
        "email": "plagnioj@jcrosoft.com",
        "time": "Sat Nov 12 16:46:13 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 14 15:52:11 2011 -0800"
      },
      "message": "USB: at91: at91-ohci: fix set/get power\n\nin commit aa6e52a35 we introduce the support of overcurrent notification\nbut the set and get of the power without checking if the gpio is valid or not\n\nSigned-off-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nAcked-by: Thomas Petazzoni \u003cthomas.petazzoni@free-electrons.com\u003e\nAcked-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "811c926c538f7e8d3c08b630dd5844efd7e000f6",
      "tree": "97ee9d1bc674ce1d24acb8e7d2518da0b1cc2cc1",
      "parents": [
        "f69e3120df82391a0ee8118e0a156239a06b2afb"
      ],
      "author": {
        "name": "Thomas Poussevin",
        "email": "thomas.poussevin@parrot.com",
        "time": "Thu Oct 27 18:46:48 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 14 13:47:48 2011 -0800"
      },
      "message": "USB: EHCI: fix HUB TT scheduling issue with iso transfer\n\nThe current TT scheduling doesn\u0027t allow to play and then record on a\nfull-speed device connected to a high speed hub.\n\nThe IN iso stream can only start on the first uframe (0-2 for a 165 us)\nbecause of CSPLIT transactions.\nFor the OUT iso stream there no such restriction. uframe 0-5 are possible.\n\nThe idea of this patch is that the first uframe are precious (for IN TT iso\nstream) and we should allocate the last uframes first if possible.\n\nFor that we reverse the order of uframe allocation (last uframe first).\n\nHere an example :\n\nhid interrupt stream\n----------------------------------------------------------------------\nuframe                |  0  |  1  |  2  |  3  |  4  |  5  |  6  |  7  |\n----------------------------------------------------------------------\nmax_tt_usecs          | 125 | 125 | 125 | 125 | 125 | 125 | 30  |  0  |\n----------------------------------------------------------------------\nused usecs on a frame | 13  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |\n----------------------------------------------------------------------\n\niso OUT stream\n----------------------------------------------------------------------\nuframe                |  0  |  1  |  2  |  3  |  4  |  5  |  6  |  7  |\n----------------------------------------------------------------------\nmax_tt_usecs          | 125 | 125 | 125 | 125 | 125 | 125 | 30  |  0  |\n----------------------------------------------------------------------\nused usecs on a frame | 13  | 125 |  39 |  0  |  0  |  0  |  0  |  0  |\n----------------------------------------------------------------------\n\nThere no place for iso IN stream  (uframe 0-2 are used) and we got \"cannot\nsubmit datapipe for urb 0, error -28: not enough bandwidth\" error.\n\nWith the patch this become.\n\niso OUT stream\n----------------------------------------------------------------------\nuframe                |  0  |  1  |  2  |  3  |  4  |  5  |  6  |  7  |\n----------------------------------------------------------------------\nmax_tt_usecs          | 125 | 125 | 125 | 125 | 125 | 125 | 30  |  0  |\n----------------------------------------------------------------------\nused usecs on a frame |  13 |  0  |  0  |  0  | 125 |  39 |  0  |  0  |\n----------------------------------------------------------------------\n\niso IN stream\n----------------------------------------------------------------------\nuframe                |  0  |  1  |  2  |  3  |  4  |  5  |  6  |  7  |\n----------------------------------------------------------------------\nmax_tt_usecs          | 125 | 125 | 125 | 125 | 125 | 125 | 30  |  0  |\n----------------------------------------------------------------------\nused usecs on a frame |  13 |  0  | 125 | 40  | 125 |  39 |  0  |  0  |\n----------------------------------------------------------------------\n\nSigned-off-by: Matthieu Castet \u003cmatthieu.castet@parrot.com\u003e\nSigned-off-by: Thomas Poussevin \u003cthomas.poussevin@parrot.com\u003e\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f69e3120df82391a0ee8118e0a156239a06b2afb",
      "tree": "fbafe9cb22849cf5431adc96cf2cf2872314f941",
      "parents": [
        "97ff22ee3b4cb3a334f7385e269773141aed702f"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Nov 03 11:37:10 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 14 13:47:48 2011 -0800"
      },
      "message": "USB: XHCI: resume root hubs when the controller resumes\n\nThis patch (as1494) fixes a problem in xhci-hcd\u0027s resume routine.\nWhen the controller is runtime-resumed, this can only mean that one of\nthe two root hubs has made a wakeup request and therefore needs to be\nresumed as well.  Rather than try to determine which root hub requires\nattention (which might be difficult in the case where a new\nnon-SuperSpeed device has been plugged in), the patch simply resumes\nboth root hubs.\n\nWithout this change, there is a race: The controller might be put back\nto sleep before it can activate its IRQ line, and the wakeup condition\nmight never get handled.\n\nThe patch also simplifies the logic in xhci_resume a little, combining\nsome repeated flag settings into a single pair of statements.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCC: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nTested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "97ff22ee3b4cb3a334f7385e269773141aed702f",
      "tree": "89f7c12ef4cc757305d7a741345e0f2531c12565",
      "parents": [
        "583182ba5f02c8c9be82ea550f2051eaec15b975"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Oct 27 11:20:21 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 14 13:47:47 2011 -0800"
      },
      "message": "USB: workaround for bug in old version of GCC\n\nThis patch (as1491) works around a bug in GCC-3.4.6, which is still\nsupposed to be supported.  The number of microseconds in the udelay()\ncall in quirk_usb_disable_ehci() is fixed at 100, but the compiler\ndoesn\u0027t understand this and generates a link-time error.  So we\nreplace the otherwise unused variable \"delta\" with a simple constant\n100.  This same pattern is already used in other delay loops in that\nsource file.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nReported-by: Konrad Rzepecki \u003ckrzepecki@dentonet.pl\u003e\nTested-by: Konrad Rzepecki \u003ckrzepecki@dentonet.pl\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "47c6a04bf58163fe2a429617ae6b1a93ba363723",
      "tree": "781ae1aa5c94d34635255eae797c24df0f0e4329",
      "parents": [
        "1ea6b8f48918282bdca0b32a34095504ee65bab5",
        "79c3dd8150fd5236d95766a9e662e3e932b462c9"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 14 11:30:09 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 14 11:30:52 2011 -0800"
      },
      "message": "Merge branch \u0027for-usb-linus\u0027 of git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci into usb-linus\n\n* \u0027for-usb-linus\u0027 of ra.kernel.org:/pub/scm/linux/kernel/git/sarah/xhci:\n  usb, xhci: Clear warm reset change event during init\n  xhci: Set slot and ep0 flags for address command.\n  usb, xhci: fix lockdep warning on endpoint timeout\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "d31c285b3a71cf9056e6a060de41f37780b0af86",
      "tree": "1df9a0727dc7e973ce398435fdf4d992807f4148",
      "parents": [
        "f43d623164022dcbf6750ef220b7a1133a1183eb"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Nov 03 13:06:08 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Nov 04 12:33:25 2011 -0700"
      },
      "message": "xhci: Set slot and ep0 flags for address command.\n\nMatt\u0027s AsMedia xHCI host controller was responding with a Context Error\nto an address device command after a configured device reset.  Some\nsequence of events leads both the slot and endpoint zero add flags\ncleared to zero, which the AsMedia host doesn\u0027t like:\n\n[  223.701839] xhci_hcd 0000:03:00.0: Slot ID 1 Input Context:\n[  223.701841] xhci_hcd 0000:03:00.0: @ffff880137b25000 (virt) @ffffc000 (dma) 0x000000 - drop flags\n[  223.701843] xhci_hcd 0000:03:00.0: @ffff880137b25004 (virt) @ffffc004 (dma) 0x000000 - add flags\n[  223.701846] xhci_hcd 0000:03:00.0: @ffff880137b25008 (virt) @ffffc008 (dma) 0x000000 - rsvd2[0]\n[  223.701848] xhci_hcd 0000:03:00.0: @ffff880137b2500c (virt) @ffffc00c (dma) 0x000000 - rsvd2[1]\n[  223.701850] xhci_hcd 0000:03:00.0: @ffff880137b25010 (virt) @ffffc010 (dma) 0x000000 - rsvd2[2]\n[  223.701852] xhci_hcd 0000:03:00.0: @ffff880137b25014 (virt) @ffffc014 (dma) 0x000000 - rsvd2[3]\n[  223.701854] xhci_hcd 0000:03:00.0: @ffff880137b25018 (virt) @ffffc018 (dma) 0x000000 - rsvd2[4]\n[  223.701857] xhci_hcd 0000:03:00.0: @ffff880137b2501c (virt) @ffffc01c (dma) 0x000000 - rsvd2[5]\n[  223.701858] xhci_hcd 0000:03:00.0: Slot Context:\n[  223.701860] xhci_hcd 0000:03:00.0: @ffff880137b25020 (virt) @ffffc020 (dma) 0x8400000 - dev_info\n[  223.701862] xhci_hcd 0000:03:00.0: @ffff880137b25024 (virt) @ffffc024 (dma) 0x010000 - dev_info2\n[  223.701864] xhci_hcd 0000:03:00.0: @ffff880137b25028 (virt) @ffffc028 (dma) 0x000000 - tt_info\n[  223.701866] xhci_hcd 0000:03:00.0: @ffff880137b2502c (virt) @ffffc02c (dma) 0x000000 - dev_state\n[  223.701869] xhci_hcd 0000:03:00.0: @ffff880137b25030 (virt) @ffffc030 (dma) 0x000000 - rsvd[0]\n[  223.701871] xhci_hcd 0000:03:00.0: @ffff880137b25034 (virt) @ffffc034 (dma) 0x000000 - rsvd[1]\n[  223.701873] xhci_hcd 0000:03:00.0: @ffff880137b25038 (virt) @ffffc038 (dma) 0x000000 - rsvd[2]\n[  223.701875] xhci_hcd 0000:03:00.0: @ffff880137b2503c (virt) @ffffc03c (dma) 0x000000 - rsvd[3]\n[  223.701877] xhci_hcd 0000:03:00.0: Endpoint 00 Context:\n[  223.701879] xhci_hcd 0000:03:00.0: @ffff880137b25040 (virt) @ffffc040 (dma) 0x000000 - ep_info\n[  223.701881] xhci_hcd 0000:03:00.0: @ffff880137b25044 (virt) @ffffc044 (dma) 0x2000026 - ep_info2\n[  223.701883] xhci_hcd 0000:03:00.0: @ffff880137b25048 (virt) @ffffc048 (dma) 0xffffe8e0 - deq\n[  223.701885] xhci_hcd 0000:03:00.0: @ffff880137b25050 (virt) @ffffc050 (dma) 0x000000 - tx_info\n[  223.701887] xhci_hcd 0000:03:00.0: @ffff880137b25054 (virt) @ffffc054 (dma) 0x000000 - rsvd[0]\n[  223.701889] xhci_hcd 0000:03:00.0: @ffff880137b25058 (virt) @ffffc058 (dma) 0x000000 - rsvd[1]\n[  223.701892] xhci_hcd 0000:03:00.0: @ffff880137b2505c (virt) @ffffc05c (dma) 0x000000 - rsvd[2]\n...\n[  223.701927] xhci_hcd 0000:03:00.0: // Ding dong!\n[  223.701992] xhci_hcd 0000:03:00.0: Setup ERROR: address device command for slot 1.\n\nThe xHCI spec says that both flags must be set to one for the Address\nDevice command.  When the device is first enumerated,\nxhci_setup_addressable_virt_dev() does set those flags.  However, when\nthe device is addressed after it has been reset in the configured state,\nxhci_setup_addressable_virt_dev() is not called, and\nxhci_copy_ep0_dequeue_into_input_ctx() is called instead.  That function\nrelies on the flags being set up by previous commands, which apparently\nisn\u0027t a good assumption.\n\nMove the setting of the flags into the common parent function.\n\nThis should be queued for stable kernels as old as 2.6.35, since that\nwas the first introduction of xhci_copy_ep0_dequeue_into_input_ctx.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nTested-by: Matt \u003cmdm@iinet.net.au\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "d6748066ad0e8b2514545998f8367ebb3906f299",
      "tree": "f7a9bfd764a8fb781aeda0ef2249afbab42dddf7",
      "parents": [
        "f04c045f8ce69c22bda9d99eb927276b776135fc",
        "3ba1e543ab4b02640d396098f2f6a199560d5f2d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 03 13:28:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 03 13:28:14 2011 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/ralf/upstream-linus\n\n* \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (37 commits)\n  MIPS: O32: Provide definition of registers ta0 .. ta3.\n  MIPS: perf: Add Octeon support for hardware perf.\n  MIPS: perf: Add support for 64-bit perf counters.\n  MIPS: perf: Reorganize contents of perf support files.\n  MIPS: perf: Cleanup formatting in arch/mips/kernel/perf_event.c\n  MIPS: Add accessor macros for 64-bit performance counter registers.\n  MIPS: Add probes for more Octeon II CPUs.\n  MIPS: Add more CPU identifiers for Octeon II CPUs.\n  MIPS: XLR, XLS: Add comment for smp setup\n  MIPS: JZ4740: GPIO: Check correct IRQ in demux handler\n  MIPS: JZ4740: GPIO: Simplify IRQ demuxer\n  MIPS: JZ4740: Use generic irq chip\n  MIPS: Alchemy: remove all CONFIG_SOC_AU1??? defines\n  MIPS: Alchemy: kill au1xxx.h header\n  MIPS: Alchemy: clean DMA code of CONFIG_SOC_AU1??? defines\n  MIPS, IDE: Alchem, au1xxx-ide: Remove pb1200/db1200 header dep\n  MIPS: Alchemy: Redo PCI as platform driver\n  MIPS: Alchemy: more base address cleanup\n  MIPS: Alchemy: rewrite USB platform setup.\n  MIPS: Alchemy: abstract USB block control register access\n  ...\n\nFix up trivial conflicts in:\n\tarch/mips/alchemy/devboards/db1x00/platform.c\n\tdrivers/ide/Kconfig\n\tdrivers/mmc/host/au1xmmc.c\n\tdrivers/video/Kconfig\n\tsound/mips/Kconfig\n"
    },
    {
      "commit": "f43d623164022dcbf6750ef220b7a1133a1183eb",
      "tree": "7d50c93d89af6221e51d7a22f151e1e1c3a988ae",
      "parents": [
        "094803e0aab3fe75bbf8202a8f4b5280eaade375"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Thu Oct 20 23:52:14 2011 -0400"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Nov 02 13:07:59 2011 -0700"
      },
      "message": "usb, xhci: fix lockdep warning on endpoint timeout\n\nWhile debugging a usb3 problem, I stumbled upon this lockdep warning.\n\nOct 18 21:41:17 dhcp47-74 kernel: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nOct 18 21:41:17 dhcp47-74 kernel: [ INFO: inconsistent lock state ]\nOct 18 21:41:17 dhcp47-74 kernel: 3.1.0-rc4nmi+ #456\nOct 18 21:41:17 dhcp47-74 kernel: ---------------------------------\nOct 18 21:41:17 dhcp47-74 kernel: inconsistent {IN-HARDIRQ-W} -\u003e {HARDIRQ-ON-W} usage.\nOct 18 21:41:17 dhcp47-74 kernel: swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:\nOct 18 21:41:17 dhcp47-74 kernel: (\u0026(\u0026xhci-\u003elock)-\u003erlock){?.-...}, at: [\u003cffffffffa0228990\u003e] xhci_stop_endpoint_command_watchdog+0x30/0x340 [xhci_hcd]\nOct 18 21:41:17 dhcp47-74 kernel: {IN-HARDIRQ-W} state was registered at:\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff8109a941\u003e] __lock_acquire+0x781/0x1660\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff8109bed7\u003e] lock_acquire+0x97/0x170\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff81501b46\u003e] _raw_spin_lock+0x46/0x80\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffffa02299fa\u003e] xhci_irq+0x3a/0x1960 [xhci_hcd]\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffffa022b351\u003e] xhci_msi_irq+0x31/0x40 [xhci_hcd]\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff810d2305\u003e] handle_irq_event_percpu+0x85/0x320\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff810d25e8\u003e] handle_irq_event+0x48/0x70\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff810d537d\u003e] handle_edge_irq+0x6d/0x130\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff810048c9\u003e] handle_irq+0x49/0xa0\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff8150d56d\u003e] do_IRQ+0x5d/0xe0\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff815029b0\u003e] ret_from_intr+0x0/0x13\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff81388aca\u003e] usb_set_device_state+0x8a/0x180\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff8138f038\u003e] usb_add_hcd+0x2b8/0x730\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffffa022ed7e\u003e] xhci_pci_probe+0x9e/0xd4 [xhci_hcd]\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff8127915f\u003e] local_pci_probe+0x5f/0xd0\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff8127a569\u003e] pci_device_probe+0x119/0x120\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff81334473\u003e] driver_probe_device+0xa3/0x2c0\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff8133473b\u003e] __driver_attach+0xab/0xb0\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff8133373c\u003e] bus_for_each_dev+0x6c/0xa0\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff813341fe\u003e] driver_attach+0x1e/0x20\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff81333b88\u003e] bus_add_driver+0x1f8/0x2b0\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff81334df6\u003e] driver_register+0x76/0x140\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff8127a7c6\u003e] __pci_register_driver+0x66/0xe0\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffffa013c04a\u003e] snd_timer_find+0x4a/0x70 [snd_timer]\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffffa013c00e\u003e] snd_timer_find+0xe/0x70 [snd_timer]\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff810001d3\u003e] do_one_initcall+0x43/0x180\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff810a9ed2\u003e] sys_init_module+0x92/0x1f0\nOct 18 21:41:17 dhcp47-74 kernel:  [\u003cffffffff8150ab6b\u003e] system_call_fastpath+0x16/0x1b\nOct 18 21:41:17 dhcp47-74 kernel: irq event stamp: 631984\nOct 18 21:41:17 dhcp47-74 kernel: hardirqs last  enabled at (631984): [\u003cffffffff81502720\u003e] _raw_spin_unlock_irq+0x30/0x50\nOct 18 21:41:17 dhcp47-74 kernel: hardirqs last disabled at (631983): [\u003cffffffff81501c49\u003e] _raw_spin_lock_irq+0x19/0x90\nOct 18 21:41:17 dhcp47-74 kernel: softirqs last  enabled at (631980): [\u003cffffffff8105ff63\u003e] _local_bh_enable+0x13/0x20\nOct 18 21:41:17 dhcp47-74 kernel: softirqs last disabled at (631981): [\u003cffffffff8150ce6c\u003e] call_softirq+0x1c/0x30\nOct 18 21:41:17 dhcp47-74 kernel:\nOct 18 21:41:17 dhcp47-74 kernel: other info that might help us debug this:\nOct 18 21:41:17 dhcp47-74 kernel: Possible unsafe locking scenario:\nOct 18 21:41:17 dhcp47-74 kernel:\nOct 18 21:41:17 dhcp47-74 kernel:       CPU0\nOct 18 21:41:17 dhcp47-74 kernel:       ----\nOct 18 21:41:17 dhcp47-74 kernel:  lock(\u0026(\u0026xhci-\u003elock)-\u003erlock);\nOct 18 21:41:17 dhcp47-74 kernel:  \u003cInterrupt\u003e\nOct 18 21:41:17 dhcp47-74 kernel:    lock(\u0026(\u0026xhci-\u003elock)-\u003erlock);\nOct 18 21:41:17 dhcp47-74 kernel:\nOct 18 21:41:17 dhcp47-74 kernel: *** DEADLOCK ***\nOct 18 21:41:17 dhcp47-74 kernel:\nOct 18 21:41:17 dhcp47-74 kernel: 1 lock held by swapper/0:\nOct 18 21:41:17 dhcp47-74 kernel: #0:  (\u0026ep-\u003estop_cmd_timer){+.-...}, at: [\u003cffffffff8106abf2\u003e] run_timer_softirq+0x162/0x570\nOct 18 21:41:17 dhcp47-74 kernel:\nOct 18 21:41:17 dhcp47-74 kernel: stack backtrace:\nOct 18 21:41:17 dhcp47-74 kernel: Pid: 0, comm: swapper Tainted: G        W   3.1.0-rc4nmi+ #456\nOct 18 21:41:17 dhcp47-74 kernel: Call Trace:\nOct 18 21:41:17 dhcp47-74 kernel: \u003cIRQ\u003e  [\u003cffffffff81098ed7\u003e] print_usage_bug+0x227/0x270\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff810999c6\u003e] mark_lock+0x346/0x410\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff8109a7de\u003e] __lock_acquire+0x61e/0x1660\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff81099893\u003e] ? mark_lock+0x213/0x410\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff8109bed7\u003e] lock_acquire+0x97/0x170\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffffa0228990\u003e] ? xhci_stop_endpoint_command_watchdog+0x30/0x340 [xhci_hcd]\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff81501b46\u003e] _raw_spin_lock+0x46/0x80\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffffa0228990\u003e] ? xhci_stop_endpoint_command_watchdog+0x30/0x340 [xhci_hcd]\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffffa0228990\u003e] xhci_stop_endpoint_command_watchdog+0x30/0x340 [xhci_hcd]\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff8106abf2\u003e] ? run_timer_softirq+0x162/0x570\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff8106ac9d\u003e] run_timer_softirq+0x20d/0x570\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff8106abf2\u003e] ? run_timer_softirq+0x162/0x570\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffffa0228960\u003e] ? xhci_queue_isoc_tx_prepare+0x8e0/0x8e0 [xhci_hcd]\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff810604d2\u003e] __do_softirq+0xf2/0x3f0\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff81020edd\u003e] ? lapic_next_event+0x1d/0x30\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff81090d4e\u003e] ? clockevents_program_event+0x5e/0x90\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff8150ce6c\u003e] call_softirq+0x1c/0x30\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff8100484d\u003e] do_softirq+0x8d/0xc0\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff8105ff35\u003e] irq_exit+0xe5/0x100\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff8150d65e\u003e] smp_apic_timer_interrupt+0x6e/0x99\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff8150b6f0\u003e] apic_timer_interrupt+0x70/0x80\nOct 18 21:41:17 dhcp47-74 kernel: \u003cEOI\u003e  [\u003cffffffff81095d8d\u003e] ? trace_hardirqs_off+0xd/0x10\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff812ddb76\u003e] ? acpi_idle_enter_bm+0x227/0x25b\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff812ddb71\u003e] ? acpi_idle_enter_bm+0x222/0x25b\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff813eda63\u003e] cpuidle_idle_call+0x103/0x290\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff81002155\u003e] cpu_idle+0xe5/0x160\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff814e7f50\u003e] rest_init+0xe0/0xf0\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff814e7e70\u003e] ? csum_partial_copy_generic+0x170/0x170\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff81df8e23\u003e] start_kernel+0x3fc/0x407\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff81df8321\u003e] x86_64_start_reservations+0x131/0x135\nOct 18 21:41:17 dhcp47-74 kernel: [\u003cffffffff81df8412\u003e] x86_64_start_kernel+0xed/0xf4\nOct 18 21:41:17 dhcp47-74 kernel: xhci_hcd 0000:00:14.0: xHCI host not responding to stop endpoint command.\nOct 18 21:41:17 dhcp47-74 kernel: xhci_hcd 0000:00:14.0: Assuming host is dying, halting host.\nOct 18 21:41:17 dhcp47-74 kernel: xhci_hcd 0000:00:14.0: HC died; cleaning up\nOct 18 21:41:17 dhcp47-74 kernel: usb 3-4: device descriptor read/8, error -110\nOct 18 21:41:17 dhcp47-74 kernel: usb 3-4: device descriptor read/8, error -22\nOct 18 21:41:17 dhcp47-74 kernel: hub 3-0:1.0: cannot disable port 4 (err \u003d -19)\n\nBasically what is happening is in xhci_stop_endpoint_command_watchdog()\nthe xhci-\u003elock is grabbed with just spin_lock.  What lockdep deduces is\nthat if an interrupt occurred while in this function it would deadlock\nwith xhci_irq because that function also grabs the xhci-\u003elock.\n\nFixing it is trivial by using spin_lock_irqsave instead.\n\nThis should be queued to stable kernels as far back as 2.6.33.\n\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "16ee792e45cf0c97ce061fce03c36cab5551ec72",
      "tree": "dc68af705fbac4b5d71325aa972730199bb187dd",
      "parents": [
        "f906fb1d70e016726fccfb0d978c5d425503db9d",
        "efa62e1355f0495f37f1296754b8880947c8da72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 01 20:31:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 01 20:31:25 2011 -0700"
      },
      "message": "Merge branch \u0027next/devel\u0027 of git://git.linaro.org/people/arnd/arm-soc\n\n* \u0027next/devel\u0027 of git://git.linaro.org/people/arnd/arm-soc: (50 commits)\n  ARM: tegra: update defconfig\n  arm/tegra: Harmony: Configure PMC for low-level interrupts\n  arm/tegra: device tree support for ventana board\n  arm/tegra: add support for ventana pinmuxing\n  arm/tegra: prepare Seaboard pinmux code for derived boards\n  arm/tegra: pinmux: ioremap registers\n  gpio/tegra: Convert to a platform device\n  arm/tegra: Convert pinmux driver to a platform device\n  arm/dt: Tegra: Add pinmux node to tegra20.dtsi\n  arm/tegra: Prep boards for gpio/pinmux conversion to pdevs\n  ARM: mx5: fix clock usage for suspend\n  ARM i.MX entry-macro.S: remove now unused code\n  ARM i.MX boards: use CONFIG_MULTI_IRQ_HANDLER\n  ARM i.MX tzic: add handle_irq function\n  ARM i.MX avic: add handle_irq function\n  ARM: mx25: Add the missing IIM base definition\n  ARM i.MX avic: convert to use generic irq chip\n  mx31moboard: Add poweroff support\n  ARM: mach-qong: Add watchdog support\n  ARM: davinci: AM18x: Add wl1271/wlan support\n  ...\n\nFix up conflicts in:\n\tarch/arm/mach-at91/at91sam9g45.c\n\tarch/arm/mach-mx5/devices-imx53.h\n\tarch/arm/plat-mxc/include/mach/memory.h\n"
    },
    {
      "commit": "4bcbcc96e16fd44eaf9791cb369da757dae1656c",
      "tree": "2563b8a7b64be1ce9da9a97310a95ea4470a9751",
      "parents": [
        "f940fcd8eadfe5b909a1474b57de7755edeee62b"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Jul 18 14:42:00 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:26 2011 -0400"
      },
      "message": "usb: fix implicit usage of gfp.h in host/xhci-hub.c\n\nTo fix this build error on ARM:\n\ndrivers/usb/host/xhci-hub.c: In function \u0027xhci_stop_device\u0027:\ndrivers/usb/host/xhci-hub.c:261: error: \u0027GFP_NOIO\u0027 undeclared (first use in this function)\nmake[4]: *** [drivers/usb/host/xhci-hub.o] Error 1\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "f940fcd8eadfe5b909a1474b57de7755edeee62b",
      "tree": "fd4eac433d27add07c1880200aeb7e262d4e76d3",
      "parents": [
        "6eb0de827084060e6607c8f8542d9e9566214538"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri May 27 09:56:31 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:25 2011 -0400"
      },
      "message": "usb: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed\n\nWith module.h being implicitly everywhere via device.h, the absence\nof explicitly including something for EXPORT_SYMBOL went unnoticed.\nSince we are heading to fix things up and clean module.h from the\ndevice.h file, we need to explicitly include these files now.\n\nUse the lightweight version of the header that has just THIS_MODULE\nand EXPORT_SYMBOL variants.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "6eb0de827084060e6607c8f8542d9e9566214538",
      "tree": "01e340eab5a0758e19eeb1c813f6cef831b7a834",
      "parents": [
        "acf3368ffb75fc4a83726655d697e79646fe4eb3"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Jul 03 16:09:31 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:25 2011 -0400"
      },
      "message": "usb: Add module.h to drivers/usb consumers who really use it.\n\nThe situation up to this point meant that module.h was pretty\nmuch everywhere, regardless of whether you asked for it or not.\nWe are fixing that, so give the USB folks who want it an actual\ninclude of it.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "efa62e1355f0495f37f1296754b8880947c8da72",
      "tree": "c07af29f8baf2e6f4ed3bedbe46d405924edd530",
      "parents": [
        "107532920226a37e595697959b2a6a823cfa2497",
        "f55be1bf52aad524dc1bf556ae26c90262c87825"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 31 23:46:42 2011 +0100"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 31 23:46:42 2011 +0100"
      },
      "message": "Merge branch \u0027depends/rmk/gpio\u0027 into next/devel\n\nConflicts:\n\tarch/arm/mach-mxs/include/mach/gpio.h\n\tarch/arm/plat-mxc/include/mach/gpio.h\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "ca90666287401b475d9e0becf85bd02f069f1de8",
      "tree": "ad4dd789f8d5ab639c78997d3655b94fcbf660ef",
      "parents": [
        "60325f0c6ee7c6b68f95aaa643260fb33d4bdd88",
        "374e759db148d1e874e3afb76707082af67e0984"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 27 08:39:10 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 27 08:39:10 2011 +0200"
      },
      "message": "Merge branch \u0027gpio\u0027 of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm\n\n* \u0027gpio\u0027 of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm: (43 commits)\n  ARM: 7135/1: ep93xx: bring back missing \u003cmach/gpio.h\u003e\n  ARM: 7104/1: plat-pxa: break out GPIO driver specifics\n  ARM: 7103/1: plat-pxa: move PXA GPIO driver to GPIO subsystem\n  ARM: 7042/3: mach-ep93xx: break out GPIO driver specifics\n  ARM: 7101/1: arm/tegra: Replace \u003cmach/gpio.h\u003e with \u003cmach/gpio-tegra.h\u003e\n  ARM: 7094/1: arm/tegra: Move EN_VDD_1V05_GPIO to board-harmony.h\n  ARM: 7083/1: rewrite U300 GPIO to use gpiolib\n  ARM: 7074/1: gpio: davinci: eliminate unused variable warnings\n  ARM: 7063/1: Orion: gpio: add missing include of linux/types.h\n  ARM: 7055/1: arm/tegra: mach/gpio.h: include linux/types.h to fix build\n  ARM: 7054/1: arm/tegra: Delete custom gpio_to_irq, and irq_to_gpio\n  ARM: 7053/1: gpio/tegra: Implement gpio_chip.to_irq\n  ARM: 7052/1: gpio/tegra: Remove use of irq_to_gpio\n  ARM: 7057/1: mach-pnx4008: rename GPIO header\n  ARM: 7056/1: plat-nomadik: kill off \u003cplat/gpio.h\u003e\n  ARM: 7050/1: mach-sa1100: delete irq_to_gpio() function\n  ARM: 7049/1: mach-sa1100: move SA1100 GPIO driver to GPIO subsystem\n  ARM: 7045/1: mach-lpc32xx: break out GPIO driver specifics\n  ARM: 7044/1: mach-lpc32xx: move LPC32XX GPIO driver to GPIO subsystem\n  ARM: 7043/1: mach-ixp2000: rename GPIO header\n  ...\n\nFix up trivial conflicts in arch/arm/mach-u300/Kconfig manually\n"
    },
    {
      "commit": "1be025d3cb40cd295123af2c394f7229ef9b30ca",
      "tree": "5dc14e1ea412cc7fdc3e563ad23187059fe8bfb5",
      "parents": [
        "2d03423b2319cc854adeb28a03f65de5b5e0ab63",
        "a2c76b83fdd763c826f38a55127ccf25708099ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:23:15 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:23:15 2011 +0200"
      },
      "message": "Merge branch \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb\n\n* \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (260 commits)\n  usb: renesas_usbhs: fixup inconsistent return from usbhs_pkt_push()\n  usb/isp1760: Allow to optionally trigger low-level chip reset via GPIOLIB.\n  USB: gadget: midi: memory leak in f_midi_bind_config()\n  USB: gadget: midi: fix range check in f_midi_out_open()\n  QE/FHCI: fixed the CONTROL bug\n  usb: renesas_usbhs: tidyup for smatch warnings\n  USB: Fix USB Kconfig dependency problem on 85xx/QoirQ platforms\n  EHCI: workaround for MosChip controller bug\n  usb: gadget: file_storage: fix race on unloading\n  USB: ftdi_sio.c: Use ftdi async_icount structure for TIOCMIWAIT, as in other drivers\n  USB: ftdi_sio.c:Fill MSR fields of the ftdi async_icount structure\n  USB: ftdi_sio.c: Fill LSR fields of the ftdi async_icount structure\n  USB: ftdi_sio.c:Fill TX field of the ftdi async_icount structure\n  USB: ftdi_sio.c: Fill the RX field of the ftdi async_icount structure\n  USB: ftdi_sio.c: Basic icount infrastructure for ftdi_sio\n  usb/isp1760: Let OF bindings depend on general CONFIG_OF instead of PPC_OF .\n  USB: ftdi_sio: Support TI/Luminary Micro Stellaris BD-ICDI Board\n  USB: Fix runtime wakeup on OHCI\n  xHCI/USB: Make xHCI driver have a BOS descriptor.\n  usb: gadget: add new usb gadget for ACM and mass storage\n  ...\n"
    },
    {
      "commit": "3766386037827fe7064f57f9aec27b3b5e9417aa",
      "tree": "306a7b1ccf3100469fd711af37963801d8d387c0",
      "parents": [
        "50d5676ebac57c187ac347bae24290f0dc16fdbe"
      ],
      "author": {
        "name": "Manuel Lauss",
        "email": "manuel.lauss@googlemail.com",
        "time": "Fri Aug 12 11:39:45 2011 +0200"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Oct 24 23:34:24 2011 +0100"
      },
      "message": "MIPS: Alchemy: remove all CONFIG_SOC_AU1??? defines\n\nNow that no driver any longer depends on the CONFIG_SOC_AU1???  symbols,\nit\u0027s time to get rid of them: Move some of the platform devices to the\nboards which can use them, Rename a few (unused) constants in the header,\nReplace them with MIPS_ALCHEMY in the various Kconfig files.  Finally\ndelete them altogether from the Alchemy Kconfig file.\n\nSigned-off-by: Manuel Lauss \u003cmanuel.lauss@googlemail.com\u003e\nTo: Linux-MIPS \u003clinux-mips@linux-mips.org\u003e\nPatchwork: https://patchwork.linux-mips.org/patch/2707/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "ce6bc92285cabd0df1f154a9ef5aeb937b6de57e",
      "tree": "fc2313d5a921624d512020ab5825861b6b3e1f8b",
      "parents": [
        "694b8c35e95078bfe1cb1388bf0cf7942e32f009"
      ],
      "author": {
        "name": "Manuel Lauss",
        "email": "manuel.lauss@googlemail.com",
        "time": "Fri Aug 12 20:12:33 2011 +0200"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Oct 24 23:34:23 2011 +0100"
      },
      "message": "MIPS: Alchemy: abstract USB block control register access\n\nAlchemy chips have one or more registers which control access\nto the usb blocks as well as PHY configuration.  I don\u0027t want\nthe OHCI/EHCI glues to know about the different registers and bits;\nnew code hides the gory details of USB configuration from them.\n\nSigned-off-by: Manuel Lauss \u003cmanuel.lauss@googlemail.com\u003e\nTo: Linux-MIPS \u003clinux-mips@linux-mips.org\u003e\nCc: linux-usb@vger.kernel.org\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nPatchwork: https://patchwork.linux-mips.org/patch/2709/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n\n create mode 100644 drivers/usb/host/alchemy-common.c\n"
    },
    {
      "commit": "29ea35969b92a4be122a58c4aceea8c5e2c388d9",
      "tree": "8285c0e98e7bb03868d390b58180e3cab876a8db",
      "parents": [
        "112d17d6f75b93e1dcaec2e2232a411148b3bf71",
        "b4cbb8a4e602ea77b0525d06eff89c6a6070dab3"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Oct 20 15:30:55 2011 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Oct 20 15:30:55 2011 +0200"
      },
      "message": "Merge branch \u0027imx/devel\u0027 into next/devel\n"
    },
    {
      "commit": "3a7655fcb210b349111251689d0a56b7250885ea",
      "tree": "b909f3f73d89d1af8807036a3922a19aca41b514",
      "parents": [
        "0f8fd43c42f2cc249943be76a4db0d058c16b6dc"
      ],
      "author": {
        "name": "Joachim Foerster",
        "email": "joachim.foerster@missinglinkelectronics.com",
        "time": "Wed Oct 19 14:18:41 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 19 13:29:06 2011 -0700"
      },
      "message": "usb/isp1760: Allow to optionally trigger low-level chip reset via GPIOLIB.\n\nProperly triggering the reset wire is necessary with the ISP1761 used\non Terasic DE4 Altera-FPGA boards using a NIOS2 processor, for example.\n\nThis is an optional implementation for the OF binding only. The other\nbindings just pass an invalid GPIO to the isp1760_register() routine.\n\nExample, usage in DTS:\n        gpios \u003d \u003c\u0026pio_isp1761rst_0 0 1\u003e;\nto point to a GPIO controller from within the ISP1761 node: GPIO 0, active low.\n\nSigned-off-by: Joachim Foerster \u003cjoachim.foerster@missinglinkelectronics.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "273d23574f9dacd9c63c80e7d63639a669aad441",
      "tree": "4b8b3ce22d6be8108be6b6069af35b1822aa9abc",
      "parents": [
        "55b5a624a0cc5aa4b350fd50d78cf3415f795bfe"
      ],
      "author": {
        "name": "Jerry Huang",
        "email": "r66093@freescale.com",
        "time": "Tue Oct 18 13:09:48 2011 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 18 13:51:34 2011 -0700"
      },
      "message": "QE/FHCI: fixed the CONTROL bug\n\nFor USB CONTROL transaction, when the data length is zero,\nthe IN package is needed to finish this transaction in status stage.\n\nSigned-off-by: Jerry Huang \u003cr66093@freescale.com\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "68aa95d5d4de31c9348c1628ffa85c805305ebc5",
      "tree": "7782dad26b9672be03b78a70cae1105f395dafe2",
      "parents": [
        "91960c2ef095c4b0744349e80a933921cbdcfd6e"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Oct 12 10:39:14 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 18 13:49:33 2011 -0700"
      },
      "message": "EHCI: workaround for MosChip controller bug\n\nThis patch (as1489) works around a hardware bug in MosChip EHCI\ncontrollers.  Evidently when one of these controllers increments the\nframe-index register, it changes the three low-order bits (the\nmicroframe counter) before changing the higher order bits (the frame\ncounter).  If the register is read at just the wrong time, the value\nobtained is too low by 8.\n\nWhen the appropriate quirk flag is set, we work around this problem by\nreading the frame-index register a second time if the first value\u0027s\nthree low-order bits are all 0.  This gives the hardware a chance to\nfinish updating the register, yielding the correct value.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nTested-by: Jason N Pitt \u003cjpitt@fhcrc.org\u003e\nCC: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8f5d621543cb064d2989fc223d3c2bc61a43981e",
      "tree": "953bda9d716594cc6ed1ba1359184b6055fccb9a",
      "parents": [
        "3687f641307eeff6f7fe31a88dc39db88e89238b"
      ],
      "author": {
        "name": "Joachim Foerster",
        "email": "joachim.foerster@missinglinkelectronics.com",
        "time": "Mon Oct 10 18:06:54 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 18 13:42:13 2011 -0700"
      },
      "message": "usb/isp1760: Let OF bindings depend on general CONFIG_OF instead of PPC_OF .\n\nTo be able to use the driver on other OF-aware architectures, too.\nAnd add necessary OF related #includes to fix compilation error.\n\nSigned-off-by: Joachim Foerster \u003cjoachim.foerster@missinglinkelectronics.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a8b43c00ef06aec49b9fe0a5bad8a6a320e4d27b",
      "tree": "9e66c2f3a5492efe30e9cb5fe120528eae86904d",
      "parents": [
        "48e8236114c12c5366e032fc517e1bd376369a56"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 06 15:35:43 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 18 13:42:07 2011 -0700"
      },
      "message": "USB: Fix runtime wakeup on OHCI\n\nAt least some OHCI hardware (such as the MCP89) fails to flag any change\nin the host status register or the port status registers when receiving\na remote wakeup while in D3 state. This results in the controller being\nresumed but no device state change being noticed, at which point the\ncontroller is put back to sleep again. Since there doesn\u0027t seem to be any\nreliable way to identify the state change, just unconditionally resume the\nhub. It\u0027ll be put back to sleep in the near future anyway if there are no\nactive devices attached to it.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "48e8236114c12c5366e032fc517e1bd376369a56",
      "tree": "40e410e90671bbbb7f25f5563d6cbe000797c263",
      "parents": [
        "fa3ae0c158c70e6cf227b3a194659ee7fed8c588"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Oct 06 11:54:23 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 18 13:42:06 2011 -0700"
      },
      "message": "xHCI/USB: Make xHCI driver have a BOS descriptor.\n\nTo add USB 3.0 link power management (LPM), we need to know what the U1\nand U2 exit latencies are for the xHCI host controller.  External USB 3.0\nhubs report these values through the SuperSpeed Capabilities descriptor in\nthe BOS descriptor.  Make the USB 3.0 roothub for the xHCI host behave\nlike an external hub and return the BOS descriptors.\n\nThe U1 and U2 exit latencies will vary across each host controller, so we\nneed to dynamically fill those values in by reading the exit latencies out\nof the xHC registers.  Make the roothub code in the USB core handle\nhub_control() returning the length of the data copied.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "034d7c13a79c67d3b52dd782d68e6c324613878a",
      "tree": "7fb097e30b0ac121450101da3f9ddfbb8f5f60a2",
      "parents": [
        "e2eddc6103c7f00a2a1a0dfe5fac494d039b099a"
      ],
      "author": {
        "name": "Kuninori Morimoto",
        "email": "kuninori.morimoto.gx@renesas.com",
        "time": "Mon Oct 10 22:07:40 2011 -0700"
      },
      "committer": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Thu Oct 13 20:41:52 2011 +0300"
      },
      "message": "usb: gadget: renesas_usbhs: add mod_host support\n\nThis is mod_host prototype support for renesas_usbhs driver.\nIt doesn\u0027t support USB-Hub, and USB-DMAC for now.\n\nSigned-off-by: Kuninori Morimoto \u003ckuninori.morimoto.gx@renesas.com\u003e\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n"
    },
    {
      "commit": "5c12e7856d75f68c1ca8372d6cc76cdbc71763c0",
      "tree": "e51e149490c5a7607a5f6d8f7e60b8082b657be3",
      "parents": [
        "a6eeeb9f45b5a417f574f3bc799b7122270bf59b"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Sep 26 11:25:26 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:58:18 2011 -0700"
      },
      "message": "USB: UHCI: improve comments and logic for root-hub suspend\n\nThis patch (as1488) improves the comments and logic in uhci-hcd\u0027s\nsuspend routine.  The existing comments are hard to understand and\ndon\u0027t give a good idea of what\u0027s really going on.\n\nThe question of whether EGSM (Enter Global Suspend Mode) and RD\n(enable Resume Detect interrupts) can be useful when they\u0027re not both\nset is difficult.  The spec doesn\u0027t give any details on how they\ninteract with system wakeup, although clearly they are meant to be\nused together.  To be safe, the patch changes the subroutine so that\nneither bit gets set unless they both do.  There shouldn\u0027t be any\nfunctional changes from this; only systems that are designed badly or\nbroken in some way need to avoid using those bits.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0cc47d547d7a482434926331265b3713381b1e60",
      "tree": "77530e02def9808bf064bdbe48e9fc339f4b832e",
      "parents": [
        "552e0c4f12fef0ad1caf21d2b57ac3a2735edef3"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Fri Sep 23 14:20:02 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:51:14 2011 -0700"
      },
      "message": "usb/xhci: remove CONFIG_PCI in xhci.c\u0027s probe function\n\nThis removes the need of ifdefs within the init function and with it the\nheadache about the correct clean without bus X but with bus/platform Y \u0026\nZ.\nxhci-pci is only compiled if CONFIG_PCI is selected which can be\nde-selected now without trouble. For now the result is kinda useless\nbecause we have no other glue code. However, since nobody is using\nUSB_ARCH_HAS_XHCI then it should not be an issue :)\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "552e0c4f12fef0ad1caf21d2b57ac3a2735edef3",
      "tree": "71d7e5c19bb4ec0a614e8249eea215c3171a65ec",
      "parents": [
        "da3c9c4fc5ff47da0febb7658c51d20d22e34f58"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Fri Sep 23 14:20:01 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:51:13 2011 -0700"
      },
      "message": "usb/xhci: move xhci_gen_setup() away from -pci.\n\nxhci_gen_setup() is generic so it can be used to perform the bare xhci\nsetup even on non-pci based platform. The typedef for the function\npointer is moved into the headerfile\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "da3c9c4fc5ff47da0febb7658c51d20d22e34f58",
      "tree": "41db0a25aaeb011851a8f8833dd3bcc73c65d1b4",
      "parents": [
        "22d45f01a836c2f5826b8b4b9e029e5f79afec57"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Fri Sep 23 14:20:00 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:51:13 2011 -0700"
      },
      "message": "usb/xhci: refactor xhci_pci_setup()\n\nxhci_pci_setup() is split into three pieces:\n\n- xhci_gen_setup()\n  The major remaining of xhci_pci_setup() is now containing the generic\n  part of the xhci setup. It allocates the xhci struct, setup\n  hcs_params? and friends, performs xhci_halt(), xhci_init and so one.\n  It also obtains the quirks via a callback\n- xhci_pci_quirks()\n  It checks the origin of the xhci core and sets core specific quirks.\n- xhci_pci_setup()\n  PCI specific setup functions. Besides calling xhci_gen_setup() with\n  xhci_pci_quirks() as an argument it performs PCI specific setup like\n  obtaining the address of sbrn via a PCI config space.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "22d45f01a836c2f5826b8b4b9e029e5f79afec57",
      "tree": "d7a8ea760ba9bf64c45beecc325d251e690d0111",
      "parents": [
        "421aa841a134f6a743111cf44d0c6d3b45e3cf8c"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Fri Sep 23 14:19:59 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:51:13 2011 -0700"
      },
      "message": "usb/xhci: replace pci_*_consistent() with dma_*_coherent()\n\npci_*_consistent() calls dma_*_coherent() with GFP_ATOMIC and requires\npci_dev struct. This is a preparion for later where we no longer have\nthe pci struct around.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "421aa841a134f6a743111cf44d0c6d3b45e3cf8c",
      "tree": "01be6ebd0ad752bac77c3b432cd3ee4b0050b4a8",
      "parents": [
        "3fd1ec58734e38a3f48776b6831ad0279d92d094"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Fri Sep 23 14:19:58 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:51:12 2011 -0700"
      },
      "message": "usb/xhci: hide MSI code behind PCI bars\n\nThe MSI related fuctionality requires a few structs which are not\navailable if CONFIG_PCI is not enabled. This is a prepartion to allow\nxhci be built without CONFIG_PCI set.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3fd1ec58734e38a3f48776b6831ad0279d92d094",
      "tree": "fc89e1e28394c202b69b5903094aa99414c35b25",
      "parents": [
        "7b7200098011a3f2b66f702b6fe47122cba585a3"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Fri Sep 23 14:19:57 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:51:12 2011 -0700"
      },
      "message": "usb/xhci: group MSI interrupt registration into its own function\n\nThis patch moves the complete MSI/MSI-X/Legacy dance into its own\nfunction. There is however one difference: If the XHCI_BROKEN_MSI flag\nis set then we don\u0027t free and register the irq, we simply return.\nThis is preparation for later PCI decouple.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7b7200098011a3f2b66f702b6fe47122cba585a3",
      "tree": "a4a9c603e9a63c16575a5d8ce2029f126c74b8a8",
      "parents": [
        "cd68176abf1098af83c968da274fe908eb7a8a72"
      ],
      "author": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Fri Sep 23 14:19:56 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:51:11 2011 -0700"
      },
      "message": "usb/host: introduce USB_ARCH_HAS_XHCI\n\nto make it look like OHCI and EHCI, we introduce\nthat symbol and USB_XHCI_HCD depend on that\ninstead of PCI.\n\n[bigeasy@linutronix.de: wire up USB_ARCH_HAS_HCD]\n\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "cd68176abf1098af83c968da274fe908eb7a8a72",
      "tree": "c0ba9ff393658c4c76f96c8b408d0aaa625d0b87",
      "parents": [
        "7e393a834b41001174a8fb3ae3bc23a749467760"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Fri Sep 23 14:19:55 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:51:11 2011 -0700"
      },
      "message": "xHCI: fix debug message\n\nFix the debug message in xhci_address_device().\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"
    },
    {
      "commit": "7e393a834b41001174a8fb3ae3bc23a749467760",
      "tree": "621a7e49bb94045c11b8b2efe9070c4bc2339e60",
      "parents": [
        "c1045e87b2cd293d53dff19779ea46b19195d593"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Fri Sep 23 14:19:54 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:51:11 2011 -0700"
      },
      "message": "xHCI: AMD isoc link TRB chain bit quirk\n\nSetting the chain (CH) bit in the link TRB of isochronous transfer rings\nis required by AMD 0.96 xHCI host controller to successfully transverse\nmulti-TRB TD that span through different memory segments.\n\nWhen a Missed Service Error event occurs, if the chain bit is not set in\nthe link TRB and the host skips TDs which just across a link TRB, the\nhost may falsely recognize the link TRB as a normal TRB. You can see\nthis may cause big trouble - the host does not jump to the right address\nwhich is pointed by the link TRB, but continue fetching the memory which\nis after the link TRB address, which may not even belong to the host,\nand the result cannot be predicted.\n\nThis causes some big problems. Without the former patch I sent: \"xHCI:\nprevent infinite loop when processing MSE event\", the system may hang.\nWith that patch applied, system does not hang, but the host still access\nwrong memory address and isoc transfer will fail. With this patch,\nisochronous transfer works as expected.\n\nThis patch should be applied to kernels as old as 2.6.36, which was when\nthe first isochronous support was added for the xHCI host controller.\n\nSigned-off-by: Andiry Xu \u003candiry.xu@amd.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "65580b4321eb36f16ae8b5987bfa1bb948fc5112",
      "tree": "12735f923ad670c405efb5ab34c188dc06ad15f7",
      "parents": [
        "9574323c39d1f8359a04843075d89c9f32d8b7e6"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Fri Sep 23 14:19:52 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:51:10 2011 -0700"
      },
      "message": "xHCI: set USB2 hardware LPM\n\nIf the device pass the USB2 software LPM and the host supports hardware\nLPM, enable hardware LPM for the device to let the host decide when to\nput the link into lower power state.\n\nIf hardware LPM is enabled for a port and driver wants to put it into\nsuspend, it must first disable hardware LPM, resume the port into U0,\nand then suspend the port.\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"
    },
    {
      "commit": "9574323c39d1f8359a04843075d89c9f32d8b7e6",
      "tree": "38514abe7e4485face5fa1fb081c4a51a6f300c7",
      "parents": [
        "fc71ff7583b14347fa1cb592b698f088ecff36e3"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Fri Sep 23 14:19:51 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:51:10 2011 -0700"
      },
      "message": "xHCI: test USB2 software LPM\n\nThis patch tests USB2 software LPM for a USB2 LPM-capable device.\n\nWhen a lpm-capable device is addressed, if the host also supports software\nLPM, apply a test by putting the device into L1 state and resume it to see\nif the device can do L1 suspend/resume successfully.\n\nIf the device fails to enter L1 or resume from L1 state, it may not\nfunction normally and usbcore may disconnect and re-enumerate it. In this\ncase, store the device\u0027s Vid and Pid information, make sure the host will\nnot test LPM for it twice.\n\nThe test result is per device/host. Some devices claim to be lpm-capable,\nbut fail to enter L1 or resume. So the test is necessary.\n\nThe xHCI 1.0 errata has modified the USB2.0 LPM implementation. It redefines\nthe HIRD field to BESL, and adds another register Port Hardware LPM Control\n(PORTHLPMC). However, this should not affect the LPM behavior on xHC which\ndoes not implement 1.0 errata.\n\nUSB2.0 LPM errata defines a new bit BESL in the device\u0027s USB 2.0 extension\ndescriptor. If the device reports it uses BESL, driver should use BESL\ninstead of HIRD for it.\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"
    },
    {
      "commit": "fc71ff7583b14347fa1cb592b698f088ecff36e3",
      "tree": "e10b2ea18dafac36f7da843c7d0d87cb0f2a8194",
      "parents": [
        "6fd4562178508a0949c9fdecd8558d8b10d671bd"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Fri Sep 23 14:19:51 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:51:09 2011 -0700"
      },
      "message": "xHCI: Check host USB2 LPM capability\n\nCheck the host\u0027s USB2 LPM capability.\n\nUSB2 software LPM support is optional for xHCI 0.96 hosts. xHCI 1.0 hosts\nshould support software LPM, and may support hardware LPM.\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"
    },
    {
      "commit": "6fd4562178508a0949c9fdecd8558d8b10d671bd",
      "tree": "b6fbf5ca061ddaf8f87dff84e4eee74f1fc899ee",
      "parents": [
        "d2f52c9e585bbb1a3c164e02b8dcd0d996c67353"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Fri Sep 23 14:19:50 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:51:09 2011 -0700"
      },
      "message": "xHCI: Clear PLC for USB2 root hub ports\n\nWhen the link state changes, xHC will report a port status change event\nand set the PORT_PLC bit, for both USB3 and USB2 root hub ports.\n\nThe PLC will be cleared by usbcore for USB3 root hub ports, but not for\nUSB2 ports, because they do not report USB_PORT_STAT_C_LINK_STATE in\nwPortChange.\n\nClear it for USB2 root hub ports in handle_port_status().\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"
    },
    {
      "commit": "d2f52c9e585bbb1a3c164e02b8dcd0d996c67353",
      "tree": "dbf01ea79e8d869e3ab3493cea8e2b1801d193bc",
      "parents": [
        "c9682dffceb4bb3bdf6df4c0c87c4b887b03f5b7"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Fri Sep 23 14:19:49 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:51:09 2011 -0700"
      },
      "message": "xHCI: test and clear RWC bit\n\nIntroduce xhci_test_and_clear_bit() to clear RWC bit in PORTSC register.\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"
    },
    {
      "commit": "c9682dffceb4bb3bdf6df4c0c87c4b887b03f5b7",
      "tree": "fe565d63db99160febc6824f091ba4217c5917c9",
      "parents": [
        "1ff4df56846d10379939166713bb2908e6a5ee0e"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Fri Sep 23 14:19:48 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:51:08 2011 -0700"
      },
      "message": "xHCI: set link state\n\nIntroduce xhci_set_link_state() to remove redundant codes.\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"
    },
    {
      "commit": "2093c6b49c8f1dc581d8953aca71297d4cace55e",
      "tree": "fef0517cff188ceab2e7fe4386999f6702670fcf",
      "parents": [
        "236c448cb6e7f82096101e1ace4b77f8b38f82c8"
      ],
      "author": {
        "name": "Matthieu CASTET",
        "email": "castet.matthieu@free.fr",
        "time": "Sat Jul 02 19:47:33 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:48:41 2011 -0700"
      },
      "message": "EHCI : introduce a common ehci_setup\n\nThis allow to clean duplicated code in most of SOC driver.\n\nSigned-off-by: Matthieu CASTET \u003ccastet.matthieu@free.fr\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: stable \u003cstable@kernel.org\u003e  # fixes 3.1 build error\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "27ccaaa507f6211afc277786d461d1884951d038",
      "tree": "0f67873afbf80e95da39ef76b60538af939b4384",
      "parents": [
        "0e6c7f746ea99089fb3263709075c20485a479ae"
      ],
      "author": {
        "name": "Kautuk Consul",
        "email": "consul.kautuk@gmail.com",
        "time": "Mon Sep 19 16:53:16 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Sep 20 12:40:32 2011 -0700"
      },
      "message": "xhci-mem.c: xhci_segment_free: No need for checking seg argument\n\nThe seg argument to xhci_segment_free is never passed as NULL, so\nno need to check for this in xhci_segment_free.\n\nSigned-off-by: Kautuk Consul \u003cconsul.kautuk@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"
    },
    {
      "commit": "0e6c7f746ea99089fb3263709075c20485a479ae",
      "tree": "3b453455362557f872562ffac17c1d055c1caa2d",
      "parents": [
        "10d674a82e553cb8a1f41027bb3c3e309b3f6804"
      ],
      "author": {
        "name": "Kautuk Consul",
        "email": "consul.kautuk@gmail.com",
        "time": "Mon Sep 19 16:53:12 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Sep 20 12:40:31 2011 -0700"
      },
      "message": "xhci-mem.c: Check for ring-\u003efirst_seg !\u003d NULL\n\nThere are 2 situations wherein the xhci_ring* might not get freed:\n- When xhci_ring_alloc() -\u003e xhci_segment_alloc() returns NULL and\n  we goto the fail: label in xhci_ring_alloc. In this case, the ring\n  will not get kfreed.\n- When the num_segs argument to xhci_ring_alloc is passed as 0 and\n  we try to free the rung after that.\n  ( This doesn\u0027t really happen as of now in the code but we seem to\n    be entertaining num_segs\u003d0 in xhci_ring_alloc )\n\nThis should be backported to kernels as old as 2.6.31.\n\nSigned-off-by: Kautuk Consul \u003cconsul.kautuk@gmail.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "2b69899934c63b7b9432568584fb4c4a2924f40c",
      "tree": "fd857f901beaf7c60b7015422aa5bc85e4a8eebe",
      "parents": [
        "170c026347c867a71e27713b98c58b266146c468"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Sep 13 16:41:13 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Sep 20 12:33:50 2011 -0700"
      },
      "message": "xhci: USB 3.0 BW checking.\n\nThe Intel Panther Point xHCI host tracks SuperSpeed endpoints in a\ndifferent way than USB 2.0/1.1 endpoints.  The bandwidth interval tables\nare not used, and instead the bandwidth is calculated in a very simple\nway.  Bandwidth for SuperSpeed endpoints is tracked individually in each\ndirection, since each direction has the full USB 3.0 bandwidth available.\n10% of the bus bandwidth is reserved for non-periodic transfers.\n\nThis checking would be more complex if we had USB 3.0 LPM enabled, because\nan additional latency for isochronous ping times need to be taken into\naccount.  However, we don\u0027t have USB 3.0 LPM support in Linux yet.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "170c026347c867a71e27713b98c58b266146c468",
      "tree": "de0b8e1855b93ecae7d6d6dfe3138c6228b5fb54",
      "parents": [
        "75d7cf72ab9fa01dc70877aa5c68e8ef477229dc"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Sep 13 16:41:12 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Sep 20 12:33:49 2011 -0700"
      },
      "message": "xhci: Fix mult base in endpoint bandwidth info.\n\nThe \"Mult\" bits in the SuperSpeed Endpoint Companion Descriptor are\nzero-based, and the xHCI host controller wants them to be zero-based in\nthe input context.  However, for the bandwidth math, we want them to be\none-based.  Fix this.\n\nFix the documentation about the endpoint bandwidth mult variable in the\nxhci.h file, which says it is zero-based.  Also fix the documentation\nabout num_packets, which is also one-based, not zero-based.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d78265992425ccb5753db9c56d9703c91b963e4b",
      "tree": "15123f4bc7c2dfd56559cbd4bba6165ebec70e94",
      "parents": [
        "45e1892e70b85d251b2e69f4122a04e509ebdf00"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Tue Sep 13 16:41:10 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Sep 20 12:33:49 2011 -0700"
      },
      "message": "usb/xhci: ignore xhci version while checking for the link quirk\n\ninstead of reading the xhci interface version each time _even_ if the\nquirk is not required, simply check if the quirk flag is set. This flag\nis only set of the module parameter is set and here is where I moved the\nversion check to.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c2d7b49f42f50d7fc5cbfd195b785a128723fdf4",
      "tree": "24bedd5bfe4a08fe49757c938b6c59aab9acfa7c",
      "parents": [
        "44f4c3ed60fb21e1d2dd98304390ac121e6c7c6d"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Mon Sep 19 16:05:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 19 17:15:47 2011 -0700"
      },
      "message": "USB: xHCI: prevent infinite loop when processing MSE event\n\nWhen a xHC host is unable to handle isochronous transfer in the\ninterval, it reports a Missed Service Error event and skips some tds.\n\nCurrently xhci driver handles MSE event in the following ways:\n\n1. When encounter a MSE event, set ep-\u003eskip flag, update event ring\n   dequeue pointer and return.\n\n2. When encounter the next event on this ep, the driver will run the\n   do-while loop, fetch td from ep\u0027s td_list to find the td\n   corresponding to this event.  All tds missed are marked as short\n   transfer(-EXDEV).\n\nThe do-while loop will end in two ways:\n\n1. If the td pointed by the event trb is found;\n\n2. If the ep ring\u0027s td_list is empty.\n\nHowever, if a buggy HW reports some unpredicted event (for example, an\noverrun event following a MSE event while the ep ring is actually not\nempty), the driver will never find the td, and it will loop until the\ntd_list is empty.\n\nUnfortunately, the spinlock is dropped when give back a urb in the\ndo-while loop.  During the spinlock released period, the class driver\nmay still submit urbs and add tds to the td_list.  This may cause\ndisaster, since the td_list will never be empty and the loop never ends,\nand the system hangs.\n\nTo fix this, count the number of TDs on the ep ring before skipping TDs,\nand quit the loop when skipped that number of tds.  This guarantees the\ndo-while loop will end after certain number of cycles, and driver will\nnot be trapped in an infinite loop.\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\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "44f4c3ed60fb21e1d2dd98304390ac121e6c7c6d",
      "tree": "b4571bd2b1e671784ebdddc29d025e40eed6136c",
      "parents": [
        "c19cc78efe922e86da7ba694dbfc4be066dd7eb4"
      ],
      "author": {
        "name": "Greg KH",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 19 16:05:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 19 17:15:46 2011 -0700"
      },
      "message": "USB: xhci: Set change bit when warm reset change is set.\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\nCc: stable@kernel.org\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b5dd18d8747010e3f3eb1cc76a49f94291938559",
      "tree": "24ad7002204ff4642454ba546a8a1156231914d7",
      "parents": [
        "41f05dedeabb0e2cb03734de383db3f0ddecf9e0"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Wed Sep 07 16:10:52 2011 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Sep 18 01:39:36 2011 -0700"
      },
      "message": "USB: irq: Remove IRQF_DISABLED\n\nThis flag is a NOOP and can be removed now.\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "41f05dedeabb0e2cb03734de383db3f0ddecf9e0",
      "tree": "9e28a190d069c765bb52135773bbf3639734180e",
      "parents": [
        "fcda37cb42cc0aa039a2d1e06ec801e4e9f417f4"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Mon Sep 05 21:05:58 2011 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Sep 18 01:38:59 2011 -0700"
      },
      "message": "usb: ehci: remove the 1st wmb in qh_append_tds\n\nAccording to ehci spec 4.10.2, Advance Queue\n\n\tIf the fetched qTD has its Active bit set to a zero, the\n\thost controller aborts the queue advance and follows the\n\tqueue head\u0027s horizontal pointer to the next schedule data\n\tstructure.\n\nthe \u0027qtd\u0027 will be linked into qh hardware queue after the line\nbelow\n\n\t*dummy \u003d *qtd;\n\nis executed and observed by EHCI HC, but EHCI HC won\u0027t have chance to\nfetch the qtd descriptor pointed by \u0027qtd\u0027 in qh_append_tds until the\nline below\n\n\tdummy-\u003ehw_token \u003d token;\t#set Active bit here\n\nis executed by CPU and observed by EHCI HC.\n\nThere is already one \u0027wmb\u0027 to order writing to \u0027dummy\u0027/\u0027qtd\u0027 descriptors\nand writing \u0027token\u0027 to \u0027dummy\u0027 descriptor(set Active bit), so the 1st\nwmb is not needed and can be removed.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "fcda37cb42cc0aa039a2d1e06ec801e4e9f417f4",
      "tree": "40db781a1ef2297d67ad230b2ff4670854003062",
      "parents": [
        "9a971dda8208e0982094f29ef34bd190f2a081bd"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Mon Sep 05 21:05:57 2011 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Sep 18 01:38:59 2011 -0700"
      },
      "message": "usb: ehci: fix comment for EHCI_SHRINK_JIFFIES\n\nEHCI_SHRINK_JIFFIES should be 5ms, which was just used originally,\nand not 200ms, so fix it.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "9a971dda8208e0982094f29ef34bd190f2a081bd",
      "tree": "e80657b8493ba68235751781ab9b0c4411428827",
      "parents": [
        "0412560e18b4330366653819c0c5e73a743ff7e8"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Mon Sep 05 21:05:56 2011 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Sep 18 01:38:59 2011 -0700"
      },
      "message": "usb: ehci: only prepare zero packet for out transfer if required\n\nObviously, ZLP is only required for transfer of OUT direction,\nso just take same policy with UHCI for ZLP packet.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0412560e18b4330366653819c0c5e73a743ff7e8",
      "tree": "54aca044ee2ba5685a84135e5a61eeae337b89c2",
      "parents": [
        "65e52f41fa944cef2e6d4222b8c54f46cc575214"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Mon Sep 05 21:05:55 2011 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Sep 18 01:38:59 2011 -0700"
      },
      "message": "usb: ehci: remove wmb in qh_update\n\nqh_refresh is always called when the qh is idle and has not been\nlinked into hardware queue, so EHCI will not access overlay of\nthe qh at this time. Just before linking qh into hardware queue, there\nhas already one wmb to order writing qh descriptor and writing dma\naddress of the qh into hardware queue, so HC can always see\nup-to-date qh descriptor once the qh is fetched with its dma address\nby EHCI.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "aa6e52a35d388e730f4df0ec2ec48294590cc459",
      "tree": "6286c7b93ea25e69bd242e7c4875ce6886a45a7e",
      "parents": [
        "e7da859e424ccc30d2ef87dbabf655ad3d59f291"
      ],
      "author": {
        "name": "Thomas Petazzoni",
        "email": "thomas.petazzoni@free-electrons.com",
        "time": "Wed Jul 13 11:29:17 2011 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Sep 10 23:03:13 2011 +0200"
      },
      "message": "at91: at91-ohci: support overcurrent notification\n\nSeveral USB power switches (AIC1526 or MIC2026) have a digital output\nthat is used to notify that an overcurrent situation is taking\nplace. This digital outputs are typically connected to GPIO inputs of\nthe processor and can be used to be notified of those overcurrent\nsituations.\n\nTherefore, we add a new overcurrent_pin[] array in the at91_usbh_data\nstructure so that boards can tell the AT91 OHCI driver which pins are\nused for the overcurrent notification, and an overcurrent_supported\nboolean to tell the driver whether overcurrent is supported or not.\n\nThe code has been largely borrowed from ohci-da8xx.c and\nohci-s3c2410.c.\n\nSigned-off-by: Thomas Petazzoni \u003cthomas.petazzoni@free-electrons.com\u003e\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\n"
    },
    {
      "commit": "e7da859e424ccc30d2ef87dbabf655ad3d59f291",
      "tree": "e59f994cbaa45322bef762014190160b28f23e77",
      "parents": [
        "0af4316babb64c6703c113a89462ff7843767f24"
      ],
      "author": {
        "name": "Thomas Petazzoni",
        "email": "thomas.petazzoni@free-electrons.com",
        "time": "Wed Jul 13 11:29:16 2011 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Sep 10 23:03:13 2011 +0200"
      },
      "message": "at91: ohci-at91: add vbus_pin_inverted platform attribute\n\nThe existing OHCI AT91 driver made the assumption that the enable\ninput of the USB power switch was active low. However, some USB power\nswitches such as the Micrel MIC2026-1 [1] have an active high input to\nenable the power. A new vbus_pin_inverted attribute is added to the\nat91_usbh_data structure so that board files can tell the OHCI driver\nif the vbus pin logic is active low or active high.\n\n[1] http://www.micrel.com/page.do?page\u003dproduct-info/products/mic2026.shtml\n\nSigned-off-by: Thomas Petazzoni \u003cthomas.petazzoni@free-electrons.com\u003e\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\n"
    },
    {
      "commit": "0af4316babb64c6703c113a89462ff7843767f24",
      "tree": "0e35e9edb39662572649ebcbe71c96017017ecf3",
      "parents": [
        "c6a389f123b9f68d605bb7e0f9b32ec1e3e14132"
      ],
      "author": {
        "name": "Jean-Christophe PLAGNIOL-VILLARD",
        "email": "plagnioj@jcrosoft.com",
        "time": "Tue Aug 30 03:29:28 2011 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Sep 10 23:03:13 2011 +0200"
      },
      "message": "at91: ohci-at91: always provide all the clocks\n\nRemove the cpu_is_at91xxxx() macros in the ohci-at91 driver.\nSoCs at91sam9261 and at91sam9g10 expect one additional clock: hck0.\n\nSigned-off-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\n"
    },
    {
      "commit": "73ddc2474bcc5234fa0a4e406e015ed16d16b6c8",
      "tree": "f88ed812a1bf5bb659f4d13a88a7565f29081fbb",
      "parents": [
        "2ffdea25f054439c31c24b248faa647685280571"
      ],
      "author": {
        "name": "sifram.rajas@gmail.com",
        "email": "sifram.rajas@gmail.com",
        "time": "Fri Sep 02 11:06:00 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 09 15:52:54 2011 -0700"
      },
      "message": "xhci: Redundant check in xhci_check_args for xhci-\u003edevs\n\nThe xhci_hcd-\u003edevs is an array of pointers rather than pointer to pointer.\nHence this check is not required.\n\nSigned-off-by: Sifram Rajas \u003cSifram Rajas sifram.rajas@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"
    },
    {
      "commit": "2ffdea25f054439c31c24b248faa647685280571",
      "tree": "e15603e52db3cd197642fccc115bc58abb4185bb",
      "parents": [
        "fd984d242afbe13bd94c60b6754feda93be69bd7"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Fri Sep 02 11:05:57 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 09 15:52:54 2011 -0700"
      },
      "message": "xHCI: refine td allocation\n\nIn xhci_urb_enqueue(), allocate a block of memory for all the TDs instead\nof allocating memory for each of them separately. This reduces the number\nof kzalloc calling when an isochronous usb is submitted.\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"
    },
    {
      "commit": "fd984d242afbe13bd94c60b6754feda93be69bd7",
      "tree": "52b13a5ac5e2036e5de68bc89aa9a5316ec73479",
      "parents": [
        "86cc558ea52b123d7657e609557d60dc121eedd6"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Sep 02 11:05:56 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 09 15:52:54 2011 -0700"
      },
      "message": "xhci: Don\u0027t print short isoc packets.\n\nNow that the xHCI driver always return a status value of zero for isochronous\nURBs, when the last TD of an isochronous URB is short, the local variable\n\"status\" stays set to -EINPROGRESS.  When xHCI driver debugging is turned on,\nthis causes the log file to fill with messages like this:\n\n[   38.859282] xhci_hcd 0000:00:14.0: Giveback URB ffff88013ad47800, len \u003d 1408, expected \u003d 580, status \u003d -115\n\nDon\u0027t print out the status of an URB for isochronous URBs.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "86cc558ea52b123d7657e609557d60dc121eedd6",
      "tree": "42d4cb5cf781c35c310f0b2d5626ef831335aa7d",
      "parents": [
        "c29eea621900f18287d50519f72cb9113746d75a"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Sep 02 11:05:54 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 09 15:52:53 2011 -0700"
      },
      "message": "xhci: Add software BW checking quirk to Intel PPT xHCI\n\nThe xHCI host controller in the Intel Panther Point chipset needs to have\nsoftware check whether new devices will fit in the available bus\nbandwidth.  Activate the software bandwidth checking quirk when we find\nthe right PCI device.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c29eea621900f18287d50519f72cb9113746d75a",
      "tree": "ad5b4d4e43cba9f9785b23ab6167c271e2b45f42",
      "parents": [
        "2e27980e6eb78114c4ecbaad1ba71836e3887d18"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Sep 02 11:05:52 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 09 15:52:53 2011 -0700"
      },
      "message": "xhci: Implement HS/FS/LS bandwidth checking.\n\nNow that we have a bandwidth interval table per root port or TT that\ndescribes the endpoint bandwidth information, we can finally use it to\ncheck whether the bus bandwidth is oversubscribed for a new device\nconfiguration/alternate interface setting.\n\nThe complication for this algorithm is that the bit of hardware logic that\ncreates the bus schedule is only 12-bit logic.  In order to make sure it\ncan represent the maximum bus bandwidth in 12 bits, it has to convert the\nendpoint max packet size and max esit payload into \"blocks\" (basically a\nless-precise representation).  The block size for each speed of device is\ndifferent, aside from low speed and full speed.  In order to make sure we\ndon\u0027t allow a setup where the scheduler might fail, we also have to do the\nbandwidth checking in blocks.\n\nAfter checking that the endpoints fit in the schedule, we store the\nbandwidth used for this root port or TT.  If this is a FS/LS device under\nan external HS hub, we also update the TT bandwidth and the root port\nbandwidth (if this is a newly activated or deactivated TT).\n\nI won\u0027t go into the details of the algorithm, as it\u0027s pretty well\ndocumented in the comments.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "2e27980e6eb78114c4ecbaad1ba71836e3887d18",
      "tree": "f87552d67d6a23090ceb97868f7857ccf2ce6f97",
      "parents": [
        "9af5d71d8e1fc404ad2ac1b568dafa1a2f9b3be2"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Sep 02 11:05:50 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 09 15:52:53 2011 -0700"
      },
      "message": "xhci: Track interval bandwidth tables per port/TT.\n\nIn order to update the root port or TT\u0027s bandwidth interval table, we will\nneed to keep track of a list of endpoints, per interval.  That way we can\neasily know the new largest max packet size when we have to remove an\nendpoint.\n\nAdd an endpoint list for each root port or TT structure, sorted by\nendpoint max packet size.  Insert new endpoints into the list such that\nthe head of the list always has the endpoint with the greatest max packet\nsize.  Only insert endpoints and update the interval table with new\ninformation when those endpoints are periodic.\n\nMake sure to update the number of active TTs when we add or drop periodic\nendpoints.  A TT is only considered active if it has one or more periodic\nendpoints attached (control and bulk are best effort, and counted in the\n20% reserved on the high speed bus).  If the number of active endpoints\nfor a TT was zero, and it\u0027s now non-zero, increment the number of active\nTTs for the rootport.  If the number of active endpoints was non-zero, and\nit\u0027s now zero, decrement the number of active TTs.\n\nWe have to be careful when we\u0027re checking the bandwidth for a new\nconfiguration/alt setting.  If we don\u0027t have enough bandwidth, we need to\nbe able to \"roll back\" the bandwidth information stored in the endpoint\nand the root port/TT interval bandwidth table.  We can\u0027t just create a\ncopy of the interval bandwidth table, modify it, and check the bandwidth\nwith the copy because we have lists of endpoints and entries can\u0027t be on\nmore than one list.  Instead, we copy the old endpoint bandwidth\ninformation, and use it to revert the interval table when the bandwidth\ncheck fails.\n\nWe don\u0027t check the bandwidth after endpoints are dropped from the interval\ntable when a device is reset or freed after a disconnect, because having\nendpoints use less bandwidth should not push the bandwidth usage over the\nlimits.  Besides which, we can\u0027t fail a device disconnect.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "9af5d71d8e1fc404ad2ac1b568dafa1a2f9b3be2",
      "tree": "d3f3732ada05aaef7ffb76cfbc5d849b0fc421ac",
      "parents": [
        "839c817ce67178ca3c7c7ad534c571bba1e69ebe"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Sep 02 11:05:48 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 09 15:52:53 2011 -0700"
      },
      "message": "xhci: Store endpoint bandwidth information.\n\nIn the upcoming patches, we\u0027ll use some stored endpoint information to\nmake software keep track of the worst-case bandwidth schedule.  We need to\nstore several variables associated with each periodic endpoint:\n - the type of endpoint\n - Max Packet Size\n - Mult\n - Max ESIT payload\n - Max Burst Size (aka number of packets, stored in one-based form)\n - the endpoint interval (normalized to powers of 2 microframes)\n\nAll this information is available to the hardware, and stored in its\ndevice output context.  However, we need to ensure that the new\ninformation is stored before the xHCI driver drops the xhci-\u003elock to wait\non the Configure Endpoint command, so that another driver requesting a\nconfiguration or alt setting change will see the update.  The Configure\nEndpoint command will never fail on the hardware that needs this software\nbandwidth checking (assuming the slot is enabled and the flags are set\nproperly), so updating the endpoint info before the command completes\nshould be fine.\n\nUntil we add in the bandwidth checking code, just update the endpoint\ninformation after the Configure Endpoint command completes, and after a\nReset Device command completes.  Don\u0027t bother to clear the endpoint\nbandwidth info when a device is being freed, since the xhci_virt_ep is\njust going to be freed anyway.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "839c817ce67178ca3c7c7ad534c571bba1e69ebe",
      "tree": "dcf27811dfebe7fcad0a91885744552d0065cdb2",
      "parents": [
        "66381755442189bbeb15f1a51b1e0059327d84ed"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Sep 02 11:05:47 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 09 15:52:53 2011 -0700"
      },
      "message": "xhci: Store information about roothubs and TTs.\n\nFor upcoming patches, we need to keep information about the bandwidth\ndomains under the xHCI host.  Each root port is a separate primary\nbandwidth domain, and each high speed hub\u0027s TT (and potentially each port\non a multi-TT hub) is a secondary bandwidth domain.\n\nIf the table were in text form, it would look a bit like this:\n\nEP Interval\tSum of Number\tLargest Max\tMax Packet\n\t\tof Packets\tPacket Size\tOverhead\n\t0\t   N\t\t   mps\t\t  overhead\n...\n\t15\t   N\t\t   mps\t\t  overhead\n\nOverhead is the maximum packet overhead (for bit stuffing, CRC, protocol\noverhead, etc) for all the endpoints in this interval.  Devices with\ndifferent speeds have different max packet overhead.  For example, if\nthere is a low speed and a full speed endpoint that both have an interval\nof 3, we would use the higher overhead (the low speed overhead).  Interval\n0 is a bit special, since we really just want to know the sum of the max\nESIT payloads instead of the largest max packet size.  That\u0027s stored in\nthe interval0_esit_payload variable.  For root ports, we also need to keep\ntrack of the number of active TTs.\n\nFor each root port, and each TT under a root port, store some information\nabout the bandwidth consumption.  Dynamically allocate an array of root\nport bandwidth information for the number of root ports on the xHCI host.\nEach root port stores a list of TTs under the root port.  A single TT hub\nonly has one entry in the list, but a multi-TT hub will have an entry per\nport.\n\nWhen the USB core says that a USB device is a hub, create one or more\nentries in the root port TT list for the hub.  When a device is deleted,\nand it is a hub, search through the root port TT list and delete all\nTT entries for the hub.  Keep track of which TT entry is associated with a\ndevice under a TT.\n\nLS/FS devices attached directly to the root port will have usb_device-\u003ett\nset to the roothub.  Ignore that, and treat it like a primary bandwidth\ndomain, since there isn\u0027t really a high speed bus between the roothub and\nthe host.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "66381755442189bbeb15f1a51b1e0059327d84ed",
      "tree": "0c14d91d8cc991c2185d00779fea13b222577b4f",
      "parents": [
        "750645f8a6543ff4deb4d98a0052000a31fdd43f"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Sep 02 11:05:45 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 09 15:52:53 2011 -0700"
      },
      "message": "xhci: Store the \"real\" root port number.\n\nSince the xHCI driver now has split USB2/USB3 roothubs, devices under each\nroothub can have duplicate \"fake\" port numbers.  For the next set of\npatches, we need to keep track of the \"real\" port number that the xHCI\nhost uses to index into the port status arrays.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "750645f8a6543ff4deb4d98a0052000a31fdd43f",
      "tree": "c7fa8c9f5ec211012a7151384a5b8f4f8aaf8260",
      "parents": [
        "fe30182c2553f491e5dc12074c8e52163d3bfbc7"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Sep 02 11:05:43 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 09 15:52:53 2011 -0700"
      },
      "message": "xhci: Refactor endpoint limit checking.\n\nMove the code to check whether we\u0027ve reached the host controller\u0027s limit\non the number of endpoints out of the two conditional statements, to\nremove duplicate code.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "fe30182c2553f491e5dc12074c8e52163d3bfbc7",
      "tree": "69b24ddcf5f49db3854035350da06dcb6697205d",
      "parents": [
        "2dc3753997f3c80ce8b950242ab9bb3fb936acfd"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Sep 02 11:05:41 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 09 15:52:52 2011 -0700"
      },
      "message": "xhci: Rename virt_dev-\u003eport to fake_port.\n\nThe \"port\" field in xhci_virt_dev stores the port number associated with\none of the two xHCI split roothubs, not the unique port number the xHCI\nhardware uses.  Since we\u0027ll need to store the real hardware port number in\nfuture patches, rename this field to \"fake_port\".\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "2dc3753997f3c80ce8b950242ab9bb3fb936acfd",
      "tree": "7049f9ac05154fc4cad5c2606ce55c2a61abdb53",
      "parents": [
        "6ed962a208cb72cff29a107d6c73247526017ddb"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Sep 02 11:05:40 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Sep 09 15:52:52 2011 -0700"
      },
      "message": "xhci: If no endpoints changed, don\u0027t issue BW command.\n\nSome alternate interface settings have no endpoints associated with them.\nThis shows up in some USB webcams, particularly the Logitech HD 1080p,\nwhich uses the uvcvideo driver.  If a driver switches between two alt\nsettings with no endpoints, there is no need to issue a configure endpoint\ncommand, because there is no endpoint information to update.\n\nThe only time a configure endpoint command with just the add slot flag set\nmakes sense is when the driver is updating hub characteristics in the slot\ncontext.  However, that code never calls xhci_check_bandwidth, so we\nshould be safe not issuing a command if only the slot context add flag is\nset.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6ed962a208cb72cff29a107d6c73247526017ddb",
      "tree": "2bd574d8ab1db79b369735ba0519a66760019189",
      "parents": [
        "c6a389f123b9f68d605bb7e0f9b32ec1e3e14132",
        "55a46269ccedec140e2487a2344e8a247d48b385"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 29 08:56:17 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 29 08:56:17 2011 -0700"
      },
      "message": "Merge 3.1-rc4 into usb-next\n\nThis was done to resolve a conflict in this file:\n\tdrivers/usb/host/xhci-ring.c\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5de9ec4dc10e1a39b924fb165bcb3ddb6e8e6525",
      "tree": "a79faa711db012e05a00c5fccc650fc0d17bcf5d",
      "parents": [
        "2e5a08a3693e4c5bd251afc13246bc86fc9fafc3"
      ],
      "author": {
        "name": "Sascha Hauer",
        "email": "s.hauer@pengutronix.de",
        "time": "Wed Aug 24 08:41:10 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Aug 24 15:06:54 2011 -0700"
      },
      "message": "USB host i.MX21: remove dependency on MACH_MX21\n\nthe MACH_MX* macros are scheduled for removal, so just depend\non ARCH_MXC instead. The Kconfig text makes it clear on which\nSoC the driver runs on.\n\nSigned-off-by: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "29cc88979a8818cd8c5019426e945aed118b400e",
      "tree": "849401ad869d09ce45dd7a3fadd7eb71b1e9fcbd",
      "parents": [
        "46a57283e86c68351377ac3349f1465aee938fbd"
      ],
      "author": {
        "name": "Kuninori Morimoto",
        "email": "kuninori.morimoto.gx@renesas.com",
        "time": "Tue Aug 23 03:12:03 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 23 09:47:40 2011 -0700"
      },
      "message": "USB: use usb_endpoint_maxp() instead of le16_to_cpu()\n\nNow ${LINUX}/drivers/usb/* can use usb_endpoint_maxp(desc) to get maximum packet size\ninstead of le16_to_cpu(desc-\u003ewMaxPacketSize).\nThis patch fix it up\n\nCc: Armin Fuerst \u003cfuerst@in.tum.de\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Johannes Erdfelt \u003cjohannes@erdfelt.com\u003e\nCc: Vojtech Pavlik \u003cvojtech@suse.cz\u003e\nCc: Oliver Neukum \u003coliver@neukum.name\u003e\nCc: David Kubicek \u003cdave@awk.cz\u003e\nCc: Johan Hovold \u003cjhovold@gmail.com\u003e\nCc: Brad Hards \u003cbhards@bigpond.net.au\u003e\nAcked-by: Felipe Balbi \u003cbalbi@ti.com\u003e\nCc: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nCc: Thomas Dahlmann \u003cdahlmann.thomas@arcor.de\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: David Lopo \u003cdlopo@chipidea.mips.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Michal Nazarewicz \u003cm.nazarewicz@samsung.com\u003e\nCc: Xie Xiaobo \u003cX.Xie@freescale.com\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Jiang Bo \u003ctanya.jiang@freescale.com\u003e\nCc: Yuan-hsin Chen \u003cyhchen@faraday-tech.com\u003e\nCc: Darius Augulis \u003caugulis.darius@gmail.com\u003e\nCc: Xiaochen Shen \u003cxiaochen.shen@intel.com\u003e\nCc: Yoshihiro Shimoda \u003cyoshihiro.shimoda.uh@renesas.com\u003e\nCc: OKI SEMICONDUCTOR, \u003ctoshiharu-linux@dsn.okisemi.com\u003e\nCc: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nCc: Ben Dooks \u003cben@simtec.co.uk\u003e\nCc: Thomas Abraham \u003cthomas.ab@samsung.com\u003e\nCc: Herbert Pötzl \u003cherbert@13thfloor.at\u003e\nCc: Arnaud Patard \u003carnaud.patard@rtp-net.org\u003e\nCc: Roman Weissgaerber \u003cweissg@vienna.at\u003e\nAcked-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: Tony Olech \u003ctony.olech@elandigitalsystems.com\u003e\nCc: Florian Floe Echtler \u003cechtler@fs.tum.de\u003e\nCc: Christian Lucht \u003clucht@codemercs.com\u003e\nCc: Juergen Stuber \u003cstarblue@sourceforge.net\u003e\nCc: Georges Toth \u003cg.toth@e-biz.lu\u003e\nCc: Bill Ryder \u003cbryder@sgi.com\u003e\nCc: Kuba Ober \u003ckuba@mareimbrium.org\u003e\nCc: Inaky Perez-Gonzalez \u003cinaky.perez-gonzalez@intel.com\u003e\nSigned-off-by: Kuninori Morimoto \u003ckuninori.morimoto.gx@renesas.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "39eb4ed556c145f35059c59144192d8ee32ceaa5",
      "tree": "786f01f4bcbaff9f7a5081b8b22380fae01f8a10",
      "parents": [
        "74ad60292bf0108de9884c531d7ec3f65c206230"
      ],
      "author": {
        "name": "Joakim Tjernlund",
        "email": "Joakim.Tjernlund@transmode.se",
        "time": "Tue Aug 23 15:23:46 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 23 09:47:39 2011 -0700"
      },
      "message": "usb: fhci-hcd: Allocate pram dynamically.\n\nMPC832x does not have enough MURAM to do fixed MURAM allocation.\nChange to dynamic allocation.\n\nSigned-off-by: Joakim Tjernlund \u003cJoakim.Tjernlund@transmode.se\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "74ad60292bf0108de9884c531d7ec3f65c206230",
      "tree": "3796b48b5232ec8cb66da04f86e677edeb446070",
      "parents": [
        "d80cba6c53621ecdd768035f2988dc99addf12c2"
      ],
      "author": {
        "name": "Arvid Brodin",
        "email": "arvid.brodin@enea.com",
        "time": "Tue Aug 23 01:25:30 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 17:05:27 2011 -0700"
      },
      "message": "usb/isp1760: Clear TT buffer on interrupted low \u0026 full speed transfers\n\nWhen a low or full speed urb in progress is unlinked (or some other error\noccurs), the buffer in the transaction translator (part of the hub) might end\nup in an inconsistent state. This can make all further low and full speed\ntransactions fail, unless the buffer is cleared.\n\nThe bug can be seen when running the usbtest unlink tests as \"set altsetting\nto 0 failed, -110\", and gets fixed by this patch.\n\nSigned-off-by: Arvid Brodin \u003carvid.brodin@enea.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d80cba6c53621ecdd768035f2988dc99addf12c2",
      "tree": "0c0e14af15129d3c9d48694b4ac9f7b2c2b128c3",
      "parents": [
        "e18a99e28fe308f0028be8644418a1ac653a2a96"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Mon Aug 22 16:00:35 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 16:07:40 2011 -0700"
      },
      "message": "drivers/usb/host/ohci-omap3.c: test the just-initialized value\n\nTest the just-initialized value rather than some other one.\n\nThe semantic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@r@\nidentifier x,y,f!\u003d{PTR_ERR,ERR_PTR,ERR_CAST};\nstatement S;\n@@\n\nx \u003d f(...);\n(\nif (\\(x \u003d\u003d NULL\\|IS_ERR(x)\\)) S\n|\n*if (\\(y \u003d\u003d NULL\\|IS_ERR(y)\\))\n { ... when !\u003d x\n   return ...; }\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e8799906045302776b35b66b16495c575db3b69c",
      "tree": "e6b5a76bd13ef0a9df24f7a7c8c1e924c0efcedb",
      "parents": [
        "dfd8c81fd1c09c740140a2334669994d5c6edcaa"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Aug 18 16:31:30 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 15:57:01 2011 -0700"
      },
      "message": "USB: EHCI: remove usages of hcd-\u003estate\n\nThis patch (as1483) improves the ehci-hcd driver family by getting rid\nof the reliance on the hcd-\u003estate variable.  It has no clear owner and\nit isn\u0027t protected by the usual HCD locks.  In its place, the patch\nadds a new, private ehci-\u003erh_state field to record the state of the\nroot hub.\n\nAlong the way, the patch removes a couple of lines containing\nredundant assignments to the state variable.  Also, the QUIESCING\nstate simply gets changed to the RUNNING state, because the driver\ndoesn\u0027t make any distinction between them.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Jingoo Han \u003cjg1.han@samsung.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "23106343db66171c94ae486d2035478ec575b228",
      "tree": "10d40f1a8e9148f23ab3cc58fc4d2dc3784bd542",
      "parents": [
        "3abd7f68b28dcf6394c71c998376fc7bc92342c4"
      ],
      "author": {
        "name": "Jayachandran C",
        "email": "jayachandranc@netlogicmicro.com",
        "time": "Fri Aug 05 01:28:22 2011 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 15:54:38 2011 -0700"
      },
      "message": "usb: OHCI/EHCI support for Netlogic XLS processor.\n\nAdd supprt for on-chip USB controller for Netlogic XLS MIPS64\nSoC processor family.\nChanges are:\n - update ehci-hcd.c and ohci-hcd.c to add XLS hcds\n - add ehci-xls.c: EHCI support for Netlogic XLS.\n - add ohci-xls.c: OHCI support for Netlogic XLS.\n\nSigned-off-by: Jayachandran C \u003cjayachandranc@netlogicmicro.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3abd7f68b28dcf6394c71c998376fc7bc92342c4",
      "tree": "31bda72bb574ba7766607ab19f3b2d121fc45808",
      "parents": [
        "7a01f496c5218d98ea4542f74fccb60c23b6185c"
      ],
      "author": {
        "name": "Tanmay Upadhyay",
        "email": "tanmay.upadhyay@einfochips.com",
        "time": "Wed Jul 20 10:00:58 2011 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 15:38:30 2011 -0700"
      },
      "message": "USB: pxa168: Add onchip USB host controller support\n\n- Add EHCI Host controller driver\n- Add wrapper that creates resources for host controller driver\n\nv2 - Call clk_put() after clk_disable() in probe function\n\nSigned-off-by: Tanmay Upadhyay \u003ctanmay.upadhyay@einfochips.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7a01f496c5218d98ea4542f74fccb60c23b6185c",
      "tree": "135b3f0f97a6edbb4d4a3a11b8ec63c914e09744",
      "parents": [
        "6477acc0814fc7aadfe3d723d2596fb4eb6d1732"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@distanz.ch",
        "time": "Wed Jul 27 08:57:25 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 15:34:26 2011 -0700"
      },
      "message": "usb: isp1362-hcd: Quieten printks\n\nThese messages just clutter the log and provide no useful information to\nthe user, so make them pr_debug().\n\nSigned-off-by: Tobias Klauser \u003ctklauser@distanz.ch\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6477acc0814fc7aadfe3d723d2596fb4eb6d1732",
      "tree": "58246dfcdaf790e3f29c99f95a38faa0639a2bfd",
      "parents": [
        "38679b720014d89b192c38d4c604f5a718b9788d"
      ],
      "author": {
        "name": "Arvid Brodin",
        "email": "arvid.brodin@enea.com",
        "time": "Sun Aug 21 08:29:28 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 15:32:46 2011 -0700"
      },
      "message": "usb/isp1760: Fix problems that trigger WARNING at line 1136.\n\n1) A bug in the usage of time_after() in errata2_function().\n\n2) Clear done_maps just prior to starting a new transfer in\n   start_bus_transfer(), instead of just after, when done_map bits might have\n   been validly set by the started transfer.\n\nSigned-off-by: Arvid Brodin \u003carvid.brodin@enea.com\u003e\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "38679b720014d89b192c38d4c604f5a718b9788d",
      "tree": "f5c8bd6b097e5442811440655de7062ffde421e1",
      "parents": [
        "6d50c60e6d169b04b0cf0b267eb14ab0839f9540"
      ],
      "author": {
        "name": "Arvid Brodin",
        "email": "arvid.brodin@enea.com",
        "time": "Sun Aug 21 08:29:27 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 15:32:45 2011 -0700"
      },
      "message": "usb/isp1760: Fix missing endpoint unlink when no mem during enqueue\n\n... and some small code style fixes.\n\nSigned-off-by: Arvid Brodin \u003carvid.brodin@enea.com\u003e\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6d50c60e6d169b04b0cf0b267eb14ab0839f9540",
      "tree": "d79f632ef413323a0bbec04cbe0f72863c89ca10",
      "parents": [
        "0ba7905e030a409fd0bb92cb965e915c0cb01030"
      ],
      "author": {
        "name": "Arvid Brodin",
        "email": "arvid.brodin@enea.com",
        "time": "Sun Aug 21 08:29:26 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 15:32:45 2011 -0700"
      },
      "message": "usb/isp1760: Use polling instead of SOF interrupts to fix Errata 2\n\nErrata 2 for the isp1760 explains that the chip sometimes does not issue\ninterrupts when an ATL (bulk or control) transfer is completed. There are\nseveral issues with the current work-around (SOF interrupts) for this:\n\n1) It seems the chip sometimes does not even set the done bit for a\n   completed transfer, in which case SOF interrupts does not solve\n   the problem since we still check the done map to find out which\n   transfer descriptors to handle.\n\n2) The above point seems to happen only when ATL and SOF interrupts\n   are enabled at the same time. However, disabling ATL interrupts\n   increases the latency between transfer completion and handling.\n   This is very noticeable in the testusb suite, which take several\n   minutes more to run with ATL interrupts disabled.\n\nThis patch removes the code to switch on SOF interrupts, and instead\nuse a kernel timer to periodically check for \"old\" descriptors that\nhave their VALID and ACTIVE flags unset, indicating completion, thus\navoiding the dependency on the chip\u0027s done map (and SOF interrupts)\nto find transfers affected by this HW bug.\n\n[bigeasy@linutronix: 80 lines limit]\n\nSigned-off-by: Arvid Brodin \u003carvid.brodin@enea.com\u003e\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0ba7905e030a409fd0bb92cb965e915c0cb01030",
      "tree": "48bec194981b1af87ef7688ea3323769be8575b0",
      "parents": [
        "e25e0eb209bf945db554512430ee128e6bb7b291"
      ],
      "author": {
        "name": "Arvid Brodin",
        "email": "arvid.brodin@enea.com",
        "time": "Sun Aug 21 08:29:25 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 15:32:12 2011 -0700"
      },
      "message": "usb/isp1760: Move isp1760_run within file (prepare for next patch)\n\nLike the previous patch, this patch has been split from the next one\nfor clarity.\n\nSigned-off-by: Arvid Brodin \u003carvid.brodin@enea.com\u003e\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e25e0eb209bf945db554512430ee128e6bb7b291",
      "tree": "0df783327afb166a3b41c0e034859a722cb37b0d",
      "parents": [
        "507a3ea7f20b0964e459f0ed5125717e8b46d159"
      ],
      "author": {
        "name": "Arvid Brodin",
        "email": "arvid.brodin@enea.com",
        "time": "Sun Aug 21 08:29:24 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 15:32:11 2011 -0700"
      },
      "message": "usb/isp1760: Move some code (prepare for next patch)\n\nMove the few lines of code in isp1760_enable_interrupts() and\nisp1760_init_maps() into isp1760_run(). This makes the following patch\neasier.\n\nSigned-off-by: Arvid Brodin \u003carvid.brodin@enea.com\u003e\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e5d3d4463fb30998385f9e78ab3c7f63b5813000",
      "tree": "82f36998273b460a036f1c32982e6216a4a05e54",
      "parents": [
        "d0f2fb2500b1c5fe4967eb45d8c9bc758d7aef80"
      ],
      "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 Aug 22 13:38:52 2011 -0700"
      },
      "message": "usb: s5p-ehci: fix a NULL pointer deference\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\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d0f2fb2500b1c5fe4967eb45d8c9bc758d7aef80",
      "tree": "396bb27c52730fc3f53547c5232f8f9ca428801c",
      "parents": [
        "7e1805844da18a37e6d251d286f93c94b52d791e"
      ],
      "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 Aug 22 13:38:52 2011 -0700"
      },
      "message": "USB: EHCI: Do not rely on PORT_SUSPEND to stop USB resuming in ehci_bus_resume().\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\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "48df4a6fd8c40c0bbcbca2044f5f2bc75dcf6db1",
      "tree": "3c1ab23559595b3a2b7cc5955a623f9f3222ae59",
      "parents": [
        "8a9af4fdf6d5eeb3200a088354d266a87e8260b0"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Aug 12 10:23:01 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Aug 16 16:46:57 2011 -0700"
      },
      "message": "xhci: Handle zero-length isochronous packets.\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\nCc: stable@kernel.org\n"
    },
    {
      "commit": "585df1d90cb07a02ca6c7a7d339e56e46d50dafb",
      "tree": "62c5f003587d22dd28e4ba27332314765a285975",
      "parents": [
        "522989a27c7badb608155b1f1dea3487ed431f74"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Aug 02 15:43:40 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Aug 09 14:49:25 2011 -0700"
      },
      "message": "xhci: Remove TDs from TD lists when URBs are canceled.\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\nCc: stable@kernel.org\n"
    },
    {
      "commit": "522989a27c7badb608155b1f1dea3487ed431f74",
      "tree": "04da1b5508c22f3e262c787f27e8b02fde6633cf",
      "parents": [
        "d13565c12828ce0cd2a3862bf6260164a0653352"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Jul 29 12:44:32 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Aug 09 14:49:05 2011 -0700"
      },
      "message": "xhci: Fix failed enqueue in the middle of isoch TD.\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\nCc: stable@kernel.org\n"
    },
    {
      "commit": "d13565c12828ce0cd2a3862bf6260164a0653352",
      "tree": "07d69f033253186d220fe0cb6da96dd20170d411",
      "parents": [
        "8a8ff2f9399b23b968901f585ccb5a70a537c5ae"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Jul 22 14:34:34 2011 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Aug 09 14:48:45 2011 -0700"
      },
      "message": "xhci: Fix memory leak during failed enqueue.\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\nCc: stable@kernel.org\n"
    },
    {
      "commit": "8a8ff2f9399b23b968901f585ccb5a70a537c5ae",
      "tree": "544da721cca4455b4a66e85c43ed0bea1f8c3097",
      "parents": [
        "5ac04bf190e6f8b17238aef179ebd7f2bdfec919"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Wed Aug 03 16:46:49 2011 +0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Aug 09 14:44:50 2011 -0700"
      },
      "message": "xHCI: report USB2 port in resuming as suspend\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\nCc: stable@kernel.org\n"
    }
  ],
  "next": "5ac04bf190e6f8b17238aef179ebd7f2bdfec919"
}
