[PATCH][SRU][Xenial]UBUNTU: SAUCE: fix bt firmware loading failed after S3

AceLan Kao acelan.kao at canonical.com
Thu Jul 27 02:36:04 UTC 2017


BugLink: http://bugs.launchpad.net/bugs/1706833

[Impact]
BT fails to load firmware after S3. On my system it's atheros' chip,
but the same issue can be seen with broadcom's chip, too.
   [542.6274] WARNING: CPU: 0 PID: 20729 at /build/linux-MD8jsN/linux-4.4.0/drivers/base/firmware_class.c:1148 _request_firmware+0x7c2/0xaf0()

The root cause of this issue is request_firmware() is being called
at the wrong time.

[Fix]
The fix is from this old thread[1], but the patch didn't be accepted
by the maintainer. It prevents the work queue from being re-created
and calls request_firmware() before usermodehelper is fully resumed.
Making the workqueue freezable preserves the delay and will postpone
the firmware loading time.

[Test Case]
Verified on the machine has this issue, and confirm this patch works.

[Regression Potential]
>From what I can see, I think this change should be safe,
and after 240 times S3 test, the system and BT functions are still working.

1. http://lists.openwall.net/netdev/2015/05/06/3

Laura Abbott (1):
  UBUNTU: SAUCE: Bluetooth: Make request workqueue freezable

 net/bluetooth/hci_core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.7.4





More information about the kernel-team mailing list