)]}'
{
  "log": [
    {
      "commit": "e9261fb62a8b6a79a58c57cc6f4a40530b040b61",
      "tree": "74b4b2d1c1d2a183983ba4d0104b7b2c98e8173c",
      "parents": [
        "c51fa66802b922070dfda0d77fac364c367db5f6"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon May 21 08:29:01 2012 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon May 21 09:00:03 2012 -0700"
      },
      "message": "USB: Fix core compile with CONFIG_USB_SUSPEND\u003dn\n\nWhen CONFIG_PM\u003dn, make sure that the usb_[unlocked_][en/dis]able_lpm\ndeclarations are visible in include/linux/usb.h, and exported from\ndrivers/usb/core/hub.c.\n\nBefore this patch, if CONFIG_USB_SUSPEND was turned off, it would cause\nbuild errors:\n\ndrivers/usb/core/hub.c: In function \u0027usb_disable_lpm\u0027:\ndrivers/usb/core/hub.c:3394:2: error: implicit declaration of function \u0027usb_enable_lpm\u0027 [-Werror\u003dimplicit-function-declaration]\ndrivers/usb/core/hub.c: At top level:\ndrivers/usb/core/hub.c:3424:6: warning: conflicting types for \u0027usb_enable_lpm\u0027 [enabled by default]\ndrivers/usb/core/hub.c:3394:2: note: previous implicit declaration of \u0027usb_enable_lpm\u0027 was here\ndrivers/usb/core/driver.c: In function \u0027usb_probe_interface\u0027:\ndrivers/usb/core/driver.c:339:2: error: implicit declaration of function \u0027usb_unlocked_disable_lpm\u0027 [-Werror\u003dimplicit-function-declaration]\ndrivers/usb/core/driver.c:364:3: error: implicit declaration of function \u0027usb_unlocked_enable_lpm\u0027 [-Werror\u003dimplicit-function-declaration]\ndrivers/usb/core/message.c: In function \u0027usb_set_interface\u0027:\ndrivers/usb/core/message.c:1314:2: error: implicit declaration of function \u0027usb_disable_lpm\u0027 [-Werror\u003dimplicit-function-declaration]\ndrivers/usb/core/message.c:1323:3: error: implicit declaration of function \u0027usb_enable_lpm\u0027 [-Werror\u003dimplicit-function-declaration]\ndrivers/usb/core/message.c:1368:2: error: implicit declaration of function \u0027usb_unlocked_enable_lpm\u0027 [-Werror\u003dimplicit-function-declaration]\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nReported-by: Chen Peter-B29397 \u003cB29397@freescale.com\u003e\n"
    },
    {
      "commit": "8306095fd2c1100e8244c09bf560f97aca5a311d",
      "tree": "1096f11806046e60f32496f1bac843a6f17b4c26",
      "parents": [
        "1ea7e0e8e3d0f50901d335ea4178ab2aa8c88201"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed May 02 14:25:52 2012 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri May 18 15:41:59 2012 -0700"
      },
      "message": "USB: Disable USB 3.0 LPM in critical sections.\n\nThere are several places where the USB core needs to disable USB 3.0\nLink PM:\n - usb_bind_interface\n - usb_unbind_interface\n - usb_driver_claim_interface\n - usb_port_suspend/usb_port_resume\n - usb_reset_and_verify_device\n - usb_set_interface\n - usb_reset_configuration\n - usb_set_configuration\n\nUse the new LPM disable/enable functions to temporarily disable LPM\naround these critical sections.\n\nWe need to protect the critical section around binding and unbinding USB\ninterface drivers.  USB drivers may want to disable hub-initiated USB\n3.0 LPM, which will change the value of the U1/U2 timeouts that the xHCI\ndriver will install.  We need to disable LPM completely until the driver\nis bound to the interface, and the driver has a chance to enable\nwhatever alternate interface setting it needs in its probe routine.\nThen re-enable USB3 LPM, and recalculate the U1/U2 timeout values.\n\nWe also need to disable LPM in usb_driver_claim_interface,\nbecause drivers like usbfs can bind to an interface through that\nfunction.  Note, there is no way currently for userspace drivers to\ndisable hub-initiated USB 3.0 LPM.  Revisit this later.\n\nWhen a driver is unbound, the U1/U2 timeouts may change because we are\nunbinding the last driver that needed hub-initiated USB 3.0 LPM to be\ndisabled.\n\nUSB LPM must be disabled when a USB device is going to be suspended.\nThe USB 3.0 spec does not define a state transition from U1 or U2 into\nU3, so we need to bring the device into U0 by disabling LPM before we\ncan place it into U3.  Therefore, call usb_unlocked_disable_lpm() in\nusb_port_suspend(), and call usb_unlocked_enable_lpm() in\nusb_port_resume().  If the port suspend fails, make sure to re-enable\nLPM by calling usb_unlocked_enable_lpm(), since usb_port_resume() will\nnot be called on a failed port suspend.\n\nUSB 3.0 devices lose their USB 3.0 LPM settings (including whether USB\ndevice-initiated LPM is enabled) across device suspend.  Therefore,\ndisable LPM before the device will be reset in\nusb_reset_and_verify_device(), and re-enable LPM after the reset is\ncomplete and the configuration/alt settings are re-installed.\n\nThe calculated U1/U2 timeout values are heavily dependent on what USB\ndevice endpoints are currently enabled.  When any of the enabled\nendpoints on the device might change, due to a new configuration, or new\nalternate interface setting, we need to first disable USB 3.0 LPM, add\nor delete endpoints from the xHCI schedule, install the new interfaces\nand alt settings, and then re-enable LPM.  Do this in usb_set_interface,\nusb_reset_configuration, and usb_set_configuration.\n\nBasically, there is a call to disable and then enable LPM in all\nfunctions that lock the bandwidth_mutex.  One exception is\nusb_disable_device, because the device is disconnecting or otherwise\ngoing away, and we should not care about whether USB 3.0 LPM is enabled.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "1ea7e0e8e3d0f50901d335ea4178ab2aa8c88201",
      "tree": "ae7b2d2211bcddfa9b7eb411cc5174e00a268f8b",
      "parents": [
        "8afa408cba5c474696df6307a64b1c612bbcadbc"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Apr 24 17:21:50 2012 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri May 18 15:41:58 2012 -0700"
      },
      "message": "USB: Add support to enable/disable USB3 link states.\n\nThere are various functions within the USB core that will need to\ndisable USB 3.0 link power states.  For example, when a USB device\ndriver is being bound to an interface, we need to disable USB 3.0 LPM\nuntil we know if the driver will allow hub-initiated LPM transitions.\nAnother example is when the USB core is switching alternate interface\nsettings.  The USB 3.0 timeout values are dependent on what endpoints\nare enabled, so we want to ensure that LPM is disabled until the new alt\nsetting is fully installed.\n\nMultiple functions need to disable LPM, and those functions can even be\nnested.  For example, usb_bind_interface() could disable LPM, and then\ncall into the driver probe function, which may attempt to switch to a\ndifferent alt setting.  Therefore, we need to keep a count of the number\nof functions that require LPM to be disabled at any point in time.\n\nIntroduce two new USB core API calls, usb_disable_lpm() and\nusb_enable_lpm().  These functions increment and decrement a new\nvariable in the usb_device, lpm_disable_count.  If usb_disable_lpm()\nfails, it will call usb_enable_lpm() in order to balance the\nlpm_disable_count.\n\nThese two new functions must be called with the bandwidth_mutex locked.\nIf the bandwidth_mutex is not already held by the caller, it should\ninstead call usb_unlocked_disable_lpm() and usb_enable_lpm(), which take\nthe bandwidth_mutex before calling usb_disable_lpm() and\nusb_enable_lpm(), respectively.\n\nIntroduce a new variable (timeout) in the usb3_lpm_params structure to\nkeep track of the currently enabled U1/U2 timeout values.  When\nusb_disable_lpm() is called, and the USB device has the U1 or U2\ntimeouts set to a non-zero value (meaning either device-initiated or\nhub-initiated LPM is enabled), attempt to disable LPM, regardless of the\nstate of the lpm_disable_count.  We want to ensure that all callers can\nbe guaranteed that LPM is disabled if usb_disable_lpm() returns zero.\n\nOtherwise the following scenario could occur:\n\n1. Driver A is being bound to interface 1.  usb_probe_interface()\ndisables LPM.  Driver A doesn\u0027t care if hub-initiated LPM is enabled, so\neven though usb_disable_lpm() fails, the probe of the driver continues,\nand the bandwidth mutex is dropped.\n\n2. Meanwhile, Driver B is being bound to interface 2.\nusb_probe_interface() grabs the bandwidth mutex and calls\nusb_disable_lpm().  That call should attempt to disable LPM, even\nthough the lpm_disable_count is set to 1 by Driver A.\n\nFor usb_enable_lpm(), we attempt to enable LPM only when the\nlpm_disable_count is zero.  If some step in enabling LPM fails, it will\nonly have a minimal impact on power consumption, and all USB device\ndrivers should still work properly.  Therefore don\u0027t bother to return\nany error codes.\n\nDon\u0027t enable device-initiated LPM if the device is unconfigured.  The\nUSB device will only accept the U1/U2_ENABLE control transfers in the\nconfigured state.  Do enable hub-initiated LPM in that case, since\ndevices are allowed to accept the LGO_Ux link commands in any state.\n\nDon\u0027t enable or disable LPM if the device is marked as not being LPM\ncapable.  This can happen if:\n - the USB device doesn\u0027t have a SS BOS descriptor,\n - the device\u0027s parent hub has a zeroed bHeaderDecodeLatency value, or\n - the xHCI host doesn\u0027t support LPM.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: Andiry Xu \u003candiry.xu@amd.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "8afa408cba5c474696df6307a64b1c612bbcadbc",
      "tree": "79a1b9d2d82d2d1e6ec583fec30d5ecd561a6202",
      "parents": [
        "51e0a01206613ad80a3841388ecfa46476dabdf5"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 23 10:08:51 2012 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri May 18 15:41:57 2012 -0700"
      },
      "message": "USB: Allow drivers to disable hub-initiated LPM.\n\nUSB 3.0 Link Power Management (LPM) is designed to allow individual\nlinks in the bus to go into lower power states.  There are two ways a\nlink can enter a lower power state:\n\n1. Device-initiated LPM.  When a USB device decides it can go into a\nlower power link state, it sends a message to the parent hub, telling it\nto go into either U1 or U2.  Device-initiated LPM is good for devices\nthat send data to the host, like communications devices.\n\n2. Hub-initiated LPM.  After the link has been idle for a specific\namount of time, the parent hub will request that the child go into a\nlower power state.  The child can refuse that request.  For example, a\nUSB modem may want to refuse the LPM request if it is in the middle of\nreceiving a text message.  Hub-initiated LPM is good for devices where\nonly the host initiates the data transfer, like USB printers or USB mass\nstorage devices.\n\nLinks will be automatically placed into higher power states by the USB\nhubs and roothubs whenever the host starts a USB transmission.\n\nIntroduce a new usb_driver flag, disable_hub_initiated_lpm, that allows\ndrivers to disable hub-initiated LPM.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCc: Gustavo Padovan \u003cgustavo@padovan.org\u003e\nCc: Johan Hedberg \u003cjohan.hedberg@gmail.com\u003e\nCc: Hansjoerg Lipp \u003chjlipp@web.de\u003e\nCc: Tilman Schmidt \u003ctilman@imap.cc\u003e\nCc: Karsten Keil \u003cisdn@linux-pingi.de\u003e\nCc: Oliver Neukum \u003coliver@neukum.name\u003e\nCc: Peter Korsgaard \u003cjacmet@sunsite.dk\u003e\nCc: Jan Dumon \u003cj.dumon@option.com\u003e\nCc: Petko Manolov \u003cpetkan@users.sourceforge.net\u003e\nCc: Steve Glendinning \u003csteve.glendinning@smsc.com\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: Kalle Valo \u003ckvalo@qca.qualcomm.com\u003e\nCc: \"Luis R. Rodriguez\" \u003cmcgrof@qca.qualcomm.com\u003e\nCc: Jouni Malinen \u003cjouni@qca.qualcomm.com\u003e\nCc: Vasanthakumar Thiagarajan \u003cvthiagar@qca.qualcomm.com\u003e\nCc: Senthil Balasubramanian \u003csenthilb@qca.qualcomm.com\u003e\nCc: Christian Lamparter \u003cchunkeey@googlemail.com\u003e\nCc: Brett Rudley \u003cbrudley@broadcom.com\u003e\nCc: Roland Vossen \u003crvossen@broadcom.com\u003e\nCc: Arend van Spriel \u003carend@broadcom.com\u003e\nCc: \"Franky (Zhenhui) Lin\" \u003cfrankyl@broadcom.com\u003e\nCc: Kan Yan \u003ckanyan@broadcom.com\u003e\nCc: Dan Williams \u003cdcbw@redhat.com\u003e\nCc: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nCc: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nCc: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nCc: Herton Ronaldo Krzesinski \u003cherton@canonical.com\u003e\nCc: Hin-Tak Leung \u003chtl10@users.sourceforge.net\u003e\nCc: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nCc: Chaoming Li \u003cchaoming_li@realsil.com.cn\u003e\nCc: Daniel Drake \u003cdsd@gentoo.org\u003e\nCc: Ulrich Kunitz \u003ckune@deine-taler.de\u003e\nCc: linux-bluetooth@vger.kernel.org\nCc: gigaset307x-common@lists.sourceforge.net\nCc: netdev@vger.kernel.org\nCc: linux-usb@vger.kernel.org\nCc: linux-wireless@vger.kernel.org\nCc: ath9k-devel@lists.ath9k.org\nCc: libertas-dev@lists.infradead.org\nCc: users@rt2x00.serialmonkey.com\n"
    },
    {
      "commit": "51e0a01206613ad80a3841388ecfa46476dabdf5",
      "tree": "e0b4217644e79eaae21d070cf950ccf861b898f2",
      "parents": [
        "d9b2099cd66de3164f6e17a5c0e3f14cce24a9a3"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Feb 20 12:02:19 2012 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri May 18 15:41:56 2012 -0700"
      },
      "message": "USB: Calculate USB 3.0 exit latencies for LPM.\n\nThere are several different exit latencies associated with coming out of\nthe U1 or U2 lower power link state.\n\nDevice Exit Latency (DEL) is the maximum time it takes for the USB\ndevice to bring its upstream link into U0.  That can be found in the\nSuperSpeed Extended Capabilities BOS descriptor for the device.  The\ntime it takes for a particular link in the tree to exit to U0 is the\nmaximum of either the parent hub\u0027s U1/U2 DEL, or the child\u0027s U1/U2 DEL.\n\nHubs introduce a further delay that effects how long it takes a child\ndevice to transition to U0.  When a USB 3.0 hub receives a header\npacket, it takes some time to decode that header and figure out which\ndownstream port the packet was destined for.  If the port is not in U0,\nthis hub header decode latency will cause an additional delay for\nbringing the child device to U0.  This Hub Header Decode Latency is\nfound in the USB 3.0 hub descriptor.\n\nWe can use DEL and the header decode latency, along with additional\nlatencies imposed by each additional hub tier, to figure out the exit\nlatencies for both host-initiated and device-initiated exit to U0.\n\nThe Max Exit Latency (MEL) is the worst-case time it will take for a\nhost-initiated exit to U0, based on whether U1 or U2 link states are\nenabled.  The ping or packet must traverse the path to the device, and\neach hub along the way incurs the hub header decode latency in order to\nfigure out which device the transfer was bound for.  We say worst-case,\nbecause some hubs may not be in the lowest link state that is enabled.\nSee the examples in section C.2.2.1.\n\nNote that \"HSD\" is a \"host specific delay\" that the power appendix\narchitect has not been able to tell me how to calculate.  There\u0027s no way\nto get HSD from the xHCI registers either, so I\u0027m simply ignoring it.\n\nThe Path Exit Latency (PEL) is the worst-case time it will take for a\ndevice-initiate exit to U0 to place all the links from the device to the\nhost into U0.\n\nThe System Exit Latency (SEL) is another device-initiated exit latency.\nSEL is useful for USB 3.0 devices that need to send data to the host at\nspecific intervals.  The device may send an NRDY to indicate it isn\u0027t\nready to send data, then put its link into a lower power state.  If it\nneeds to have that data transmitted at a specific time, it can use SEL\nto back calculate when it will need to bring the link back into U0 to\nmeet its deadlines.\n\nSEL is the worst-case time from the device-initiated exit to U0, to when\nthe device will receive a packet from the host controller.  It includes\nPEL, the time it takes for an ERDY to get to the host, a host-specific\ndelay for the host to process that ERDY, and the time it takes for the\npacket to traverse the path to the device.  See Figure C-2 in the USB\n3.0 bus specification.\n\nNote: I have not been able to get good answers about what the\nhost-specific delay to process the ERDY should be.  The Intel HW\ndevelopers say it will be specific to the platform the xHCI host is\nintegrated into, and they say it\u0027s negligible.  Ignore this too.\n\nSeparate from these four exit latencies are the U1/U2 timeout values we\nprogram into the parent hubs.  These timeouts tell the hub to attempt to\nplace the device into a lower power link state after the link has been\nidle for that amount of time.\n\nCreate two arrays (one for U1 and one for U2) to store mel, pel, sel,\nand the timeout values.  Store the exit latency values in nanosecond\nunits, since that\u0027s the smallest units used (DEL is in us, but the Hub\nHeader Decode Latency is in ns).\n\nIf a USB 3.0 device doesn\u0027t have a SuperSpeed Extended Capabilities BOS\ndescriptor, it\u0027s highly unlikely it will be able to handle LPM requests\nproperly.  So it\u0027s best to disable LPM for devices that don\u0027t have this\ndescriptor, and any children beneath it, if it\u0027s a USB 3.0 hub.  Warn\nusers when that happens, since it means they have a non-compliant USB\n3.0 device or hub.\n\nThis patch assumes a simplified design where links deep in the tree will\nnot have U1 or U2 enabled unless all their parent links have the\ncorresponding LPM state enabled.  Eventually, we might want to allow a\ndifferent policy, and we can revisit this patch when that happens.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\n"
    },
    {
      "commit": "ef206f3f01d8cc0d363cfce7dc9ca11db429faa3",
      "tree": "f5767b00bf7c34ea96a1450e27b2a8dda68760d9",
      "parents": [
        "e6bbcef0211ed75db1ca3017551a584aed4e00be"
      ],
      "author": {
        "name": "Bjørn Mork",
        "email": "bjorn@mork.no",
        "time": "Sun May 13 12:35:00 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon May 14 09:30:40 2012 -0700"
      },
      "message": "USB: add read support to usb-serial/../new_id\n\nKeep the usb-serial support for dynamic IDs in sync with the usb\nsupport.  This enables readout of dynamic device IDs for\nusb-serial drivers.  Common code is exported from the usb core\nsystem and reused by the usb-serial bus driver.\n\nSigned-off-by: Bjørn Mork \u003cbjorn@mork.no\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "fa286188ce0fce994c3fc2bddcafeb948834591f",
      "tree": "72abc08a625c4341fc6606fdd547ed320b81fc66",
      "parents": [
        "e44694e858ed000ef11ee37861c7f7c86d8ddbda"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon May 14 09:20:37 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon May 14 09:20:37 2012 -0700"
      },
      "message": "Revert \"usb: move struct usb_device-\u003echildren to struct usb_hub_port-\u003echild\"\n\nThis reverts commit bebc56d58dc780539777d2b1ca80df5566e2ad87.\n\nThe call here is fragile and not well thought out, so revert it, it\u0027s\nnot fully baked yet and I don\u0027t want this to go into 3.5.\n\nCc: Lan Tianyu \u003ctianyu.lan@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "bebc56d58dc780539777d2b1ca80df5566e2ad87",
      "tree": "e24d45842809c559c98abb6fb6b2db1445264220",
      "parents": [
        "f397d7c4c5e8a1eb93f2ed15808a509318ccf1dd"
      ],
      "author": {
        "name": "Lan Tianyu",
        "email": "tianyu.lan@intel.com",
        "time": "Fri May 11 16:08:30 2012 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri May 11 17:08:41 2012 -0700"
      },
      "message": "usb: move struct usb_device-\u003echildren to struct usb_hub_port-\u003echild\n\nMove child\u0027s pointer to the struct usb_hub_port since the child device\nis directly associated with the port. Provide usb_get_hub_child_device()\nto get child\u0027s pointer.\n\nSigned-off-by: Lan Tianyu \u003ctianyu.lan@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "8815bb09af21316aeb5f8948b24ac62181670db2",
      "tree": "a6667e719e124f06257f1b9cb11abe6bce9295b0",
      "parents": [
        "166cb70e97bd83d7ae9bbec6ae59a178fd9bb823"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Mon Apr 30 09:13:46 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue May 01 13:22:13 2012 -0400"
      },
      "message": "usbhid: prevent deadlock during timeout\n\nOn some HCDs usb_unlink_urb() can directly call the\ncompletion handler. That limits the spinlocks that can\nbe taken in the handler to locks not held while calling\nusb_unlink_urb()\nTo prevent a race with resubmission, this patch exposes\nusbcore\u0027s infrastructure for blocking submission, uses it\nand so drops the lock without causing a race in usbhid.\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nAcked-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "007bab91324e6337bb150ffc17b20cf829686370",
      "tree": "6aed165e4fb5d128720849abf7549e346e36158c",
      "parents": [
        "fb28d58b72aa9215b26f1d5478462af394a4d253"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Apr 25 15:26:54 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Apr 29 22:29:57 2012 -0400"
      },
      "message": "USB: remove CONFIG_USB_DEVICE_CLASS\n\nThis option has been deprecated for many years now, and no userspace\ntools use it anymore, so it should be safe to finally remove it.\n\nReported-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "fb28d58b72aa9215b26f1d5478462af394a4d253",
      "tree": "5452680dca9eab10d59d276e6b3cc53fab7a19a7",
      "parents": [
        "70f3c7586c708bce8f525246c8b27322edc00cc7"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Apr 25 17:15:29 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Apr 29 22:20:03 2012 -0400"
      },
      "message": "USB: remove CONFIG_USB_DEVICEFS\n\nThis option has been deprecated for many years now, and no userspace\ntools use it anymore, so it should be safe to finally remove it.\n\nReported-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "af4e1ee04026908086d7ed252db2619a8ceaa333",
      "tree": "68a4a9036301b8239ec2ec3eb9cd577054ba4965",
      "parents": [
        "8048926bb898730b41c4c2698e9aefb16870488c"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Apr 25 14:55:16 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Apr 25 14:55:16 2012 -0700"
      },
      "message": "USB: remove err() macro\n\nI thought this had been removed years ago.  All in-kernel users of this\ncall have now been cleaned up and converted over to use dev_err()\ninstead, which is the correct thing to do.  Now that there are no users,\nthe macro can be removed so no one else accidentally starts to use it.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "67c88382e0bf92d7e09536ac47674c9fc9398b98",
      "tree": "31b4ef95aecd67f87442eb0233987cf7a6733772",
      "parents": [
        "0ca7eb235de5a72614c4ddd37707f9d9671e5403"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Mon Mar 26 21:01:50 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Apr 18 13:46:41 2012 -0700"
      },
      "message": "USB: add EOPNOTSUPP to usb_translate_errors\n\nAllow drivers to return EOPNOTSUPP to user space even when filtered\nthrough usb_translate_errors.\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "8816230e13d0c3c6ba51916d20e6d204646abf03",
      "tree": "3b9c29e8e07490fa6914fbe75c7dcfe95b84c14c",
      "parents": [
        "90221170bfe101de59a05910b4cb6d6e5de046b1"
      ],
      "author": {
        "name": "Huajun Li",
        "email": "huajun.li.lee@gmail.com",
        "time": "Mon Mar 12 21:00:19 2012 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Mar 13 14:24:07 2012 -0700"
      },
      "message": "USB: dynamically allocate usb_device children pointers instead of using a fix array\n\nNon-hub device has no child, and even a real USB hub has ports far\nless than USB_MAXCHILDREN, so there is no need using a fix array for\nchild devices, just allocate it dynamically according real port\nnumber.\n\nSigned-off-by: Huajun Li \u003chuajun.li.lee@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7483948fdd31a8642ef0288aab6f368b98d53c29",
      "tree": "031020a5553701d2aae8dddb0fa509aa65854eb1",
      "parents": [
        "22a416c4e0f2179b57028e084ac0ed2c110333bd",
        "fe250923bbbbcbccc9aa7b84d05ee7a060450534"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 10 11:12:55 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 10 11:13:53 2012 -0800"
      },
      "message": "Merge tag \u0027usb-3.3-rc3\u0027 into usb-next\n\nThis is done to resolve a merge conflict with:\n\tdrivers/usb/class/cdc-wdm.c\nand to better handle future patches for this driver as it is under\nactive development at the moment.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "0846e7e9856c0928223447d9349a877202a63f24",
      "tree": "1ef6df58927568478e17396855c579ad45aa9fee",
      "parents": [
        "af74d2dae8f85a0e90a30594beb507f5d954fa3f"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Fri Feb 03 17:11:54 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 09 08:40:11 2012 -0800"
      },
      "message": "usb: Add support for indicating whether a port is removable\n\nUserspace may want to make policy decisions based on whether or not a\ngiven USB device is removable. Add a per-device member and support\nfor exposing it in sysfs. Information sources to populate it will be\nadded later.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4d922612df8bd1202a1f51d95b78aca3d67302cd",
      "tree": "1529f0b5d3c52da76a25189474ba4d25122764a1",
      "parents": [
        "2eda013f4894bc200124f791a56c4defb613a0cc"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sat Jan 21 11:02:56 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 08:44:54 2012 -0800"
      },
      "message": "kernel-doc: fix new warning in usb.h\n\nFix new kernel-doc warning:\n\nWarning(include/linux/usb.h:1251): No description found for parameter \u0027num_mapped_sgs\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "55b81e6f2795484ea8edf5805c95c007cacfa736",
      "tree": "c3724975107857fcc03b5dd649c462e4f72397be",
      "parents": [
        "5983faf942f260023e547f3c5f38c1033c35cc9b",
        "08e87d0d773dc9ca5faf4c3306e238ed0ea129b0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:09:47 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:09:47 2012 -0800"
      },
      "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: (232 commits)\n  USB: Add USB-ID for Multiplex RC serial adapter to cp210x.c\n  xhci: Clean up 32-bit build warnings.\n  USB: update documentation for usbmon\n  usb: usb-storage doesn\u0027t support dynamic id currently, the patch disables the feature to fix an oops\n  drivers/usb/class/cdc-acm.c: clear dangling pointer\n  drivers/usb/dwc3/dwc3-pci.c: introduce missing kfree\n  drivers/usb/host/isp1760-if.c: introduce missing kfree\n  usb: option: add ZD Incorporated HSPA modem\n  usb: ch9: fix up MaxStreams helper\n  USB: usb-skeleton.c: cleanup open_count\n  USB: usb-skeleton.c: fix open/disconnect race\n  xhci: Properly handle COMP_2ND_BW_ERR\n  USB: remove dead code from suspend/resume path\n  USB: add quirk for another camera\n  drivers: usb: wusbcore: Fix dependency for USB_WUSB\n  xhci: Better debugging for critical host errors.\n  xhci: Be less verbose during URB cancellation.\n  xhci: Remove debugging about ring structure allocation.\n  xhci: Remove debugging about toggling cycle bits.\n  xhci: Remove debugging for individual transfers.\n  ...\n"
    },
    {
      "commit": "972b2c719990f91eb3b2310d44ef8a2d38955a14",
      "tree": "b25a250ec5bec4b7b6355d214642d8b57c5cab32",
      "parents": [
        "02550d61f49266930e674286379d3601006b2893",
        "c3aa077648e147783a7a53b409578234647db853"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)\n  reiserfs: Properly display mount options in /proc/mounts\n  vfs: prevent remount read-only if pending removes\n  vfs: count unlinked inodes\n  vfs: protect remounting superblock read-only\n  vfs: keep list of mounts for each superblock\n  vfs: switch -\u003eshow_options() to struct dentry *\n  vfs: switch -\u003eshow_path() to struct dentry *\n  vfs: switch -\u003eshow_devname() to struct dentry *\n  vfs: switch -\u003eshow_stats to struct dentry *\n  switch security_path_chmod() to struct path *\n  vfs: prefer -\u003edentry-\u003ed_sb to -\u003emnt-\u003emnt_sb\n  vfs: trim includes a bit\n  switch mnt_namespace -\u003eroot to struct mount\n  vfs: take /proc/*/mounts and friends to fs/proc_namespace.c\n  vfs: opencode mntget() mnt_set_mountpoint()\n  vfs: spread struct mount - remaining argument of next_mnt()\n  vfs: move fsnotify junk to struct mount\n  vfs: move mnt_devname\n  vfs: move mnt_list to struct mount\n  vfs: switch pnode.h macros to struct mount *\n  ...\n"
    },
    {
      "commit": "2c9ede55ecec58099b72e4bb8eab719f32f72c31",
      "tree": "8498a8c940fea97931b469fc73eb1a5022a2b28c",
      "parents": [
        "7d54fa6472609f2b0f2ea27e51ec2cf1fb27bd57"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 20:24:48 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:55 2012 -0500"
      },
      "message": "switch device_get_devnode() and -\u003edevnode() to umode_t *\n\nboth callers of device_get_devnode() are only interested in lower 16bits\nand nobody tries to return anything wider than 16bit anyway.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bc677d5b64644c399cd3db6a905453e611f402ab",
      "tree": "d973a02c33f0e0d407e9ec7c6054220e15d5c72f",
      "parents": [
        "8ad028bd973ec1ead4982e21ab0400c956aff4b5"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Sat Dec 03 23:41:31 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 09 16:18:19 2011 -0800"
      },
      "message": "usb: fix number of mapped SG DMA entries\n\nAdd a new field num_mapped_sgs to struct urb so that we have a place to\nstore the number of mapped entries and can also retain the original\nvalue of entries in num_sgs.  Previously, usb_hcd_map_urb_for_dma()\nwould overwrite this with the number of mapped entries, which would\nbreak dma_unmap_sg() because it requires the original number of entries.\n\nThis fixes warnings like the following when using USB storage devices:\n ------------[ cut here ]------------\n WARNING: at lib/dma-debug.c:902 check_unmap+0x4e4/0x695()\n ehci_hcd 0000:00:12.2: DMA-API: device driver frees DMA sg list with different entry count [map count\u003d4] [unmap count\u003d1]\n Modules linked in: ohci_hcd ehci_hcd\n Pid: 0, comm: kworker/0:1 Not tainted 3.2.0-rc2+ #319\n Call Trace:\n  \u003cIRQ\u003e  [\u003cffffffff81036d3b\u003e] warn_slowpath_common+0x80/0x98\n  [\u003cffffffff81036de7\u003e] warn_slowpath_fmt+0x41/0x43\n  [\u003cffffffff811fa5ae\u003e] check_unmap+0x4e4/0x695\n  [\u003cffffffff8105e92c\u003e] ? trace_hardirqs_off+0xd/0xf\n  [\u003cffffffff8147208b\u003e] ? _raw_spin_unlock_irqrestore+0x33/0x50\n  [\u003cffffffff811fa84a\u003e] debug_dma_unmap_sg+0xeb/0x117\n  [\u003cffffffff8137b02f\u003e] usb_hcd_unmap_urb_for_dma+0x71/0x188\n  [\u003cffffffff8137b166\u003e] unmap_urb_for_dma+0x20/0x22\n  [\u003cffffffff8137b1c5\u003e] usb_hcd_giveback_urb+0x5d/0xc0\n  [\u003cffffffffa0000d02\u003e] ehci_urb_done+0xf7/0x10c [ehci_hcd]\n  [\u003cffffffffa0001140\u003e] qh_completions+0x429/0x4bd [ehci_hcd]\n  [\u003cffffffffa000340a\u003e] ehci_work+0x95/0x9c0 [ehci_hcd]\n  ...\n ---[ end trace f29ac88a5a48c580 ]---\n Mapped at:\n  [\u003cffffffff811faac4\u003e] debug_dma_map_sg+0x45/0x139\n  [\u003cffffffff8137bc0b\u003e] usb_hcd_map_urb_for_dma+0x22e/0x478\n  [\u003cffffffff8137c494\u003e] usb_hcd_submit_urb+0x63f/0x6fa\n  [\u003cffffffff8137d01c\u003e] usb_submit_urb+0x2c7/0x2de\n  [\u003cffffffff8137dcd4\u003e] usb_sg_wait+0x55/0x161\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f3a6a4b6cfc80e57bf16bb12f9425bec1a5731a9",
      "tree": "5771513ef737b88392b1484c632fbc33d3d83fce",
      "parents": [
        "ae6ae6fec3f7d6919e0146996df37b665c75f662"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 17 14:38:33 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 17 14:38:33 2011 -0800"
      },
      "message": "USB: Add helper macro for usb_driver boilerplate\n\nThis patch introduces the module_usb_driver macro which is a convenience\nmacro for USB driver modules similar to module_platform_driver. It is\nintended to be used by drivers which init/exit section does nothing but\nregister/unregister the USB driver. By using this macro it is possible\nto eliminate a few lines of boilerplate code per USB driver.\n\nBased on work done by Lars-Peter Clausen \u003clars@metafoo.de\u003e for other\nbusses (i2c and spi).\n\nCc: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "2c4d6bf295ae10ffcd84f0df6cb642598eb66603",
      "tree": "5fd9620f72abbc7f5000709ffbc83794d9d9ab08",
      "parents": [
        "d83b405383c965498923f3561c3321e2b5df5727"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Thu Nov 10 14:58:26 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 15 10:47:40 2011 -0800"
      },
      "message": "USB: move usb_translate_errors to linux/usb.h\n\nMove usb_translate_errors from usb core to linux/usb.h as it is meant to\nbe accessed from drivers.\n\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "eb5589a8f0dab7e29021344228856339e6a1249c",
      "tree": "d83790e5ac7feacba5b1832fbe7f8d2a39d76f65",
      "parents": [
        "7c926402a7e8c9b279968fd94efec8700ba3859e"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri May 27 09:02:11 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:32:32 2011 -0400"
      },
      "message": "include: convert various register fcns to macros to avoid include chaining\n\nThe original implementations reference THIS_MODULE in an inline.\nWe could include \u003clinux/export.h\u003e, but it is better to avoid chaining.\n\nFortunately someone else already thought of this, and made a similar\ninline into a #define in \u003clinux/device.h\u003e for device_schedule_callback(),\n[see commit 523ded71de0] so follow that precedent here.\n\nAlso bubble up any __must_check that were used on the prev. wrapper inline\nfunctions up one to the real __register functions, to preserve any prev.\nsanity checks that were used in those instances.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\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": "1ff4df56846d10379939166713bb2908e6a5ee0e",
      "tree": "a2cacc55c0496016be4a44f72b96a0717ba91948",
      "parents": [
        "3148bf041d169a083aa31bd69bedd5bfb7ffe215"
      ],
      "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": "usbcore: check device\u0027s LPM capability\n\nCheck device\u0027s LPM capability by examining the bmAttibutes field of the\nUSB2.0 Extension Descriptor.\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": "3148bf041d169a083aa31bd69bedd5bfb7ffe215",
      "tree": "0a6620dc6e2da37c291c195de78819d2e306296f",
      "parents": [
        "5023829969f56b78a16da94f34c605bbbb344018"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Fri Sep 23 14:19:47 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 26 15:51:08 2011 -0700"
      },
      "message": "usbcore: get BOS descriptor set\n\nThis commit gets BOS(Binary Device Object Store) descriptor set for Super\nSpeed devices and High Speed devices which support BOS descriptor.\n\nBOS descriptor is used to report additional USB device-level capabilities\nthat are not reported via the Device descriptor. By getting BOS descriptor\nset, driver can check device\u0027s device-level capability such as LPM\ncapability.\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": "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": "6498d9db6d2dad4cf5deb2dd09e0816904f41ca5",
      "tree": "68ebcb03c7d9fc1caf9205d96943ce46d0a08c4c",
      "parents": [
        "15b2f3204a5c878c32939094775fb7349f707263"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Apr 28 10:45:24 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 29 17:24:29 2011 -0700"
      },
      "message": "USB: documentation update for the pre_reset method\n\nThis patch (as1459) updates the documentation for the pre_reset method\nin struct usb_driver.  When a driver is notified of an impending\nreset, it must cancel all outstanding I/O and not start any new I/O\nuntil it has been notified that the reset is complete.\n\nAs far as I know, most existing drivers that implement pre_reset do\nthis now.  The major exceptions appear to be the SpeedTouch and\nCDC-WDM drivers.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "2694a48d9007a8bdf1731c1b97d4942c9cc49296",
      "tree": "9f5394c7aca54d6ee0565428e91c12f240be89bd",
      "parents": [
        "c8cf203a1d228fa001b95534f639ffb7a23d5386"
      ],
      "author": {
        "name": "Robert Morell",
        "email": "rmorell@nvidia.com",
        "time": "Wed Jan 26 19:06:48 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 04 11:48:55 2011 -0800"
      },
      "message": "USB: HCD: Add driver hooks for (un)?map_urb_for_dma\n\nProvide optional hooks for the host controller driver to override the\ndefault DMA mapping and unmapping routines.  In general, these shouldn\u0027t\nbe necessary unless the host controller has special DMA requirements,\nsuch as alignment contraints.  If these are not specified, the\ngeneral usb_hcd_(un)?map_urb_for_dma functions will be used instead.\nAlso, pass the status to unmap_urb_for_dma so it can know whether the\nDMA buffer has been overwritten.\n\nFinally, add a flag to be used by these implementations if they\nallocated a temporary buffer so it can be freed properly when unmapping.\n\nSigned-off-by: Robert Morell \u003crmorell@nvidia.com\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "36facadd9ea98f8415d0dbb63e0763b7ee9d3911",
      "tree": "99dea00b332ed852f2b0a4923b581dd723f03634",
      "parents": [
        "2faa83e2a519abea1055d156ce1b42b8fa57e87b",
        "0b83ae960cd7d4a5ee02786ecf41ab45688999bf"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Dec 16 10:05:06 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Dec 16 10:05:06 2010 -0800"
      },
      "message": "Merge branch \u0027usb-next\u0027 into musb-merge\n\n* usb-next: (132 commits)\n  USB: uas: Use GFP_NOIO instead of GFP_KERNEL in I/O submission path\n  USB: uas: Ensure we only bind to a UAS interface\n  USB: uas: Rename sense pipe and sense urb to status pipe and status urb\n  USB: uas: Use kzalloc instead of kmalloc\n  USB: uas: Fix up the Sense IU\n  usb: musb: core: kill unneeded #include\u0027s\n  DA8xx: assign name to MUSB IRQ resource\n  usb: gadget: g_ncm added\n  usb: gadget: f_ncm.c added\n  usb: gadget: u_ether: prepare for NCM\n  usb: pch_udc: Fix setup transfers with data out\n  usb: pch_udc: Fix compile error, warnings and checkpatch warnings\n  usb: add ab8500 usb transceiver driver\n  USB: gadget: Implement runtime PM for MSM bus glue driver\n  USB: gadget: Implement runtime PM for ci13xxx gadget\n  USB: gadget: Add USB controller driver for MSM SoC\n  USB: gadget: Introduce ci13xxx_udc_driver struct\n  USB: gadget: Initialize ci13xxx gadget device\u0027s coherent DMA mask\n  USB: gadget: Fix \"scheduling while atomic\" bugs in ci13xxx_udc\n  USB: gadget: Separate out PCI bus code from ci13xxx_udc\n  ...\n"
    },
    {
      "commit": "07a8cdd2bb17a4da68136d963b8bc71959bd31a5",
      "tree": "fbc64d9842b38848ee7b4d410bab626ff2abd893",
      "parents": [
        "bb324b08165d5656d221af013ed9994a54e455be"
      ],
      "author": {
        "name": "Anand Gadiyar",
        "email": "gadiyar@ti.com",
        "time": "Thu Nov 18 18:54:17 2010 +0530"
      },
      "committer": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Mon Nov 22 12:55:02 2010 +0200"
      },
      "message": "usb: musb: do not use dma for control transfers\n\nThe Inventra DMA engine used with the MUSB controller in many\nSoCs cannot use DMA for control transfers on EP0, but can use\nDMA for all other transfers.\n\nThe USB core maps urbs for DMA if hcd-\u003eself.uses_dma is true.\n(hcd-\u003eself.uses_dma is true for MUSB as well).\n\nSplit the uses_dma flag into two - one that says if the\ncontroller needs to use PIO for control transfers, and\nanother which says if the controller uses DMA (for all\nother transfers).\n\nAlso, populate this flag for all MUSB by default.\n\n(Tested on OMAP3 and OMAP4 boards, with EHCI and MUSB HCDs\nsimultaneously in use).\n\nSigned-off-by: Maulik Mankad \u003cx0082077@ti.com\u003e\nSigned-off-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nSigned-off-by: Anand Gadiyar \u003cgadiyar@ti.com\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Praveena NADAHALLY \u003cpraveen.nadahally@stericsson.com\u003e\nCc: Ajay Kumar Gupta \u003cajay.gupta@ti.com\u003e\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n"
    },
    {
      "commit": "fcc4a01eb8661226e80632327673f67bf6a5840b",
      "tree": "dc05c200ccfac2daad6d1efe413ae6fa92f1638d",
      "parents": [
        "6ddf27cdbc218a412d7e993fdc08e30eec2042ce"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Nov 15 15:57:51 2010 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 16 14:03:41 2010 -0800"
      },
      "message": "USB: use the runtime-PM autosuspend implementation\n\nThis patch (as1428) converts USB over to the new runtime-PM core\nautosuspend framework.  One slightly awkward aspect of the conversion\nis that USB devices will now have two suspend-delay attributes: the\nold power/autosuspend file and the new power/autosuspend_delay_ms\nfile.  One expresses the delay time in seconds and the other in\nmilliseconds, but otherwise they do the same thing.  The old attribute\ncan be deprecated and then removed eventually.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6ddf27cdbc218a412d7e993fdc08e30eec2042ce",
      "tree": "393232ac1a8123961b62cb72cfc4b0bc617b333c",
      "parents": [
        "045cac6b3b067a9286dabfb789f67ae4f433f88b"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Mon Nov 15 15:57:30 2010 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 16 14:02:54 2010 -0800"
      },
      "message": "USB: make usb_mark_last_busy use pm_runtime_mark_last_busy\n\nSince the runtime-PM core already defines a .last_busy field in\ndevice.power, this patch uses it to replace the .last_busy field\ndefined in usb_device and uses pm_runtime_mark_last_busy to implement\nusb_mark_last_busy.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nReviewed-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a91be2acc648f18d39b15c6eb7136b0c208e2cab",
      "tree": "77c3f1c7963428a9dd7a4a1f588fae93f1592db4",
      "parents": [
        "5398a64c63a69a0ac33dbae458ea4aab0dc23f14"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Oct 25 15:04:13 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 08 12:28:32 2010 -0800"
      },
      "message": "usb.h: fix ioctl kernel-doc info\n\nFix struct field name, prevent kernel-doc warnings.\n\nWarning(include/linux/usb.h:865): No description found for parameter \u0027unlocked_ioctl\u0027\nWarning(include/linux/usb.h:865): Excess struct/union/enum/typedef member \u0027ioctl\u0027 description in \u0027usb_driver\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c6ba1c2af2da31ffb57949edbd1dba34f97d1d4b",
      "tree": "27f746b7ba5be5b05b45b7bea8b6e94e93e2e7c2",
      "parents": [
        "52af954599396e5945a895035525c703f2761b20"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Jul 29 15:54:38 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:44 2010 -0700"
      },
      "message": "USB:: fix linux/usb.h kernel-doc warnings\n\nFix kernel-doc warnings in linux/usb.h:\n\nWarning(include/linux/usb.h:185): No description found for parameter \u0027resetting_device\u0027\nWarning(include/linux/usb.h:1212): No description found for parameter \u0027stream_id\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c532b29a6f6d31e84a7c88f995eebdc75ebd4248",
      "tree": "5b8dbfae37f6c3c1530ee3651c9d28e00bd15f5e",
      "parents": [
        "6e12ea4658487ba9c746e95b31014cb89f63703b"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Tue Jun 01 23:04:41 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:35 2010 -0700"
      },
      "message": "USB-BKL: Convert usb_driver ioctl to unlocked_ioctl\n\nAnd audit all the users. None needed the BKL.  That was easy\nbecause there was only very few around.\n\nTested with allmodconfig build on x86-64\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nFrom: Andi Kleen \u003cak@linux.intel.com\u003e\n\n"
    },
    {
      "commit": "e26bcf37234c67624f62d9fc95f922b8dbda1363",
      "tree": "d81be298b9a5b22c5157ee02f3af1925f895af96",
      "parents": [
        "c4d80b7d5220a65cc4e26173d99d4750895f3e64"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Apr 29 15:46:07 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:50 2010 -0700"
      },
      "message": "USB: remove unused usb_buffer_alloc and usb_buffer_free macros\n\nNow that all callers are converted over, remove the compatibility\nfunctions and all is good.\n\nCc: Daniel Mack \u003cdaniel@caiaq.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "812219ab8facf07b94e4b3fe81e9cd3fe4129777",
      "tree": "e7bbdc24a3e6a6c8c9d2bd5343d29883d5189b2f",
      "parents": [
        "aa84dfc4296b8dd296da9a4d9e19ec1e6f7ddb94"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon May 17 10:40:55 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:47 2010 -0700"
      },
      "message": "USB: usb.h: checkpatch cleanups\n\nMinor formatting changes to clean up the file.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "22b4b6113ec5d0ff2a9175bc611f3f3f61e4e172",
      "tree": "5226f05128912ed10db3a334864d07170be1955b",
      "parents": [
        "b9e000884e50bf6b25a92a3f3580e1d14fe01591"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Wed May 12 23:38:46 2010 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:45 2010 -0700"
      },
      "message": "USB: remove usb_find_device\n\nNow on one uses this function and it seems useless,\nso remove usb_find_device.\n\n[tom@tom linux-2.6-next]$ grep -r -n -I usb_find_device ./\ndrivers/media/dvb/dvb-usb/dvb-usb-init.c:160:static struct\ndvb_usb_device_description * dvb_usb_find_device(struct usb_device\n*udev,struct dvb_usb_device_properties *props, int *cold)\n\ndrivers/media/dvb/dvb-usb/dvb-usb-init.c:230:   if ((desc \u003d\ndvb_usb_find_device(udev,props,\u0026cold)) \u003d\u003d NULL) {\n\ndrivers/usb/core/usb.c:630: * usb_find_device - find a specific usb device in the system\ndrivers/usb/core/usb.c:642:struct usb_device *usb_find_device(u16 vendor_id, u16 product_id)\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0ba169aff9181389f30f225ad92e113eeb2290b9",
      "tree": "50dc210826805224c8b2941dfcfbf55ffb4e3c02",
      "parents": [
        "a9914127e834acf648a96c72b4e271dc0c1c7c74"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed May 05 15:26:17 2010 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:42 2010 -0700"
      },
      "message": "USB: simplify usb_sg_init()\n\nThis patch (as1377) simplifies the code in usb_sg_init(), without\nchanging its functionality.  It also removes a couple of unused fields\nfrom the usb_sg_request structure.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "910f8d0cede74beff1eee93cf9cf2a28d7600e66",
      "tree": "663cd91c3d4ca2a71937b0dcaad51b02cae3c9c6",
      "parents": [
        "1e429018b646bdf903554e92ead1cda96cc552dc"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Sat May 01 12:20:01 2010 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:41 2010 -0700"
      },
      "message": "USB: Change the scatterlist type in struct urb\n\nChange the type of the URB\u0027s \u0027sg\u0027 pointer from a usb_sg_request to\na scatterlist.  This allows drivers to submit scatter-gather lists\nwithout using the usb_sg_wait() interface.  It has the added benefit\nof removing the typecasts that were added as part of patch as1368 (and\nslightly decreasing the number of pointer dereferences).\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nReviewed-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nTested-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1e429018b646bdf903554e92ead1cda96cc552dc",
      "tree": "e57fdbc9e823d5b06659ceae6ce9850c6ab3be91",
      "parents": [
        "fe54b058de9d1df5fef9e2a559651f4b7c9f04b1"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 30 13:11:30 2010 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:41 2010 -0700"
      },
      "message": "USB: Turn interface_to_usbdev into an inline function\n\nThe stronger type-checking would have prevented a bug I had.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fe54b058de9d1df5fef9e2a559651f4b7c9f04b1",
      "tree": "9ed1f427416478e8832f5ca67c17bd8433a87630",
      "parents": [
        "b18a23495fd4492081a61373fc3ef9f5c59e094a"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 30 13:11:29 2010 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:41 2010 -0700"
      },
      "message": "USB: Add a usb_pipe_endpoint() convenience function\n\nConverting a pipe number to a struct usb_host_endpoint pointer is a little\nmessy.  Introduce a new convenience function to hide the mess.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "85bcb5ee889e0ebb9154718939e049de265fcdfb",
      "tree": "daeec28274c8b68fea502c41af84d45d2681ebc5",
      "parents": [
        "842f16905dfc6743c1dd80c3d29b49ba3ab7f7c8"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Apr 30 16:35:37 2010 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:40 2010 -0700"
      },
      "message": "USB: remove URB_NO_SETUP_DMA_MAP\n\nNow that URB_NO_SETUP_DMA_MAP is no longer in use, this patch (as1376)\nremoves all references to it.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "842f16905dfc6743c1dd80c3d29b49ba3ab7f7c8",
      "tree": "2d193389359d78580b1652325bb83e57a59e77fa",
      "parents": [
        "3b02ca3218cf878e206545041aa811073e4f6c79"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Apr 30 12:44:46 2010 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:40 2010 -0700"
      },
      "message": "USB: remove the usb_host_ss_ep_comp structure\n\nThis patch (as1375) eliminates the usb_host_ss_ep_comp structure used\nfor storing a dynamically-allocated copy of the SuperSpeed endpoint\ncompanion descriptor.  The SuperSpeed descriptor is placed directly in\nthe usb_host_endpoint structure, alongside the standard endpoint\ndescriptor.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "eab1cafc3b524b714b0567ab98fc75ace09db98c",
      "tree": "854ed5c4cba741efabec933714dac5c68bcbb452",
      "parents": [
        "e9df17eb1408cfafa3d1844bfc7f22c7237b31b8"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 05 10:55:58 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:38 2010 -0700"
      },
      "message": "USB: Support for allocating USB 3.0 streams.\n\nBulk endpoint streams were added in the USB 3.0 specification.  Streams\nallow a device driver to overload a bulk endpoint so that multiple\ntransfers can be queued at once.\n\nThe device then decides which transfer it wants to work on first, and can\nqueue part of a transfer before it switches to a new stream.  All this\nswitching is invisible to the device driver, which just gets a completion\nfor the URB.  Drivers that use streams must be able to handle URBs\ncompleting in a different order than they were submitted to the endpoint.\n\nThis requires adding new API to set up xHCI data structures to support\nmultiple queues (\"stream rings\") per endpoint.  Drivers will allocate a\nnumber of stream IDs before enqueueing URBs to the bulk endpoints of the\ndevice, and free the stream IDs in their disconnect function.  See\nDocumentation/usb/bulk-streams.txt for details.\n\nThe new mass storage device class, USB Attached SCSI Protocol (UASP), uses\nthese streams API.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "94af1220985c71cd80d6c161b7a42c51ef08b923",
      "tree": "0256344a21dd26880146a9cad88c3ec19182d155",
      "parents": [
        "22ad1e7f86e1fb96488d71512e2797153a6ad839"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Apr 02 15:34:10 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:37 2010 -0700"
      },
      "message": "USB: Add stream ID field to struct urb.\n\nBulk endpoint streams were added in the USB 3.0 specification.  Streams\nallow a device driver to overload a bulk endpoint so that multiple\ntransfers can be queued at once.\n\nAdd a new field, stream_id, to struct urb so that USB 3.0 drivers can\nspecify which stream they want the URB to be queued to.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9e18c821659d836bd63f88df3c19729327728496",
      "tree": "4148e58d0e03aecfe0dbeedd175bc960006570a9",
      "parents": [
        "7aba8d014341341590ecb64050b7a026642a62eb"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Apr 02 13:22:09 2010 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:37 2010 -0700"
      },
      "message": "USB: use PM core routines to enable/disable autosuspend\n\nThis patch (as1366) replaces the private routines\nusb_enable_autosuspend() and usb_disable_autosuspend() with calls to\nthe standard pm_runtime_allow() and pm_runtime_forbid() functions in\nthe runtime PM framework.  They do the same thing.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ff9c895f07d36193c75533bda8193bde8ca99d02",
      "tree": "386ca8e37734c4810e59a55eaba92e4e88275d14",
      "parents": [
        "0ff8d1b3c858ea7c8daa54f7577971a76d04d283"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Apr 02 13:27:28 2010 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:37 2010 -0700"
      },
      "message": "USB: fix usbmon and DMA mapping for scatter-gather URBs\n\nThis patch (as1368) fixes a rather obscure bug in usbmon: When tracing\nURBs sent by the scatter-gather library, it accesses the data buffers\nwhile they are still mapped for DMA.\n\nThe solution is to move the mapping and unmapping out of the s-g\nlibrary and into the usual place in hcd.c.  This requires the addition\nof new URB flag bits to describe the kind of mapping needed, since we\nhave to call dma_map_sg() if the HCD supports native scatter-gather\noperation and dma_map_page() if it doesn\u0027t.  The nice thing about\nhaving the new flags is that they simplify the testing for unmapping.\n\nThe patch removes the only caller of usb_buffer_[un]map_sg(), so those\nfunctions are #if\u0027ed out.  A later patch will remove them entirely.\n\nAs a result of this change, urb-\u003esg will be set in situations where\nit wasn\u0027t set previously.  Hence the xhci and whci drivers are\nadjusted to test urb-\u003enum_sgs instead, which retains its original\nmeaning and is nonzero only when the HCD has to handle a scatterlist.\n\nFinally, even when a submission error occurs we don\u0027t want to hand\nURBs to usbmon before they are unmapped.  The submission path is\nrearranged so that map_urb_for_dma() is called only for non-root-hub\nURBs and unmap_urb_for_dma() is called immediately after a submission\nerror.  This simplifies the error handling.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCC: \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "073900a28d95c75a706bf40ebf092ea048c7b236",
      "tree": "01e8bb7856ebf1e989a1eb693704435fc4032118",
      "parents": [
        "75181f386f9a80ed6f87763ac6cf05826e253ccd"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Mon Apr 12 13:17:25 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 30 09:25:12 2010 -0700"
      },
      "message": "USB: rename usb_buffer_alloc() and usb_buffer_free()\n\nFor more clearance what the functions actually do,\n\n  usb_buffer_alloc() is renamed to usb_alloc_coherent()\n  usb_buffer_free()  is renamed to usb_free_coherent()\n\nThey should only be used in code which really needs DMA coherency.\n\n[added compatibility macros so we can convert things easier - gregkh]\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Pedro Ribeiro \u003cpedrib@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f09a15e6e69884cedec4d1c022089a973aa01f1e",
      "tree": "ed2902d5f29c3ede3fdadcf165d4c09e4831b498",
      "parents": [
        "e549a17f698e266373f6757bd068d1e98397b4c0"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Tue Mar 16 12:55:44 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:24:23 2010 -0700"
      },
      "message": "USB: Fix usb_fill_int_urb for SuperSpeed devices\n\nUSB 3 and Wireless USB specify a logarithmic encoding of the endpoint\ninterval that matches the USB 2 specification.  usb_fill_int_urb() didn\u0027t\nknow that and was filling in the interval as if it was USB 1.1.  Fix\nusb_fill_int_urb() for SuperSpeed devices, but leave the wireless case\nalone, because David Vrabel wants to keep the old encoding.\n\nUpdate the struct urb kernel doc to note that SuperSpeed URBs must have\nurb-\u003einterval specified in microframes.\n\nAdd a missing break statement in the usb_submit_urb() interrupt URB\nchecking, since wireless USB and SuperSpeed USB encode urb-\u003einterval\ndifferently.  This allows xHCI roothubs to actually register with khubd.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8e9394ce2412254ec69fd2a4f3e44a66eade2297",
      "tree": "355f25148b4ce3f5cfebeaf0939d71cb6beaf88b",
      "parents": [
        "62e877b893e6350c900d381f353aa62ed48dcc97"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 17 10:57:05 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:52 2010 -0800"
      },
      "message": "Driver core: create lock/unlock functions for struct device\n\nIn the future, we are going to be changing the lock type for struct\ndevice (once we get the lockdep infrastructure properly worked out)  To\nmake that changeover easier, and to possibly burry the lock in a\ndifferent part of struct device, let\u0027s create some functions to lock and\nunlock a device so that no out-of-core code needs to be changed in the\nfuture.\n\nThis patch creates the device_lock/unlock/trylock() functions, and\nconverts all in-tree users to them.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Ming Lei \u003ctom.leiming@gmail.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Magnus Damm \u003cdamm@igel.co.jp\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Alex Chiang \u003cachiang@hp.com\u003e\nCc: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nCc: Yu Zhao \u003cyu.zhao@intel.com\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nCc: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: CHENG Renquan \u003crqcheng@smu.edu.sg\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nCc: Frans Pop \u003celendil@planet.nl\u003e\nCc: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "efcbd3df079a6f8a8a2d5207c4e8429e02356c79",
      "tree": "6910757b12b230add2afd3b5347818ed2343b991",
      "parents": [
        "f45ba776da4fe6c9a9eddd42b0fd5d1f15c260f3"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Feb 05 18:09:49 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:54:59 2010 -0800"
      },
      "message": "USB: Extend and neaten dbg macros\n\nAdd format/argument validation for #ifndef DEBUG dbg macro\nNeaten dbg macro definitions\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9bbdf1e0afe771ca7650f9f476769310bee9d8f3",
      "tree": "22852edde0165523d37f045575512f5759040dba",
      "parents": [
        "0c590e2361511997430130e10e372217c1128da6"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Jan 08 12:57:28 2010 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:54:12 2010 -0800"
      },
      "message": "USB: convert to the runtime PM framework\n\nThis patch (as1329) converts the USB stack over to the PM core\u0027s\nruntime PM framework.  This involves numerous changes throughout\nusbcore, especially to hub.c and driver.c.  Perhaps the most notable\nchange is that CONFIG_USB_SUSPEND now depends on CONFIG_PM_RUNTIME\ninstead of CONFIG_PM.\n\nSeveral fields in the usb_device and usb_interface structures are no\nlonger needed.  Some code which used to depend on CONFIG_USB_PM now\ndepends on CONFIG_USB_SUSPEND (requiring some rearrangement of header\nfiles).\n\nThe only visible change in behavior should be that following a system\nsleep (resume from RAM or resume from hibernation), autosuspended USB\ndevices will be resumed just like everything else.  They won\u0027t remain\nsuspended.  But if they aren\u0027t in use then they will naturally\nautosuspend again in a few seconds.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "088f7fec8a0e683db72fd8826c5d3ab914e197b1",
      "tree": "971ef100d0db9727e4403865b67c72de62e8247a",
      "parents": [
        "0c4db6df915bc470f0cd32fe48287fa6eb6adfb4"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Jan 08 12:56:54 2010 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:54:10 2010 -0800"
      },
      "message": "USB: implement usb_enable_autosuspend\n\nThis patch (as1326) adds usb_enable_autosuspend() and\nusb_disable_autosuspend() routines for use by drivers.  If a driver\nknows that its device can handle suspends and resumes correctly, it\ncan enable autosuspend all by itself.  This is equivalent to the user\nwriting \"auto\" to the device\u0027s power/level attribute.\n\nThe implementation differs slightly from what it used to be.  Now\nautosuspend is disabled simply by doing usb_autoresume_device() (to\nincrement the usage counter) and enabled by doing\nusb_autosuspend_device() (to decrement the usage counter).\n\nThe set_level() attribute method is updated to use the new routines,\nand the USB Power-Management documentation is updated.\n\nThe patch adds a usb_enable_autosuspend() call to the hub driver\u0027s\nprobe routine, allowing the special-case code for hubs in quirks.c to\nbe removed.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6d19c009cc780c63de25a046509ebc9473809fd6",
      "tree": "d3a6186a5b3b2cd75a5778ba355ea9c3c7823a6c",
      "parents": [
        "a1e4d72cd3024999bfb6703092ea271438805c89"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Feb 12 12:21:11 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:12 2010 +0100"
      },
      "message": "USB: implement non-tree resume ordering constraints for PCI host controllers\n\nThis patch (as1331) adds non-tree ordering constraints needed for\nproper resume of PCI USB host controllers from hibernation.  The main\nissue is that non-high-speed devices must not be resumed before the\nhigh-speed root hub, because it is the ehci_bus_resume() routine which\ntakes care of handing the device connection over to the companion\ncontroller.  If the device resume is attempted before the handover\nthen the device won\u0027t be found and it will be treated as though it had\ndisconnected.\n\nThe patch adds a new field to the usb_bus structure; for each\nfull/low-speed bus this field will contain a pointer to the companion\nhigh-speed bus (if one exists).  It is used during normal device\nresume; if the hs_companion pointer isn\u0027t NULL then we wait for the\nroot-hub device on the hs_companion bus.\n\nA secondary issue is that an EHCI controlller shouldn\u0027t be resumed\nbefore any of its companions.  On some machines I have observed\nhandovers failing if the companion controller is reinitialized after\nthe handover.  Thus, the EHCI resume routine must wait for the\ncompanion controllers to be resumed.\n\nThe patch also fixes a small bug in usb_hcd_pci_probe(); an error path\njumps to the wrong label, causing a memory leak.\n\n[rjw: Fixed compilation for CONFIG_PM_SLEEP unset.]\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "04a723ea9c53ba608b0411aa36948bb57c51a08e",
      "tree": "1a5d7395ccc864b8bdf8688396688951e28a4ca8",
      "parents": [
        "b132b04e193908a94d95065d0628f8fb0159cc55"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Jan 06 10:16:51 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 20 15:24:35 2010 -0800"
      },
      "message": "USB: Fix duplicate sysfs problem after device reset.\n\nBorislav Petkov reports issues with duplicate sysfs endpoint files after a\nresume from a hibernate.  It turns out that the code to support alternate\nsettings under xHCI has issues when a device with a non-default alternate\nsetting is reset during the hibernate:\n\n[  427.681810] Restarting tasks ...\n[  427.681995] hub 1-0:1.0: state 7 ports 6 chg 0004 evt 0000\n[  427.682019] usb usb3: usb resume\n[  427.682030] ohci_hcd 0000:00:12.0: wakeup root hub\n[  427.682191] hub 1-0:1.0: port 2, status 0501, change 0000, 480 Mb/s\n[  427.682205] usb 1-2: usb wakeup-resume\n[  427.682226] usb 1-2: finish reset-resume\n[  427.682886] done.\n[  427.734658] ehci_hcd 0000:00:12.2: port 2 high speed\n[  427.734663] ehci_hcd 0000:00:12.2: GetStatus port 2 status 001005 POWER sig\u003dse0 PE CONNECT\n[  427.746682] hub 3-0:1.0: hub_reset_resume\n[  427.746693] hub 3-0:1.0: trying to enable port power on non-switchable hub\n[  427.786715] usb 1-2: reset high speed USB device using ehci_hcd and address 2\n[  427.839653] ehci_hcd 0000:00:12.2: port 2 high speed\n[  427.839666] ehci_hcd 0000:00:12.2: GetStatus port 2 status 001005 POWER sig\u003dse0 PE CONNECT\n[  427.847717] ohci_hcd 0000:00:12.0: GetStatus roothub.portstatus [1] \u003d 0x00010100 CSC PPS\n[  427.915497] hub 1-2:1.0: remove_intf_ep_devs: if: ffff88022f9e8800 -\u003eep_devs_created: 1\n[  427.915774] hub 1-2:1.0: remove_intf_ep_devs: bNumEndpoints: 1\n[  427.915934] hub 1-2:1.0: if: ffff88022f9e8800: endpoint devs removed.\n[  427.916158] hub 1-2:1.0: create_intf_ep_devs: if: ffff88022f9e8800 -\u003eep_devs_created: 0, -\u003eunregistering: 0\n[  427.916434] hub 1-2:1.0: create_intf_ep_devs: bNumEndpoints: 1\n[  427.916609]  ep_81: create, parent hub\n[  427.916632] ------------[ cut here ]------------\n[  427.916644] WARNING: at fs/sysfs/dir.c:477 sysfs_add_one+0x82/0x96()\n[  427.916649] Hardware name: System Product Name\n[  427.916653] sysfs: cannot create duplicate filename \u0027/devices/pci0000:00/0000:00:12.2/usb1/1-2/1-2:1.0/ep_81\u0027\n[  427.916658] Modules linked in: binfmt_misc kvm_amd kvm powernow_k8 cpufreq_ondemand cpufreq_powersave cpufreq_userspace freq_table cpufreq_conservative ipv6 vfat fat\n+8250_pnp 8250 pcspkr ohci_hcd serial_core k10temp edac_core\n[  427.916694] Pid: 278, comm: khubd Not tainted 2.6.33-rc2-00187-g08d869a-dirty #13\n[  427.916699] Call Trace:\n\nThe problem is caused by a mismatch between the USB core\u0027s view of the\ndevice state and the USB device and xHCI host\u0027s view of the device state.\n\nAfter the device reset and re-configuration, the device and the xHCI host\nthink they are using alternate setting 0 of all interfaces.  However, the\nUSB core keeps track of the old state, which may include non-zero\nalternate settings.  It uses intf-\u003ecur_altsetting to keep the endpoint\nsysfs files for the old state across the reset.\n\nThe bandwidth allocation functions need to know what the xHCI host thinks\nthe current alternate settings are, so original patch set\nintf-\u003ecur_altsetting to the alternate setting 0.  This caused duplicate\nendpoint files to be created.\n\nThe solution is to not set intf-\u003ecur_altsetting before calling\nusb_set_interface() in usb_reset_and_verify_device().  Instead, we add a\nnew flag to struct usb_interface to tell usb_hcd_alloc_bandwidth() to use\nalternate setting 0 as the currently installed alternate setting.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nTested-by: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "91017f9cf5fcfb601b8d583c896ac7de7d200c57",
      "tree": "ca601c606ded366e14df0ac019ecd4c43c5b11d9",
      "parents": [
        "06df572909080786e128eabdb2e39a12bce239de"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Dec 03 09:44:34 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:55:27 2009 -0800"
      },
      "message": "USB: Refactor code to find alternate interface settings.\n\nRefactor out the code to find alternate interface settings into\nusb_find_alt_setting().  Print a debugging message and return null if the\nalt setting is not found.\n\nWhile we\u0027re at it, correct a bug in the refactored code.  The interfaces\nin the configuration\u0027s interface cache are not necessarily in numerical\norder, so we can\u0027t just use the interface number as an array index.  Loop\nthrough the interface caches, looking for the correct interface.\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": "8e4ceb38eb5bbaef22fc00abe9bc11e26bea2ab5",
      "tree": "7cb5fee6c50add1094aed430d46afeb2c7689b51",
      "parents": [
        "9af23624ae2c7978313b46e58fdc4ca5d8b799f5"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Dec 07 13:01:37 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:55:25 2009 -0800"
      },
      "message": "USB: prepare for changover to Runtime PM framework\n\nThis patch (as1303) revises the USB Power Management infrastructure to\nmake it compatible with the new driver-model Runtime PM framework:\n\n\tDrivers are no longer allowed to access intf-\u003epm_usage_cnt\n\tdirectly; the PM framework manages its own usage counters.\n\n\tusb_autopm_set_interface() is eliminated, because it directly\n\tsets intf-\u003epm_usage_cnt.\n\n\tusb_autopm_enable() and usb_autopm_disable() are eliminated,\n\tbecause they call usb_autopm_set_interface().\n\n\tusb_autopm_get_interface_no_resume() and\n\tusb_autopm_put_interface_no_suspend() are added.  They\n\tcorrespond to pm_runtime_get_noresume() and\n\tpm_runtime_put_noidle() in the PM framework.\n\n\tThe power/level attribute no longer accepts \"suspend\", only\n\t\"on\" and \"auto\".  The PM framework doesn\u0027t allow devices to be\n\tforced into a suspended mode.\n\nThe hub driver contains the only code that violates the new\nguidelines.  It is updated to use the new interface routines instead.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fb34d53752d5bec5acc73422e462a9c68aeeaa2a",
      "tree": "6a395f2a0246cd3d721753c60af13e8f9b2e9c41",
      "parents": [
        "576a362ad2103da481e1f6e13de01f33d3d4c7b1"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Nov 13 11:53:59 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:55:21 2009 -0800"
      },
      "message": "USB: remove the auto_pm flag\n\nThis patch (as1302) removes the auto_pm flag from struct usb_device.\nThe flag\u0027s only purpose was to distinguish between autosuspends and\nexternal suspends, but that information is now available in the\npm_message_t argument passed to suspend methods.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4c1bd3d7a7d114dabd58f62f386ac4bfd268be1f",
      "tree": "1c8d7d6df693c71ac0b3dcc4124498d91c939f2d",
      "parents": [
        "09ce497e79a930ac4912d6bc295baab82b39f8ab"
      ],
      "author": {
        "name": "David Vrabel",
        "email": "david.vrabel@csr.com",
        "time": "Mon Aug 24 14:44:30 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:55:14 2009 -0800"
      },
      "message": "USB: make urb scatter-gather support more generic\n\nThe WHCI HCD will also support urbs with scatter-gather lists.  Add a\nusb_bus field to indicated how many sg list elements are supported by\nthe HCD.  Use this to decide whether to pass the scatter-list to the HCD\nor not.\n\nMake the usb-storage driver use this new field.\n\nSigned-off-by: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: Matthew Dharm \u003cmdharm-usb@one-eyed-alien.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ccf5b801cef4f9e2d708d3b87e91e2bc6abd5206",
      "tree": "1b7de13df336f44f6f74657934e79dc8c0bfd142",
      "parents": [
        "7cbe5dca399a50ce8aa74314b1d276e2fb904e1b"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Jun 29 11:00:01 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:23 2009 -0700"
      },
      "message": "USB: make intf.pm_usage an atomic_t\n\nThis patch (as1260) changes the pm_usage_cnt field in struct\nusb_interface from an int to an atomic_t.  This is so that drivers can\ninvoke the usb_autopm_get_interface_async() and\nusb_autopm_put_interface_async() routines without locking and without\nfear of corrupting the pm_usage_cnt value.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "4e9e92003529e5c7bb11281f7c2c9b3fe8858403",
      "tree": "07169c9a996a119aebb5865a76ff1177afe90a22",
      "parents": [
        "f4e2332cfcf900e0a926c4e0fc35f751bcbcaa1b"
      ],
      "author": {
        "name": "Pete Zaitcev",
        "email": "zaitcev@redhat.com",
        "time": "Thu Jun 11 08:53:20 2009 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:19 2009 -0700"
      },
      "message": "USB: usbmon: end ugly tricks with DMA peeking\n\nThis patch fixes crashes when usbmon attempts to access GART aperture.\nThe old code attempted to take a bus address and convert it into a\nvirtual address, which clearly was impossible on systems with actual\nIOMMUs. Let us not persist in this foolishness, and use transfer_buffer\nin all cases instead.\n\nI think downsides are negligible. The ones I see are:\n - A driver may pass an address of one buffer down as transfer_buffer,\n   and entirely different entity mapped for DMA, resulting in misleading\n   output of usbmon. Note, however, that PIO based controllers would\n   do transfer the same data that usbmon sees here.\n - Out of tree drivers may crash usbmon if they store garbage in\n   transfer_buffer. I inspected the in-tree drivers, and clarified\n   the documentation in comments.\n - Drivers that use get_user_pages will not be possible to monitor.\n   I only found one driver with this problem (drivers/staging/rspiusb).\n - Same happens with with usb_storage transferring from highmem, but\n   it works fine on 64-bit systems, so I think it\u0027s not a concern.\n   At least we don\u0027t crash anymore.\n\nWhy didn\u0027t we do this in 2.6.10? That\u0027s because back in those days\nit was popular not to fill in transfer_buffer, so almost all\ntraffic would be invisible (e.g. all of HID was like that).\nBut now, the tree is almost 100% PIO friendly, so we can do the\nright thing at last.\n\nSigned-off-by: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "411c94038594b2a3fd123d09bdec3fe2500e383d",
      "tree": "44b991786c7f4806b1b88f40439945b3835b6292",
      "parents": [
        "786d8ca341a30296264bc6cebac52d37b0851647"
      ],
      "author": {
        "name": "Anand Gadiyar",
        "email": "gadiyar@ti.com",
        "time": "Tue Jul 07 15:24:23 2009 +0530"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Sep 21 15:14:54 2009 +0200"
      },
      "message": "trivial: fix typo \"for for\" in multiple files\n\ntrivial: fix typo \"for for\" in multiple files\n\nSigned-off-by: Anand Gadiyar \u003cgadiyar@ti.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "e454cea20bdcff10ee698d11b8882662a0153a47",
      "tree": "f44581fe57787aef0a4f4dc00993a90ea8e688f6",
      "parents": [
        "78f28b7c555359c67c2a0d23f7436e915329421e"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Sep 18 23:01:12 2009 +0200"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 12:50:38 2009 -0700"
      },
      "message": "Driver-Core: extend devnode callbacks to provide permissions\n\nThis allows subsytems to provide devtmpfs with non-default permissions\nfor the device node. Instead of the default mode of 0600, null, zero,\nrandom, urandom, full, tty, ptmx now have a mode of 0666, which allows\nnon-privileged processes to access standard device nodes in case no\nother userspace process applies the expected permissions.\n\nThis also fixes a wrong assignment in pktcdvd and a checkpatch.pl complain.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e376bbbb6a82cf119c93bde66937f66c72cba27b",
      "tree": "ae1b628e5e12b6295b07a40d3f4df9ba3bf5213a",
      "parents": [
        "4e19f220d4e84f5728cb7edde36352ab425cfba4"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Jun 18 10:39:11 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 15:16:39 2009 -0700"
      },
      "message": "USB: usb.h: fix kernel-doc notation\n\nFix usb.h kernel-doc warnings:\n\nWarning(include/linux/usb.h:918): Excess struct/union/enum/typedef member \u0027nodename\u0027 description in \u0027usb_device_driver\u0027\nWarning(include/linux/usb.h:939): No description found for parameter \u0027nodename\u0027\nWarning(include/linux/usb.h:1219): No description found for parameter \u0027sg\u0027\nWarning(include/linux/usb.h:1219): No description found for parameter \u0027num_sgs\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e1f5b94fd0c93c3e27ede88b7ab652d086dc960f",
      "tree": "e8de7a132eb88521dd1c19e128eba2d5349bdf4f",
      "parents": [
        "6fd03301d76bc439382710e449f58efbb233df1b",
        "1b6ed69f974f6f32c8be0d9a7fc952822eb83b6f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:06:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:06:10 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (143 commits)\n  USB: xhci depends on PCI.\n  USB: xhci: Add Makefile, MAINTAINERS, and Kconfig entries.\n  USB: xhci: Respect critical sections.\n  USB: xHCI: Fix interrupt moderation.\n  USB: xhci: Remove packed attribute from structures.\n  usb; xhci: Fix TRB offset calculations.\n  USB: xhci: replace if-elseif-else with switch-case\n  USB: xhci: Make xhci-mem.c include linux/dmapool.h\n  USB: xhci: drop spinlock in xhci_urb_enqueue() error path.\n  USB: Change names of SuperSpeed ep companion descriptor structs.\n  USB: xhci: Avoid compiler reordering in Link TRB giveback.\n  USB: xhci: Clean up xhci_irq() function.\n  USB: xhci: Avoid global namespace pollution.\n  USB: xhci: Fix Link TRB handoff bit twiddling.\n  USB: xhci: Fix register write order.\n  USB: xhci: fix some compiler warnings in xhci.h\n  USB: xhci: fix lots of compiler warnings.\n  USB: xhci: use xhci_handle_event instead of handle_event\n  USB: xhci: URB cancellation support.\n  USB: xhci: Scatter gather list support for bulk transfers.\n  ...\n"
    },
    {
      "commit": "f0058c627855ecb3b6c7185b7ad1910463c24c42",
      "tree": "dfa5e75711a2a1dfe8d3b5384558290ad18cf9d6",
      "parents": [
        "b7116ebca4e1a898f30ae474151fd6474327257c"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Apr 29 19:06:20 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:50 2009 -0700"
      },
      "message": "USB: Change names of SuperSpeed ep companion descriptor structs.\n\nDifferentiate between SuperSpeed endpoint companion descriptor and the\nwireless USB endpoint companion descriptor.  Make all structure names for\nthis descriptor have \"ss\" (SuperSpeed) in them.  David Vrabel asked for\nthis change in http://marc.info/?l\u003dlinux-usb\u0026m\u003d124091465109367\u0026w\u003d2\n\nReported-by: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e04748e3a87271fcf30d383e3780c5d3ee1c1618",
      "tree": "1e1053837fcde0761673cbba6140514630a372ed",
      "parents": [
        "b10de142119a676552df3f0d2e3a9d647036c26a"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:59:01 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: Push scatter gather lists down to host controller drivers.\n\nThis is the original patch I created before David Vrabel posted a better\npatch (http://marc.info/?l\u003dlinux-usb\u0026m\u003d123377477209109\u0026w\u003d2) that does\nbasically the same thing.  This patch will get replaced with his\n(modified) patch later.\n\nAllow USB device drivers that use usb_sg_init() and usb_sg_wait() to push\nbulk endpoint scatter gather lists down to the host controller drivers.\nThis allows host controller drivers to more efficiently enqueue these\ntransfers, and allows the xHCI host controller to better take advantage of\nUSB 3.0 \"bursts\" for bulk endpoints.\n\nThis patch currently only enables scatter gather lists for bulk endpoints.\nOther endpoint types that use the usb_sg_* functions will not have their\nscatter gather lists pushed down to the host controller.  For periodic\nendpoints, we want each scatterlist entry to be a separate transfer.\nEventually, HCDs could parse these scatter-gather lists for periodic\nendpoints also.  For now, we use the old code and call usb_submit_urb()\nfor each scatterlist entry.\n\nThe caller of usb_sg_init() can request that all bytes in the scatter\ngather list be transferred by passing in a length of zero.  Handle that\nrequest for a bulk endpoint under xHCI by walking the scatter gather list\nand calculating the length.  We could let the HCD handle a zero length in\nthis case, but I\u0027m not sure if the core layers in between will get\nconfused by this.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "663c30d0829d556efabd5fbd98fb8473da7fe694",
      "tree": "1d2566aff3b6af6e05cf3a7a0fc1c1fb17bfe5db",
      "parents": [
        "d0e96f5a71a032ced0c35f521c1cbd67e816922a"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:58:14 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: Parse and store the SuperSpeed endpoint companion descriptors.\n\nThe USB 3.0 bus specification added an \"Endpoint Companion\" descriptor that is\nsupposed to follow all SuperSpeed Endpoint descriptors.  This descriptor is used\nto extend the bus protocol to allow more packets to be sent to an endpoint per\n\"microframe\".  The word microframe was removed from the USB 3.0 specification\nbecause the host controller does not send Start Of Frame (SOF) symbols down the\nUSB 3.0 wires.\n\nThe descriptor defines a bMaxBurst field, which indicates the number of packets\nof wMaxPacketSize that a SuperSpeed device can send or recieve in a service\ninterval.  All non-control endpoints may set this value as high as 16 packets\n(bMaxBurst \u003d 15).\n\nThe descriptor also allows isochronous endpoints to further specify that they\ncan send and receive multiple bursts per service interval.  The bmAttributes\nallows them to specify a \"Mult\" of up to 3 (bmAttributes \u003d 2).\n\nBulk endpoints use bmAttributes to report the number of \"Streams\" they support.\nThis was an extension of the endpoint pipe concept to allow multiple mass\nstorage device commands to be outstanding for one bulk endpoint at a time.  This\nshould allow USB 3.0 mass storage devices to support SCSI command queueing.\nBulk endpoints can say they support up to 2^16 (65,536) streams.\n\nThe information in the endpoint companion descriptor must be stored with the\nother device, config, interface, and endpoint descriptors because the host\ncontroller needs to access them quickly, and we need to install some default\nvalues if a SuperSpeed device doesn\u0027t provide an endpoint companion descriptor.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6d65b78a093552fb42448480d4c66bf093a6d4cf",
      "tree": "38d5797b9cdd60421d6b28db225d34c9f2e56f6f",
      "parents": [
        "3ffbba9511b4148cbe1f6b6238686adaeaca8feb"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:57:50 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: Support for submitting control URBs under xHCI.\n\nWarn users of URB_NO_SETUP_DMA_MAP about xHCI behavior.\n\nDevice drivers can choose to DMA map the setup packet of a control transfer\nbefore submitting the URB to the USB core.  Drivers then set the\nURB_NO_SETUP_DMA_MAP and pass in the DMA memory address in setup_dma, instead of\nproviding a kernel address for setup_packet.  However, xHCI requires that the\nsetup packet be copied into an internal data structure, and we need a kernel\nmemory address pointer for that.  Warn users of URB_NO_SETUP_DMA_MAP that they\nshould provide a valid pointer for setup_packet, along with the DMA address.\n\nFIXME:  I\u0027m not entirely sure how to work around this in the xHCI driver\nor USB core.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c6515272b858742962c1de0f3bf497a048b9abd7",
      "tree": "5172d9b646fa5e364b5b35004f10628aed934a71",
      "parents": [
        "0f2a79300a1471cf92ab43af165ea13555c8b0a5"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:57:26 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:49 2009 -0700"
      },
      "message": "USB: Support for addressing a USB device under xHCI\n\nAdd host controller driver API and a slot_id variable to struct\nusb_device.  This allows the xHCI host controller driver to ask the\nhardware to allocate a slot for the device when a struct usb_device is\nallocated.  The slot needs to be allocated at that point because the\nhardware can run out of internal resources, and we want to know that very\nearly in the device connection process.  Don\u0027t call this new API for root\nhubs, since they aren\u0027t real devices.\n\nAdd HCD API to let the host controller choose the device address.  This is\nespecially important for xHCI hardware running in a virtualized\nenvironment.  The guests running under the VM don\u0027t need to know which\naddresses on the bus are taken, because the hardware picks the address for\nthem.  Announce SuperSpeed USB devices after the address has been assigned\nby the hardware.\n\nDon\u0027t use the new get descriptor/set address scheme with xHCI.  Unless\nspecial handling is done in the host controller driver, the xHC can\u0027t\nissue control transfers before you set the device address.  Support for\nthe older addressing scheme will be added when the xHCI driver supports\nthe Block Set Address Request (BSR) flag in the Address Device command.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7206b00164a1c3ca533e01db285955617e1019f8",
      "tree": "d11f6a5a63238110d4b763661a76ca87761a2d02",
      "parents": [
        "e7b7717247f61e2cf18ec47f91999065c59d1607"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Apr 27 19:54:49 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:48 2009 -0700"
      },
      "message": "USB: Add route string to struct usb_device.\n\nThis patch adds a hex route string to each USB device.  The route string is used\nby the USB 3.0 host controller to send packets through the device tree.  USB 3.0\nhubs use this string to route packets to the correct port.  This is fundamental\nbus change from USB 2.0, where all packets were broadcast across the bus.\n\nDevices (including hubs) under a root port receive the route string 0x0.  Every\nfour bits in the route string represent a port on a hub.  This length works\nbecause USB 3.0 hubs are limited to 15 ports, and USB 2.0 hubs (with potentially\nmore ports) will never see packets with a route string.  A port number of 0\nmeans the packet is destined for that hub.\n\nFor example, a peripheral device might have a route string of 0x00097.\nThis means the device is connected to port 9 of the hub at depth 1.\nThe hub at depth 1 is connected to port 7 of a hub at depth 0.\nThe hub at depth 0 is connected to a root port.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "bf92c1906e4f294a48fafc15755c65af636195e0",
      "tree": "cccad4fac26c32dbe0559c971e80f47e1895aa72",
      "parents": [
        "cac85a8b4e8e7c51bc0ce2980bba0e35cfec5c2e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Apr 29 21:02:49 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:44 2009 -0700"
      },
      "message": "USB: usb.h: change private: kernel-doc for new format requirement\n\nUse \"/* private:\" to mark struct members as private so that\nscripts/kernel-doc will handle them correctly.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "820d7a253c5e59a786d5b608f6e8d0419fdc2f6e",
      "tree": "ad4c0a7eb64f3b42f84633e4beaea3b0f7cb6f48",
      "parents": [
        "ed14f0340a4954c1a9ffaff01c261428b5753e9d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Apr 27 13:17:21 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:43 2009 -0700"
      },
      "message": "USB: remove unused usb_host class\n\nThe usb_host class isn\u0027t used for anything anymore (it was used for\ndebug files, but they have moved to debugfs a few kernel releases ago),\nso let\u0027s delete it before someone accidentally puts a file in it.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "00048b8bde5a6cbd9c3a76f272cc9ddb55705e37",
      "tree": "fd8acec26630c895b8012e7ed0699274064b1212",
      "parents": [
        "84fe6e799deaf14e2c7a941e805cd93d83f90927"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 24 14:56:26 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:44:42 2009 -0700"
      },
      "message": "USB: add usb debugfs directory\n\nAdd a common usb directory in debugfs that the usb subsystem can use.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f7a386c5b8ff34cd84ae922603d1c6f9d234edee",
      "tree": "ae1c03544dd511d85cc537c632eba6f035072e36",
      "parents": [
        "d405640539555b601e52f7d18f1f0b1345d18bf5"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Apr 30 15:23:42 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:25 2009 -0700"
      },
      "message": "Driver Core: usb: add nodename support for usb drivers.\n\nThis adds support for USB drivers to report their requested nodename to\nuserspace.  It also updates a number of USB drivers to provide the\nneeded subdirectory and device name to be used for them.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3444b26afa145148951112534f298bdc554ec789",
      "tree": "b2c8d9b13d04869ffdad1e46a9ebbf819e7ed7b4",
      "parents": [
        "d45e230bf03850f17394a760dfa003d986a67729"
      ],
      "author": {
        "name": "David Vrabel",
        "email": "david.vrabel@csr.com",
        "time": "Wed Apr 08 17:36:28 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 17 10:50:27 2009 -0700"
      },
      "message": "USB: add reset endpoint operations\n\nWireless USB endpoint state has a sequence number and a current\nwindow and not just a single toggle bit.  So allow HCDs to provide a\nendpoint_reset method and call this or clear the software toggles as\nrequired (after a clear halt, set configuration etc.).\n\nusb_settoggle() and friends are then HCD internal and are moved into\ncore/hcd.h and all device drivers call usb_reset_endpoint() instead.\n\nIf the device endpoint state has been reset (with a clear halt) but\nthe host endpoint state has not then subsequent data transfers will\nnot complete. The device will only work again after it is reset or\ndisconnected.\n\nSigned-off-by: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8c209e6782ca0e3046803fc04a5ac01c8c10437a",
      "tree": "66a21c37659ac73e4fe993d79e2f8db64ee18254",
      "parents": [
        "16e2e5f634f86ccda18366967c4e592eb61bc9cc"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 06 21:31:03 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:20:36 2009 -0700"
      },
      "message": "USB: make actual_length in struct urb field u32\n\nactual_length should also be a u32 and not a signed value.  This patch\nchanges this field to be \u0027u32\u0027 to prevent any potential negative\nconversion and comparison errors.\n\nThis triggered a few compiler warning messages when these fields were\nbeing used with the min macro, so they have also been fixed up in this\npatch.\n\nCc: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "16e2e5f634f86ccda18366967c4e592eb61bc9cc",
      "tree": "c736a81517e929559c83cc5eb9fb6f4d04458571",
      "parents": [
        "7ea0a2bcfe40b1c525e63e931b7142ab22b64269"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 03 16:44:13 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:20:36 2009 -0700"
      },
      "message": "USB: make transfer_buffer_lengths in struct urb field u32\n\nRoel Kluin pointed out that transfer_buffer_lengths in struct urb was\ndeclared as an \u0027int\u0027.  This patch changes this field to be \u0027u32\u0027 to\nprevent any potential negative conversion and comparison errors.\n\nThis triggered a few compiler warning messages when these fields were\nbeing used with the min macro, so they have also been fixed up in this\npatch.\n\nCc: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4d6914b72966862f37de634299a80ca2a4b1829f",
      "tree": "1c7dec08838b413a6a32343879f1209362bda491",
      "parents": [
        "ee069fb1185895e725ad942c7a529f947e25166d"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Mon Dec 29 22:48:19 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:20:27 2009 -0700"
      },
      "message": "USB: Move definitions from usb.h to usb/ch9.h\n\nThe functions:\n\nusb_endpoint_dir_in(epd)\nusb_endpoint_dir_out(epd)\nusb_endpoint_is_bulk_in(epd)\nusb_endpoint_is_bulk_out(epd)\nusb_endpoint_is_int_in(epd)\nusb_endpoint_is_int_out(epd)\nusb_endpoint_is_isoc_in(epd)\nusb_endpoint_is_isoc_out(epd)\nusb_endpoint_num(epd)\nusb_endpoint_type(epd)\nusb_endpoint_xfer_bulk(epd)\nusb_endpoint_xfer_control(epd)\nusb_endpoint_xfer_int(epd)\nusb_endpoint_xfer_isoc(epd)\n\nare moved from include/linux/usb.h to include/linux/usb/ch9.h.\ninclude/linux/usb/ch9.h makes more sense for these functions because they\nonly depend on constants that are defined in this file.\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "11e76ae0f3a82bbb6c06df8af2167af8b96a0584",
      "tree": "d1ab0215a1ab219df1712a65b6755114a2ca782a",
      "parents": [
        "ca80801bfb24f7a41fe4fade4d2cf7c73f0b2f09"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Jan 08 12:52:19 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@kvm.kroah.org",
        "time": "Tue Jan 27 16:15:36 2009 -0800"
      },
      "message": "USB: add kernel-doc for wusb_dev in struct usb_device\n\nReported by Randy Dunlap from a warning on the v2.6.29 merge window.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nCc: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "34c65d82e02147331701c7795e3144d511adf4e9",
      "tree": "2f1a39cbea44efcc0ad0a7e04addded9db66e233",
      "parents": [
        "338b67b0c1a97ca705023a8189cf41aa0828d294"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 18 13:21:04 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 07 10:00:14 2009 -0800"
      },
      "message": "USB: remove info() macro from usb.h\n\nUSB should not be having it\u0027s own printk macros, so remove info() and\nuse the system-wide standard of dev_info() wherever possible.\n\nNo one in the tree is using the macro, so it can now be removed.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "338b67b0c1a97ca705023a8189cf41aa0828d294",
      "tree": "696d1545368d9a98ff52191e995b4ee3a0e39bae",
      "parents": [
        "5aa637505fb8610cd2724b09fa0ab03fd6cdca63"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 14 09:37:34 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 07 10:00:14 2009 -0800"
      },
      "message": "USB: remove warn() macro from usb.h\n\nUSB should not be having it\u0027s own printk macros, so remove warn() and\nuse the system-wide standard of dev_warn() wherever possible.  In the\nfew places that will not work out, use a basic printk().\n\nNow that all in-tree users are gone, remove the macro.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "856395d6e137b4e7194972cb7765f3de6a72ba61",
      "tree": "f10166dcb6dd2a7df98542a18c8e01161e5a2caf",
      "parents": [
        "42c65396d4f10f25bdab13f8e2f33fe63fa94418"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Thu Dec 18 09:17:49 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 07 10:00:11 2009 -0800"
      },
      "message": "USB: extension of anchor API to unpoison an anchor\n\nThis extension allows unpoisoning an anchor allowing drivers that\nresubmit URBs to reuse an anchor for methods like resume()\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "49367d8f1d9f26482cf7089489e90f0afd0a942c",
      "tree": "e0b8beb733f49772f258f90ce7af856a10fbdaac",
      "parents": [
        "3b23dd6f8a718e5339de4f7d86ce76a078b5f771"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Fri Dec 12 21:38:45 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 07 10:00:08 2009 -0800"
      },
      "message": "USB: mark \"reject\" field of struct urb as atomic_t\n\nIt is enough to protect accesses to reject field of urb\nby marking it as atomic_t,also it is the only reason of\nexistence of usb_reject_lock,so remove the lock to make\ncode more clean.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nAcked-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3b23dd6f8a718e5339de4f7d86ce76a078b5f771",
      "tree": "500a0402d7d8ba9afefc316124c1a6b4b4d575b2",
      "parents": [
        "b9cef6c31913c34fb1065b1d01e04c3b92c59016"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Dec 05 14:10:34 2008 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 07 10:00:08 2009 -0800"
      },
      "message": "USB: utilize the bus notifiers\n\nThis patch (as1185) makes usbcore take advantage of the bus\nnotifications sent out by the driver core.  Now we can create all our\ndevice and interface attribute files before the device or interface\nuevent is broadcast.\n\nA side effect is that we no longer create the endpoint \"pseudo\"\ndevices at the same time as a device or interface is registered -- it\nseems like a bad idea to try registering an endpoint before the\nregistration of its parent is complete.  So the routines for creating\nand removing endpoint devices have been split out and renamed, and\nthey are called explicitly when needed.  A new bitflag is used for\nkeeping track of whether or not the interface\u0027s endpoint devices have\nbeen created, since (just as with the interface attributes) they vary\nwith the altsetting and hence can be changed at random times.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "65bfd2967c906ca322a4bb69a285fe0de8916ac6",
      "tree": "ddd3293f945613d0d27ec1dbd36030c079fb9492",
      "parents": [
        "4ec06d629628b6e5c7ff50d349a26ef5c35696e3"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Nov 25 16:39:18 2008 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 07 10:00:03 2009 -0800"
      },
      "message": "USB: Enhance usage of pm_message_t\n\nThis patch (as1177) modifies the USB core suspend and resume\nroutines.  The resume functions now will take a pm_message_t argument,\nso they will know what sort of resume is occurring.  The new argument\nis also passed to the port suspend/resume and bus suspend/resume\nroutines (although they don\u0027t use it for anything but debugging).\n\nIn addition, special pm_message_t values are used for user-initiated,\ndevice-initiated (i.e., remote wakeup), and automatic suspend/resume.\nBy testing these values, drivers can tell whether or not a particular\nsuspend was an autosuspend.  Unfortunately, they can\u0027t do the same for\nresumes -- not until the pm_message_t argument is also passed to the\ndrivers\u0027 resume methods.  That will require a bigger change.\n\nIMO, the whole Power Management framework should have been set up this\nway in the first place.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f150fa1afbf69a87f54752579ff2bb769aad88b3",
      "tree": "00bab764efef6249694a804a76a4cdd9720811d1",
      "parents": [
        "5e5b0e5d6a354f6f457368149eb2e9a61e5576cf"
      ],
      "author": {
        "name": "Pete Zaitcev",
        "email": "zaitcev@redhat.com",
        "time": "Thu Nov 13 21:31:21 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 07 09:59:54 2009 -0800"
      },
      "message": "USB: Allow usbmon as a module even if usbcore is builtin\n\nusbmon can only be built as a module if usbcore is a module too. Trivial\nchanges to the relevant Kconfig and Makefile (and a few trivial changes\nelsewhere) allow usbmon to be built as a module even if usbcore is\nbuiltin.\n\nThis is verified to work in all 9 permutations (3 correctly prohibited\nby Kconfig, 6 build a suitable result).\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dc023dceec861c60bc1d1a17a2c6496ddac26ee7",
      "tree": "908529b3eb975acb2582f679d20a81bfadc95bf4",
      "parents": [
        "9ac39f28b5237a629e41ccfc1f73d3a55723045c"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Thu Nov 13 10:31:35 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 07 09:59:53 2009 -0800"
      },
      "message": "USB: Introduce usb_queue_reset() to do resets from atomic contexts\n\nThis patch introduces a new call to be able to do a USB reset from an\natomic contect. This is quite helpful in USB callbacks to handle\nerrors (when the only thing that can be done is to do a device\nreset).\n\nIt is done queuing a work struct that will do the actual reset. The\nstruct is \"attached\" to an interface so pending requests from an\ninterface are removed when said interface is unbound from the driver.\n\nThe call flow then becomes:\n\nusb_queue_reset_device()\n  __usb_queue_reset_device() [workqueue]\n    usb_reset_device()\n\nusb_probe_interface()\n  usb_cancel_queue_reset()      [error path]\n\nusb_unbind_interface()\n  usb_cancel_queue_reset()\n\nusb_driver_release_interface()\n  usb_cancel_queue_reset()\n\nNote usb_cancel_queue_reset() needs smarts to try not to unqueue when\nit is actually being executed. This happens when we run the reset from\nthe workqueue: usb_reset_device() is called and on interface unbind\ntime, usb_cancel_queue_reset() would be called. That would deadlock on\ncancel_work_sync(). To avoid that, we set (before running\nusb_reset_device()) usb_intf-\u003ereset_running and clear it inmediately\nafter returning.\n\nPatch is against 2.6.28-rc2 and depends on\nhttp://marc.info/?l\u003dlinux-usb\u0026m\u003d122581634925308\u0026w\u003d2 (as submitted by\nAlan Stern).\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9ac39f28b5237a629e41ccfc1f73d3a55723045c",
      "tree": "c161d5b62d11b6e73605a37b2562b90fff689d9e",
      "parents": [
        "d4f373e57d3916814110968c5ea1155a8d972b5a"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Nov 12 16:19:49 2008 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 07 09:59:53 2009 -0800"
      },
      "message": "USB: add asynchronous autosuspend/autoresume support\n\nThis patch (as1160b) adds support routines for asynchronous autosuspend\nand autoresume, with accompanying documentation updates.  There\nalready are several potential users of this interface, and others are\nlikely to arise as autosuspend support becomes more widespread.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "352d026338378b1f13f044e33c1047da6e470056",
      "tree": "92e178cc234bfd19f15e8623b1b92d21918cb3fa",
      "parents": [
        "0047ca0a45c6a481abd467fb52d2a480ffc8c6b9"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Oct 29 15:16:58 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 13 14:45:00 2008 -0800"
      },
      "message": "USB: don\u0027t register endpoints for interfaces that are going away\n\nThis patch (as1155) fixes a bug in usbcore.  When interfaces are\ndeleted, either because the device was disconnected or because of a\nconfiguration change, the extra attribute files and child endpoint\ndevices may get left behind.  This is because the core removes them\nbefore calling device_del().  But during device_del(), after the\ndriver is unbound the core will reinstall altsetting 0 and recreate\nthose extra attributes and children.\n\nThe patch prevents this by adding a flag to record when the interface\nis in the midst of being unregistered.  When the flag is set, the\nattribute files and child devices will not be created.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: stable \u003cstable@kernel.org\u003e [2.6.27, 2.6.26, 2.6.25]\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "1987625226a918cd20c334ffce5e2a224cba0718",
      "tree": "4502ac6292f22c72f1d15fb649d99565e83b7e0a",
      "parents": [
        "c0f082c5367a02e8493d779e16ad336167e14718"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Mon Aug 25 22:40:25 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 17 14:41:02 2008 -0700"
      },
      "message": "USB: anchor API changes needed for btusb\n\nThis extends the anchor API as btusb needs for autosuspend.\n\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6a2839bedc1502b3f0366cc3ad1099a1d92cf8fb",
      "tree": "3b8861acf1a573d97066157c1fab16e574d645b1",
      "parents": [
        "55b447bf79ad25591437d24b78caa9d0ae4fec82"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Tue Jul 29 16:18:47 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 17 14:40:51 2008 -0700"
      },
      "message": "USB: extend poisoning to anchors\n\nthis extends the poisoning concept to anchors. This way poisoning\nwill work with fire and forget drivers.\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "55b447bf79ad25591437d24b78caa9d0ae4fec82",
      "tree": "f8b84be61cf96a993664f35f572d8ddf6e618d39",
      "parents": [
        "49b707b90c7f7260beb8691fc5d99d71a5549ec0"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Tue Jul 29 15:26:15 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 17 14:40:51 2008 -0700"
      },
      "message": "USB: kill URBs permanently\n\nlooking at usb_kill_urb() it seems to me that it is unnecessarily lenient.\nIn the use case of disconnect() you never want to use the URB again\n(for the same device) But leaving urb-\u003ereject elevated will make it easier\nto avoid races between read/write and disconnect.\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "55151d7daba185f94e9dc561a5a2ba36b5f647dd",
      "tree": "a769ff8a82367c8767d03c733278a078536e0945",
      "parents": [
        "65605ae8e587d714f73e674369bc4cd5a1e53a9b"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Aug 12 14:33:59 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 21 10:26:36 2008 -0700"
      },
      "message": "USB: Defer Set-Interface for suspended devices\n\nThis patch (as1128) fixes one of the problems related to the new PM\ninfrastructure.  We are not allowed to register new child devices\nduring the middle of a system sleep transition, but unbinding a USB\ndriver causes the core to automatically install altsetting 0 and\nthereby create new endpoint pseudo-devices.\n\nThe patch fixes this problem (and the related problem that installing\naltsetting 0 will fail if the device is suspended) by deferring the\nSet-Interface call until some later time when it is legal and can\nsucceed.  Possible later times are: when a new driver is being probed\nfor the interface, and when the interface is being resumed.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f4f4d58734916e816d4b4a7cf61b3fc22ce02683",
      "tree": "72a97145f15bc4284a9b77f5416cf79f90466423",
      "parents": [
        "a00c3cadc2bf50b3c925acdb3d0e5789b1650498"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Jul 28 10:39:28 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Aug 13 17:32:49 2008 -0700"
      },
      "message": "USB: add missing kerneldoc line for \"needs_binding\"\n\nThis patch (as1117) adds a kerneldoc line for the \"needs_binding\"\nfield in struct usb_interface.  It was accidentally omitted when the\nfield was added.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "78d9a487ee961c356e1a934d9a92eca38ffb3a70",
      "tree": "a49a862bf45b1aae6ecd746ac8aa0f48fdfa0917",
      "parents": [
        "64b3d6d11948cc71ff12124dcb693392a32f1bf4"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Jun 23 16:00:40 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 15:16:40 2008 -0700"
      },
      "message": "USB: Force unbinding of drivers lacking reset_resume or other methods\n\nThis patch (as1024) takes care of a FIXME issue: Drivers that don\u0027t\nhave the necessary suspend, resume, reset_resume, pre_reset, or\npost_reset methods will be unbound and their interface reprobed when\none of the unsupported events occurs.\n\nThis is made slightly more difficult by the fact that bind operations\nwon\u0027t work during a system sleep transition.  So instead the code has\nto defer the operation until the transition ends.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ],
  "next": "742120c63138651c898614001cb58cd607401eac"
}
