Re: 4.5 Regression - mouse not working after resume from suspend

From: Chris Clayton
Date: Sat Feb 06 2016 - 06:38:40 EST




On 06/02/16 08:37, Chris Clayton wrote:
> There seems to be a regression in resuming my laptop from a suspend to RAM or disk. The symptom is that my bluetooth
> mouse doesn't work after the resume. The kernel is built after a pull of Linus' tree this morning (v4.5-rc2-340-g5af9c2e).
>
> Attached is the output from dmesg showing the boot, suspend (to RAM) and resume. You'll see that during the resume,
> error -517 is being reported for some devices. Suspend/resume has worked perfectly with a 4.[234].x kernels.
>
> I'll start a bisection, but thought I'd give a heads up in case someone can see the problem before I get done with the
> bisect.
>

The bisection ended up at:

2ff13894cfb877cb3d02d96a8402202f0a6f3efd is the first bad commit
commit 2ff13894cfb877cb3d02d96a8402202f0a6f3efd
Author: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Date: Wed Nov 25 16:15:44 2015 +0200

Bluetooth: Perform HCI update for power on synchronously

The request to update HCI during power on is always coming either from
hdev->req_workqueue or through an ioctl, so it's safe to use
hci_req_sync for it. This way we also eliminate potential races with
incoming mgmt commands or other actions while powering on.

Part of this refactoring is the splitting of mgmt_powered() into
mgmt_power_on() and __mgmt_power_off() functions. The main reason is
the different requirements as far as hdev locking is concerned, as
highlighted with the __ prefix of the power off API.

Since the power on in the case of clearing the AUTO_OFF flag cannot be
done synchronously in the set_powered mgmt handler, the hci_power_on
work callback is extended to cover this (which also simplifies the
set_powered helper a lot).

Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>

:040000 040000 a093d0be66f39f99c33a6a4725b2330ca9b41d03 a1eff79cec3ee7208e5aa200ab5069726bbeea8e M include
:040000 040000 d2d122193b33d45fcb9c2bc69f2024487a7528a0 0036e1ec2e125f2432cfd420b5f79ca133ec34f7 M net


The bisect log is:

git bisect start
# bad: [5af9c2e19da6514a1a50b07d97d93b74a7711873] Merge branch 'akpm' (patches from Andrew)
git bisect bad 5af9c2e19da6514a1a50b07d97d93b74a7711873
# good: [afd2ff9b7e1b367172f18ba7f693dfb62bdcb2dc] Linux 4.4
git bisect good afd2ff9b7e1b367172f18ba7f693dfb62bdcb2dc
# bad: [63b6da39bb38e8f1a1ef3180d32a39d6baf9da84] perf: Fix perf_event_exit_task() race
git bisect bad 63b6da39bb38e8f1a1ef3180d32a39d6baf9da84
# bad: [aee3bfa3307cd0da2126bdc0ea359dabea5ee8f7] Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
git bisect bad aee3bfa3307cd0da2126bdc0ea359dabea5ee8f7
# good: [60b7eca1dc2ec066916b3b7ac6ad89bea13cb9af] Merge tag 'upstream-4.5-rc1' of git://git.infradead.org/linux-ubifs
git bisect good 60b7eca1dc2ec066916b3b7ac6ad89bea13cb9af
# bad: [a188222b6ed29404ac2d4232d35d1fe0e77af370] net: Rename NETIF_F_ALL_CSUM to NETIF_F_CSUM_MASK
git bisect bad a188222b6ed29404ac2d4232d35d1fe0e77af370
# good: [1343c65f70ee1b1f968a08b30e1836a4e37116cd] fm10k: always check init_hw for errors
git bisect good 1343c65f70ee1b1f968a08b30e1836a4e37116cd
# good: [bc9b145a092aca91a7f6ef40cdb3628b6ada7ec9] Merge branch 'for-4.5-ancestor-test' of
git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
git bisect good bc9b145a092aca91a7f6ef40cdb3628b6ada7ec9
# good: [a4fcad656e1100bdda9b0b752b93a1a276810469] fm10k: whitespace cleanups
git bisect good a4fcad656e1100bdda9b0b752b93a1a276810469
# bad: [7302b9d90117496049dd4bfa28755f7c2ed55b27] ieee802154/adf7242: Driver for ADF7242 MAC IEEE802154
git bisect bad 7302b9d90117496049dd4bfa28755f7c2ed55b27
# bad: [a0c38245153abe1fd844af9b166d1a5d5dafe7b1] Bluetooth: hci_intel: Use shorter timeout for HCI commands
git bisect bad a0c38245153abe1fd844af9b166d1a5d5dafe7b1
# good: [bf943cbf76ecd3b9838a80d5e08777b0f4ccc665] Bluetooth: Move fast connectable code to hci_request.c
git bisect good bf943cbf76ecd3b9838a80d5e08777b0f4ccc665
# bad: [742c59516822f4a4bc23b0961d88c569a7f1bf71] Bluetooth: Simplify setting Configuration Field
git bisect bad 742c59516822f4a4bc23b0961d88c569a7f1bf71
# bad: [02c04afea93fbba7925984df455bc63e7d92da97] Bluetooth: Simplify read_adv_features code
git bisect bad 02c04afea93fbba7925984df455bc63e7d92da97
# bad: [2ff13894cfb877cb3d02d96a8402202f0a6f3efd] Bluetooth: Perform HCI update for power on synchronously
git bisect bad 2ff13894cfb877cb3d02d96a8402202f0a6f3efd
# first bad commit: [2ff13894cfb877cb3d02d96a8402202f0a6f3efd] Bluetooth: Perform HCI update for power on synchronously


Just shout if you need any additional diagnotics.


> Chris
>