kernel-packages team mailing list archive
-
kernel-packages team
-
Mailing list archive
-
Message #180916
[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
re-enabled.
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"
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1577024/+attachment/4670331/+files/6fb650d43da3e7054984dc548eaa88765a94d49f.patch
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1577024
Title:
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:
Triaged
Status in linux source package in Vivid:
Triaged
Status in linux source package in Wily:
Triaged
Status in linux source package in Xenial:
Triaged
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:
https://bugzilla.kernel.org/show_bug.cgi?id=115961
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:
matthew@xxxxxxxxxx
matthew.giassa@xxxxxxxxxx
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
AudioDevicesInUse:
USER PID ACCESS COMMAND
/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)
IwConfig:
lo no wireless extensions.
cscotun0 no wireless extensions.
eth0 no wireless extensions.
MachineType: Hewlett-Packard HP xw4600 Workstation
ProcFB:
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-55-generic root=UUID=292845c9-c333-4592-aa06-bc01f45d3ee6 ro quiet splash
RelatedPackageVersions:
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
RfKill:
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:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1577024/+subscriptions
References