Description
In the Linux kernel, the following vulnerability has been resolved: HID: nintendo: avoid bluetooth suspend/resume stalls Ensure we don't stall or panic the kernel when using bluetooth-connected controllers. This was reported as an issue on android devices using kernel 6.6 due to the resume hook which had been added for usb joycons. First, set a new state value to JOYCON_CTLR_STATE_SUSPENDED in a newly-added nintendo_hid_suspend. This makes sure we will not stall out the kernel waiting for input reports during led classdev suspend. The stalls could happen if connectivity is unreliable or lost to the controller prior to suspend. Second, since we lose connectivity during suspend, do not try joycon_init() for bluetooth controllers in the nintendo_hid_resume path. Tested via multiple suspend/resume flows when using the controller both in USB and bluetooth modes.
Product status
2af16c1f846bd60240745bbd3afa13d5f040c61a before 7b4a026313529a487821ef6ab494a61f12c1db08
2af16c1f846bd60240745bbd3afa13d5f040c61a before 72cb7eef06a5cde42b324dea85fa11fd5bb6a08a
2af16c1f846bd60240745bbd3afa13d5f040c61a before 4a0381080397e77792a5168069f174d3e56175ff
5.16
Any version before 5.16
6.12.39
6.15.7
6.16
References
git.kernel.org/...c/7b4a026313529a487821ef6ab494a61f12c1db08
git.kernel.org/...c/72cb7eef06a5cde42b324dea85fa11fd5bb6a08a
git.kernel.org/...c/4a0381080397e77792a5168069f174d3e56175ff