Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> writes: > On Mon, 16 Jun 2014, Bjørn Mork wrote: >> Bjørn Mork <bjorn@xxxxxxx> writes: >> >> > So the problem is related to runtime suspend before first use. I >> > strongly suspect >> > >> > aae4518b3124 PM / sleep: Mechanism to avoid resuming runtime-suspended devices unnecessarily >> >> Nope, that was not it. So if blind guessing isn't going to work, then I >> guess there is no way around a bisect :-) > > You could simply wait for someone who knows the code to answer the > question. :-) Wait? Do I look like I'm patient :-) Besides, it was actually relieving to bisect a reliably reproducible non-crashing bug for once ;-) > I'm pretty sure this resulted from one of Dan Williams's changes to USB > port runtime PM. A whole bunch of them were added in 3.15-rc1. You are *so* much better at guessing than me: 9262c19d14c433a6a1ba25c3ff897cb89e412309 is the first bad commit commit 9262c19d14c433a6a1ba25c3ff897cb89e412309 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Tue May 20 18:08:12 2014 -0700 usb: disable port power control if not supported in wHubCharacteristics A hub indicates whether it supports per-port power control via the wHubCharacteristics field in its descriptor. If it is not supported a hub will still emulate ClearPortPower(PORT_POWER) requests by stopping the link state machine. However, since this does not save power do not bother suspending. This also consolidates support checks into a hub_is_port_power_switchable() helper. Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> :040000 040000 d4a0ba9da62e47951b60332f69d73931727ecab9 faf9138355178acda4bd0bb0077c520bf46bb10c M drivers And the "git bisect log": # bad: [7171511eaec5bf23fb06078f59784a3a0626b38f] Linux 3.16-rc1 # good: [1860e379875dfe7271c649058aeddffe5afd9d0d] Linux 3.15 git bisect start 'v3.16-rc1' 'v3.15' # bad: [aaeb2554337217dfa4eac2fcc90da7be540b9a73] Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media into next git bisect bad aaeb2554337217dfa4eac2fcc90da7be540b9a73 # good: [5142c33ed86acbcef5c63a63d2b7384b9210d39f] Merge tag 'staging-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging into next git bisect good 5142c33ed86acbcef5c63a63d2b7384b9210d39f # bad: [b05d59dfceaea72565b1648af929b037b0f96d7f] Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm into next git bisect bad b05d59dfceaea72565b1648af929b037b0f96d7f # bad: [e13cccfd86481bd4c0499577f44c570d334da79b] Merge tag 'spi-v3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into next git bisect bad e13cccfd86481bd4c0499577f44c570d334da79b # bad: [4a95b1fce97756d0333f8232eb7ed6974e93b054] usb: hub_handle_remote_wakeup() only exists for CONFIG_PM=y git bisect bad 4a95b1fce97756d0333f8232eb7ed6974e93b054 # good: [54969ed6c4d0b9eb7fa68a909be231f383f0c406] usb: ohci-exynos: Use struct device instead of platform_device git bisect good 54969ed6c4d0b9eb7fa68a909be231f383f0c406 # good: [0943d8ead30e9474034cc5e92225ab0fd29fd0d4] USB: cdc-acm: use tty-port dtr_rts git bisect good 0943d8ead30e9474034cc5e92225ab0fd29fd0d4 # good: [657d898a9320a7cdb9b94565d75ecf75c25cbf0a] usb: usb5303: add support for reference clock specified in device tree git bisect good 657d898a9320a7cdb9b94565d75ecf75c25cbf0a # bad: [5c79a1e303363d46082408fd306cdea6d33013fc] usb: introduce port status lock git bisect bad 5c79a1e303363d46082408fd306cdea6d33013fc # bad: [d8521afe35862f4fbe3ccd6ca37897c0a304edf3] usb: assign default peer ports for root hubs git bisect bad d8521afe35862f4fbe3ccd6ca37897c0a304edf3 # good: [342a74934197386e065e8ef00014e6f0cb5effe6] usb: pci_quirks: fix sparse 'symbol not declared' warning git bisect good 342a74934197386e065e8ef00014e6f0cb5effe6 # bad: [9262c19d14c433a6a1ba25c3ff897cb89e412309] usb: disable port power control if not supported in wHubCharacteristics git bisect bad 9262c19d14c433a6a1ba25c3ff897cb89e412309 # good: [600856c231ccb0cbf8afcf09066a8ab2a93ab03d] USB: mutual exclusion for resetting a hub and power-managing a port git bisect good 600856c231ccb0cbf8afcf09066a8ab2a93ab03d Bjørn -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html