Bug 198165 - 4.14 kernel regression - Intel 8260 Bluetooth fails after resume
Summary: 4.14 kernel regression - Intel 8260 Bluetooth fails after resume
Status: RESOLVED PATCH_ALREADY_AVAILABLE
Alias: None
Product: Drivers
Classification: Unclassified
Component: Bluetooth (show other bugs)
Hardware: Intel Linux
: P1 normal
Assignee: linux-bluetooth@vger.kernel.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-12-14 17:03 UTC by Robert Hancock
Modified: 2017-12-20 01:56 UTC (History)
1 user (show)

See Also:
Kernel Version: 4.14.5
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments

Description Robert Hancock 2017-12-14 17:03:22 UTC
After resuming from suspend, Intel 8260 Bluetooth often no longer functions using 4.14.5 kernel under Fedora 27. This worked fine in 4.13 kernels. This is using an HP Elitebook Folio G1 machine.

Output in kernel log after resume:

[73568.191622] usb 1-5: new full-speed USB device number 6 using xhci_hcd
[73568.305858] usb 1-5: device descriptor read/64, error -71
[73568.390323] IPv6: ADDRCONF(NETDEV_UP): wlp109s0: link is not ready
[73568.523679] usb 1-5: device descriptor read/64, error -71
[73568.684331] IPv6: ADDRCONF(NETDEV_UP): wlp109s0: link is not ready
[73568.705099] IPv6: ADDRCONF(NETDEV_UP): wlp109s0: link is not ready
[73568.747607] usb 1-5: new full-speed USB device number 7 using xhci_hcd
[73568.861601] usb 1-5: device descriptor read/64, error -71
[73569.082593] usb 1-5: device descriptor read/64, error -71
[73569.184585] usb usb1-port5: attempt power cycle
[73569.812628] usb 1-5: new full-speed USB device number 8 using xhci_hcd
[73569.812768] usb 1-5: Device not responding to setup address.
[73570.016811] usb 1-5: Device not responding to setup address.
[73570.224602] usb 1-5: device not accepting address 8, error -71
[73570.338596] usb 1-5: new full-speed USB device number 9 using xhci_hcd
[73570.338817] usb 1-5: Device not responding to setup address.
[73570.544810] usb 1-5: Device not responding to setup address.
[73570.752574] usb 1-5: device not accepting address 9, error -71
[73570.752645] usb usb1-port5: unable to enumerate USB device
Comment 1 Richard Mauger 2017-12-17 17:54:15 UTC
I think this issue should be assigned to linux-usb@vger.kernel.org. It looks like a USB problem instead of Bluetooth.

I have a similar result on a HP Z2 Mini connected by USB 2.0 cable to a HP Z22n monitor. The HP Z22n has a built in USB 2.0 hub.

Using Fedora kernel 4.14.3-300.fc27.x86_64 this is the working journalctl output:
kernel: usb 1-4: new high-speed USB device number 3 using xhci_hcd
kernel: usb 1-4: New USB device found, idVendor=0424, idProduct=2512
kernel: usb 1-4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
kernel: hub 1-4:1.0: USB hub found
kernel: hub 1-4:1.0: 2 ports detected
kernel: usb 1-4.1: new low-speed USB device number 5 using xhci_hcd
kernel: usb 1-4.1: New USB device found, idVendor=04d9, idProduct=4545
kernel: usb 1-4.1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
kernel: usb 1-4.1: Product: USB Keyboard
kernel: input: USB Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.1/1-4.1:1.0/0003:04D9:4545.0002/input/input3
kernel: usb 1-4.2: new full-speed USB device number 6 using xhci_hcd
kernel: usb 1-4.2: New USB device found, idVendor=046d, idProduct=c52b
kernel: usb 1-4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
kernel: usb 1-4.2: Product: USB Receiver
kernel: usb 1-4.2: Manufacturer: Logitech

However with Fedora kernel 4.14.5-300.fc27.x86_64 the HP Z22n USB 2.0 hub is effectively disabled with this journalctl output:
kernel: usb 1-4: new full-speed USB device number 3 using xhci_hcd
kernel: usb 1-4: device descriptor read/64, error -71
kernel: usb 1-4: device descriptor read/64, error -71
kernel: usb 1-4: new full-speed USB device number 4 using xhci_hcd
kernel: usb 1-4: device descriptor read/64, error -71
kernel: usb 1-4: device descriptor read/64, error -71
kernel: usb usb1-port4: attempt power cycle
kernel: usb 1-4: new full-speed USB device number 5 using xhci_hcd
kernel: usb 1-4: Device not responding to setup address.
kernel: usb 1-4: Device not responding to setup address.
kernel: usb 1-4: device not accepting address 5, error -71
kernel: usb 1-4: new full-speed USB device number 6 using xhci_hcd
kernel: usb 1-4: Device not responding to setup address.
kernel: usb 1-4: Device not responding to setup address.
kernel: usb 1-4: device not accepting address 6, error -71
kernel: usb usb1-port4: unable to enumerate USB device

I think the block of code that runs the 'attempt power cycle' is part of kernel commit 973593a960ddac0f14f0d8877d2d0abe0afda795 on 20171128.

File drivers/usb/core/hub.c has the following block addition in hub_port_connect() against 973593a960ddac0f14f0d8877d2d0abe0afda795:
/* When halfway through our retry count, power-cycle the port */
if (i == (SET_CONFIG_TRIES / 2) - 1) {
    dev_info(&port_dev->dev, "attempt power cycle\n");
    usb_hub_set_port_power(hdev, hub, port1, false);
    msleep(2 * hub_power_on_good_delay(hub));
    usb_hub_set_port_power(hdev, hub, port1, true);
    msleep(hub_power_on_good_delay(hub));
}

The 'device descriptor read/64, error -71' output looks like it is probably getting generated by hub_port_init() in the same file.
Comment 2 Robert Hancock 2017-12-20 01:56:59 UTC
It appears that a later update to the iwlwifi and/or Intel Bluetooth firmware in the linux-firmware package has resolved this problem. Presumably there is some dependency between the newer kernel and the newer firmware.

Richard, I would imagine your problem is a separate issue and should likely be a separate Bugzilla report.

Note You need to log in before you can comment on or make changes to this bug.