← Back to team overview

kernel-packages team mailing list archive

[Bug 1577024] Re: Kernel 4.2.X and 4.4.X - Fix USB3.0 link power management (LPM) claim/release logic in USBFS


Patch is now in mainline. Pending the requisite testing carried out by
Ubuntu team, may I please have this patch nominated for promotion to
downstream jobs (ie: Xenial, Wily, and Vivid).

Thank you.

commit 6fb650d43da3e7054984dc548eaa88765a94d49f
Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Date:   Fri Apr 29 15:25:17 2016 -0400

    USB: leave LPM alone if possible when binding/unbinding interface drivers
    When a USB driver is bound to an interface (either through probing or
    by claiming it) or is unbound from an interface, the USB core always
    disables Link Power Management during the transition and then
    re-enables it afterward.  The reason is because the driver might want
    to prevent hub-initiated link power transitions, in which case the HCD
    would have to recalculate the various LPM parameters.  This
    recalculation takes place when LPM is re-enabled and the new
    parameters are sent to the device and its parent hub.
    However, if the driver does not want to prevent hub-initiated link
    power transitions then none of this work is necessary.  The parameters
    don't need to be recalculated, and LPM doesn't need to be disabled and
    It turns out that disabling and enabling LPM can be time-consuming,
    enough so that it interferes with user programs that want to claim and
    release interfaces rapidly via usbfs.  Since the usbfs kernel driver
    doesn't set the disable_hub_initiated_lpm flag, we can speed things up
    and get the user programs to work by leaving LPM alone whenever the
    flag isn't set.
    And while we're improving the way disable_hub_initiated_lpm gets used,
    let's also fix its kerneldoc.
    Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
    Tested-by: Matthew Giassa <matthew@xxxxxxxxxx>
    CC: Mathias Nyman <mathias.nyman@xxxxxxxxx>
    CC: <stable@xxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

** Patch added: "6fb650d43da3e7054984dc548eaa88765a94d49f.patch"

You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.

  Kernel 4.2.X and 4.4.X - Fix USB3.0 link power management (LPM)
  claim/release logic in USBFS

Status in linux package in Ubuntu:
Status in linux source package in Vivid:
Status in linux source package in Wily:
Status in linux source package in Xenial:

Bug description:
  I am currently carrying out kernel testing and debugging with Alan Stern on the mainline kernel. Alan has proposed a patch to resolve a bug in USBFS that causes USB machine vision cameras to fail on kernels that contain the following patch:
      commit e951f84074b84a3f5aecbffd01da74576e0068d5
      Author: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
      Date:   Tue Jun 16 09:08:26 2015 +0800
      usb: core: lpm: set lpm_capable for root hub device
      commit 2d2a316765d956bc5cb6bb367b2ec52ca59ab8e9 upstream.

  There is an issue in this patch that impacts software that rapidly
  issues claim/release calls in USBFS, and all of our customers that use
  Ubuntu 14.04.4 (kernel 4.2.x) and Ubuntu 16.04 (kernel 4.4.x) are
  unable to communicate with their machine vision cameras using our
  software stack.

  The patch for the mainline kernel is being tested, and is currently posted, along with a history of this issue, at:

  Right now, all of our customers have to either use an older kernel, or
  manually patch their own kernel with the fix provided by Alan if they
  are required to use a newer kernel. I am raising this bug so that,
  once the patch is submitted to the the mainline/linus series, it can
  be included in the next "monthly" kernel update made available to the
  general public, and so our customers can just run a normal "vanilla"
  system without having to rely on manually patching their kernel every
  time they need to update.

  I can be contacted at:

  Thank you.

  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: linux-image-3.13.0-55-generic 3.13.0-55.94
  ProcVersionSignature: Ubuntu 3.13.0-55.94-generic 3.13.11-ckt20
  Uname: Linux 3.13.0-55-generic i686
  NonfreeKernelModules: nvidia
  ApportVersion: 2.14.1-0ubuntu3.19
  Architecture: i386
   /dev/snd/controlC0:  owner      4035 F.... pulseaudio
  CurrentDesktop: Unity
  Date: Sat Apr 30 10:36:15 2016
  EcryptfsInUse: Yes
  HibernationDevice: RESUME=UUID=0287e25d-68d6-4390-aced-c682b8e13b60
  InstallationDate: Installed on 2013-09-23 (949 days ago)
  InstallationMedia: Ubuntu 12.04.3 LTS "Precise Pangolin" - Release i386 (20130820.1)
   lo        no wireless extensions.
   cscotun0  no wireless extensions.
   eth0      no wireless extensions.
  MachineType: Hewlett-Packard HP xw4600 Workstation
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-55-generic root=UUID=292845c9-c333-4592-aa06-bc01f45d3ee6 ro quiet splash
   linux-restricted-modules-3.13.0-55-generic N/A
   linux-backports-modules-3.13.0-55-generic  N/A
   linux-firmware                             1.127.19
  SourcePackage: linux
  UpgradeStatus: Upgraded to trusty on 2014-07-30 (639 days ago)
  dmi.bios.date: 07/09/2012
  dmi.bios.vendor: Hewlett-Packard
  dmi.bios.version: 786F3 v01.34
  dmi.board.asset.tag: CAC94101JZ
  dmi.board.name: 0AA0h
  dmi.board.vendor: Hewlett-Packard
  dmi.chassis.asset.tag: CAC94101JZ
  dmi.chassis.type: 6
  dmi.chassis.vendor: Hewlett-Packard
  dmi.modalias: dmi:bvnHewlett-Packard:bvr786F3v01.34:bd07/09/2012:svnHewlett-Packard:pnHPxw4600Workstation:pvr:rvnHewlett-Packard:rn0AA0h:rvr:cvnHewlett-Packard:ct6:cvr:
  dmi.product.name: HP xw4600 Workstation
  dmi.sys.vendor: Hewlett-Packard

To manage notifications about this bug go to: