Bug 81821

Summary: btusb logs error drivers/base/firmware_class.c:1105 _request_firmware+0x431/0x7b0()
Product: Drivers Reporter: Igor Raits (igor.raits)
Component: BluetoothAssignee: linux-bluetooth (linux-bluetooth)
Status: NEW ---    
Severity: normal CC: alan, alexander.meinhardt+forum, debian, eugene.shalygin, igor.raits, mihai, mnl, peter.volkov, zebul666
Priority: P1    
Hardware: All   
OS: Linux   
See Also: https://bugzilla.redhat.com/show_bug.cgi?id=1133378
Kernel Version: 3.16.0 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: journal
full journal
lsusb -vv for my BT device
Firmware for 0A5C:21E6 in HCD

Description Igor Raits 2014-08-07 09:06:25 UTC
Created attachment 145351 [details]
journal

wake up laptop
Comment 1 Igor Raits 2014-08-07 09:07:23 UTC
Created attachment 145361 [details]
full journal
Comment 2 Igor Raits 2014-08-07 09:21:28 UTC
Created attachment 145371 [details]
lsusb -vv for my BT device
Comment 3 Igor Raits 2014-08-25 04:40:44 UTC
I've reproduced this bug on:
Linux version 3.17.0-0.rc1.git3.1.fc22.x86_64 (mockbuild@bkernel02.phx2.fedoraproject.org) (gcc version 4.9.1 20140813 (Red Hat 4.9.1-7) (GCC) ) #1 SMP Fri Aug 22 16:19:51 UTC 2014
Comment 4 Igor Raits 2014-08-25 04:48:09 UTC
Probably after this commit.

commit 10d4c6736ea6e6ff293dd588551270bca00ca45d
Author: Petri Gynther <pgynther@google.com>
Date:   Thu May 8 15:50:01 2014 -0700

    Bluetooth: btusb: Add Broadcom patch RAM support
    
    After hardware reset, some BCM Bluetooth adapters obtain their initial firmware
    from OTPROM chip. Once this initial firmware is running, the firmware can be
    further upgraded over HCI interface with .hcd files provided by Broadcom. This
    is also known as "patch RAM" support. This change implements that.
    
    If the .hcd file is not found in /lib/firmware, BCM Bluetooth adapter continues
    to operate with the initial firmware. Sample kernel log:
      hotplug: sys=firmware act=add fw=brcm/BCM20702A0-0a5c-22be.hcd dev=...
      Bluetooth: hci0: BCM: patch brcm/BCM20702A0-0a5c-22be.hcd not found
    
    If the .hcd file is found, btusb driver pushes it to the BCM Bluetooth adapter and
    it starts using the new firmware. Sample kernel log:
      hotplug: sys=firmware act=add fw=brcm/BCM20702A0-0a5c-22be.hcd dev=...
      Bluetooth: hci0: BCM: patching hci_ver=06 hci_rev=1000 lmp_ver=06 lmp_subver=220e
      Bluetooth: hci0: BCM: firmware hci_ver=06 hci_rev=1389 lmp_ver=06 lmp_subver=220e
    
    Above, we can see that hci_rev goes from 1000 to 1389 as a result of the upgrade.
    
    Signed-off-by: Petri Gynther <pgynther@google.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>



Probably this commit did this regression? If it could - I can build kernel with revert.
Comment 5 Igor Raits 2014-08-25 05:36:01 UTC
WARNING: CPU: 3 PID: 4081 at drivers/base/firmware_class.c:1124 _request_firmware+0x509/0x820()
Modules linked in: fuse xt_CHECKSUM ipt_MASQUERADE ccm tun ip6t_rpfilter ip6t_REJECT xt_conntrack ebtable_nat ebtable_broute bridge stp llc ebtable_filter ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_security ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw bnep vfat iTCO_wdt fat iTCO_vendor_support x86_pkg_temp_thermal coretemp kvm_intel kvm arc4 crct10dif_pclmul crc32_pclmul snd_hda_codec_hdmi crc32c_intel iwldvm snd_hda_codec_realtek snd_hda_codec_generic mac80211 ghash_clmulni_intel uvcvideo microcode snd_hda_intel videobuf2_vmalloc serio_raw videobuf2_memops snd_hda_controller snd_hda_codec videobuf2_core btusb snd_hwdep iwlwifiP[FC])[DF]g
 v4l2_common bluetooth videodev sdhci_pci media snd_seq cfg80211 snd_seq_device sdhci mmc_core cdc_acm snd_pcm lpc_ich mfd_core i2c_i801 snd_timer shpchp thinkpad_acpi wmi snd soundcore rfkill tpm_tis tpm mei_me mei sunrpc cdc_mbim cdc_ncm i915 usbnet mii cdc_wdm i2c_algo_bit drm_kms_helper drm video
CPU: 3 PID: 4081 Comm: kworker/u17:0 Not tainted 3.17.0-0.rc1.git1.1.fc22.x86_64 #1
Hardware name: LENOVO 3444FHG/3444FHG, BIOS G6ETA6WW (2.66 ) 05/28/2014
Workqueue: hci0 hci_power_on [bluetooth][03]
 0000000000000000 000000003eacc208 ffff8800d42bbb30 ffffffff81829af0
 0000000000000000 ffff8800d42bbb68 ffffffff810a114d ffff8800d42bbc58
 ffff8801c1167d80 ffff8800bec6f180 ffff8801f5c546d0 00000000fffffff5
Call Trace:
 [<ffffffff81829af0>] dump_stack+0x4d/0x66
 [<ffffffff810a114d>] warn_slowpath_common+0x7d/0xa0
 [<ffffffff810a127a>] warn_slowpath_null+0x1a/0x20
 [<ffffffff81542ad9>] _request_firmware+0x509/0x820
 [<ffffffff814008d9>] ? snprintf+0x49/0x60
 [<ffffffff81542e21>] request_firmware+0x31/0x50[03]
 [<ffffffffa02bccb3>] btusb_setup_bcm_patchram+0x83/0x560 [btusb]
 [<ffffffff810fa11d>] ? trace_hardirqs_on+0xd/0x10
 [<ffffffffa03dd3a7>] hci_dev_do_open+0xe7/0xac0 [bluetooth]
 [<ffffffffa03de450>] hci_power_on+0x40/0x1e0 [bluetooth]
 [<ffffffff810c124c>] process_one_work+0x21c/0x6d0
 [<ffffffff810c11e0>] ? process_one_work+0x1b0/0x6d0
 [<ffffffff810c176b>] worker_thread+0x6b/0x4a0
 [<ffffffff810c1700>] ? process_one_work+0x6d0/0x6d0
 [<ffffffff810c7ba8>] kthread+0x108/0x120
 [<ffffffff810fa06d>] ? trace_hardirqs_on_caller+0x15d/0x200
 [<ffffffff810c7aa0>] ? kthread_create_on_node+0x250/0x250
 [<ffffffff818338bc>] ret_from_fork+0x7c/0xb0
 [<ffffffff810c7aa0>] ? kthread_create_on_node+0x250/0x250
Comment 6 Peter Volkov 2014-11-01 18:55:35 UTC
Same problem reported in debian and I'm using gentoo and I have this issue too. https://bugzilla.kernel.org/show_bug.cgi?id=81821

Well, actually traces are not exactly the same but look very close:

[  715.359220] PM: resume of devices complete after 529.783 msecs
[  715.359724] ------------[ cut here ]------------
[  715.359732] WARNING: CPU: 3 PID: 2169 at drivers/base/firmware_class.c:1105 _request_firmware+0x221/0x7f7()
[  715.359779] Modules linked in: reiserfs ext4 mbcache jbd2 ecb btusb bluetooth uvcvideo videobuf2_vmalloc videobuf2_memo
ps videobuf2_core v4l2_common videodev nls_cp1251 nls_cp866 vfat fat x86_pkg_temp_thermal kvm_intel kvm iwldvm snd_hda_cod
ec_hdmi mac80211 snd_hda_codec_realtek microcode snd_hda_codec_generic i2c_i801 iwlwifi snd_hda_intel cfg80211 snd_hda_con
troller thinkpad_acpi snd_hda_codec nvram rfkill snd_hwdep snd_pcm rtc_cmos snd_timer zfs(PO) zunicode(PO) zavl(PO) zcommo
n(PO) znvpair(PO) spl(O) btrfs xor zlib_deflate raid6_pq ehci_pci ehci_hcd xhci_hcd i915 cfbfillrect cfbimgblt intel_gtt i
2c_algo_bit cfbcopyarea usbcore drm_kms_helper usb_common drm agpgart video dm_mirror dm_region_hash dm_log dm_mod vboxnet
adp(O) vboxnetflt(O) vboxdrv(O) efivarfs
[  715.359782] CPU: 3 PID: 2169 Comm: kworker/u17:0 Tainted: P           O  3.16.1-hardened #2
[  715.359784] Hardware name: LENOVO 23205NG/23205NG, BIOS G2ET92WW (2.52 ) 02/22/2013
[  715.359796] Workqueue: hci0 hci_power_on [bluetooth]
[  715.359799]  0000000000000000 ffff880404147be0 ffffffff8142b2a2 0000000000000000
[  715.359802]  ffff880404147c18 ffffffff8104bacb ffffffff812c4339 00000000fffffff5
[  715.359804]  ffff8803ff96b5a0 ffff88040762b000 ffff8800d5d6fc00 ffff880404147c28
[  715.359805] Call Trace:
[  715.359812]  [<ffffffff8142b2a2>] dump_stack+0x45/0x56
[  715.359816]  [<ffffffff8104bacb>] warn_slowpath_common+0x75/0x8e
[  715.359820]  [<ffffffff812c4339>] ? _request_firmware+0x221/0x7f7
[  715.359822]  [<ffffffff8104bb88>] warn_slowpath_null+0x15/0x17
[  715.359825]  [<ffffffff812c4339>] _request_firmware+0x221/0x7f7
[  715.359829]  [<ffffffff812c493f>] request_firmware+0x30/0x42
[  715.359833]  [<ffffffffa0952cc9>] btusb_setup_bcm_patchram+0x82/0x38d [btusb]
[  715.359836]  [<ffffffff812becd9>] ? rpm_idle+0x74/0x182
[  715.359849]  [<ffffffffa0160d87>] ? usb_autopm_put_interface+0x34/0x37 [usbcore]
[  715.359859]  [<ffffffffa08c9cb0>] hci_dev_do_open+0x130/0x82e [bluetooth]
[  715.359862]  [<ffffffff810016de>] ? __switch_to+0x25d/0x4be
[  715.359872]  [<ffffffffa08ca7c5>] hci_power_on+0x2e/0x10d [bluetooth]
[  715.359879]  [<ffffffff8105fcf3>] process_one_work+0x154/0x221
[  715.359885]  [<ffffffff81060519>] worker_thread+0x278/0x32b
[  715.359890]  [<ffffffff810602a1>] ? cancel_delayed_work_sync+0x10/0x10
[  715.359895]  [<ffffffff8106506d>] kthread+0xb2/0xba
[  715.359900]  [<ffffffff81064fbb>] ? __kthread_parkme+0x62/0x62
[  715.359905]  [<ffffffff81430a94>] ret_from_fork+0x74/0xa0
[  715.359910]  [<ffffffff81064fbb>] ? __kthread_parkme+0x62/0x62
[  715.359912] ---[ end trace c7df378a5f2c99ab ]---
[  715.359915] bluetooth hci0: firmware: brcm/BCM20702A0-0a5c-21e6.hcd will not be loaded
[  715.359918] Bluetooth: hci0: BCM: patch brcm/BCM20702A0-0a5c-21e6.hcd not found
[  715.360076] PM: Finishing wakeup.
Comment 7 zebul666 2015-04-04 19:23:18 UTC
This happens almost every time on waking up my laptop too (Dell Inspiron 15 3521). It's the same on ubuntu 14.10 or 15.04 or archlinux

with ubuntu 15.04 on 3.19.0-12-generic
[ 7225.366307] PM: resume of devices complete after 732.344 msecs
[ 7225.366810] ------------[ cut here ]------------
[ 7225.366817] WARNING: CPU: 2 PID: 22802 at /build/buildd/linux-3.19.0/drivers/base/firmware_class.c:1126 _request_firmware+0x72e/0xbd0()
[ 7225.366859] Modules linked in: pci_stub vboxpci(OE) vboxnetadp(OE) vboxnetflt(OE) vboxdrv(OE) rfcomm bnep rtsx_usb_ms memstick xts gf128mul dm_crypt btrfs xor dell_wmi sparse_keymap btusb uvcvideo bluetooth videobuf2_vmalloc videobuf2_memops videobuf2_core v4l2_common videodev media dell_laptop dcdbas i8k raid6_pq snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep snd_pcm snd_seq_midi snd_seq_midi_event intel_rapl iosf_mbi x86_pkg_temp_thermal snd_rawmidi intel_powerclamp coretemp kvm_intel dm_multipath kvm scsi_dh crct10dif_pclmul wl(POE) crc32_pclmul ghash_clmulni_intel snd_seq cryptd snd_seq_device joydev snd_timer serio_raw ip6t_REJECT nf_reject_ipv6 cfg80211 nf_log_ipv6 snd mei_me soundcore mei shpchp lpc_ich xt_hl ip6t_rt
[ 7225.366887]  nf_conntrack_ipv6 mac_hid nf_defrag_ipv6 ipt_REJECT nf_reject_ipv4 nf_log_ipv4 nf_log_common xt_LOG xt_multiport xt_limit xt_tcpudp xt_addrtype nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack ip6table_filter ip6_tables nf_conntrack_netbios_ns nf_conntrack_broadcast nf_nat_ftp nf_nat nf_conntrack_ftp nf_conntrack parport_pc iptable_filter ppdev ip_tables x_tables lp parport autofs4 rtsx_usb_sdmmc rtsx_usb bcache hid_generic usbhid hid i915 i2c_algo_bit drm_kms_helper r8169 psmouse mii drm ahci libahci wmi video
[ 7225.366890] CPU: 2 PID: 22802 Comm: kworker/u17:2 Tainted: P        W  OE  3.19.0-12-generic #12-Ubuntu
[ 7225.366891] Hardware name: Dell Inc. Inspiron 3521/06RYX8, BIOS A12 10/25/2013
[ 7225.366908] Workqueue: hci0 hci_power_on [bluetooth]
[ 7225.366911]  ffffffff81b10910 ffff880090ccfb78 ffffffff817c2175 ffffffff81c54db8
[ 7225.366913]  0000000000000000 ffff880090ccfbb8 ffffffff8107595a ffffffff8151921a
[ 7225.366915]  ffff880090ccfcd0 ffff880218346da0 ffff88022d951480 00000000fffffff5
[ 7225.366915] Call Trace:
[ 7225.366922]  [<ffffffff817c2175>] dump_stack+0x45/0x57
[ 7225.366925]  [<ffffffff8107595a>] warn_slowpath_common+0x8a/0xc0
[ 7225.366928]  [<ffffffff8151921a>] ? _request_firmware+0x5a/0xbd0
[ 7225.366930]  [<ffffffff81075a4a>] warn_slowpath_null+0x1a/0x20
[ 7225.366932]  [<ffffffff815198ee>] _request_firmware+0x72e/0xbd0
[ 7225.366934]  [<ffffffff81519dc5>] request_firmware+0x35/0x50
[ 7225.366938]  [<ffffffffc0e88869>] btusb_setup_bcm_patchram+0x89/0x570 [btusb]
[ 7225.366945]  [<ffffffff81510a96>] ? rpm_idle+0xd6/0x230
[ 7225.366957]  [<ffffffffc0f63561>] hci_dev_do_open+0xe1/0xa90 [bluetooth]
[ 7225.366963]  [<ffffffff810135e0>] ? __switch_to+0x150/0x5e0
[ 7225.366974]  [<ffffffffc0f646f0>] hci_power_on+0x40/0x200 [bluetooth]
[ 7225.366979]  [<ffffffff8108eb78>] process_one_work+0x158/0x430
[ 7225.366982]  [<ffffffff8108f6bb>] worker_thread+0x5b/0x530
[ 7225.366985]  [<ffffffff8108f660>] ? rescuer_thread+0x3a0/0x3a0
[ 7225.366990]  [<ffffffff81094759>] kthread+0xc9/0xe0
[ 7225.366994]  [<ffffffff81094690>] ? kthread_create_on_node+0x1c0/0x1c0
[ 7225.366999]  [<ffffffff817c91d8>] ret_from_fork+0x58/0x90
[ 7225.367003]  [<ffffffff81094690>] ? kthread_create_on_node+0x1c0/0x1c0
[ 7225.367005] ---[ end trace b50896310f48a4e4 ]---
[ 7225.367009] bluetooth hci0: firmware: brcm/BCM43142A0-0a5c-21d7.hcd will not be loaded
[ 7225.367012] Bluetooth: hci0: BCM: patch brcm/BCM43142A0-0a5c-21d7.hcd not found
[ 7225.367074] PM: Finishing wakeup.

the firmware is present contrary to what last line of log says.

on archlinux:
avril 03 17:48:26 callisto kernel: ------------[ cut here ]------------
avril 03 17:48:26 callisto kernel: WARNING: CPU: 1 PID: 125 at drivers/base/firmware_class.c:1126 _request_firmware+0x662/0xbb0()
avril 03 17:48:26 callisto kernel: Modules linked in: wl(PO) cfg80211 ext4 mbcache jbd2 nls_iso8859_1 nls_cp437 isofs vfat fat fuse coretemp inte
avril 03 17:48:26 callisto kernel:  sch_fq_codel rtsx_usb_sdmmc led_class mmc_core rtsx_usb hid_generic usbhid hid btrfs xor raid6_pq uas usb_sto
avril 03 17:48:26 callisto kernel: CPU: 1 PID: 125 Comm: kworker/u17:0 Tainted: P           O   3.19.2-1-ARCH #1
avril 03 17:48:26 callisto kernel: Hardware name: Dell Inc. Inspiron 3521/06RYX8, BIOS A12 10/25/2013
avril 03 17:48:26 callisto kernel: Workqueue: hci0 hci_power_on [bluetooth]
avril 03 17:48:26 callisto kernel:  0000000000000000 000000003dfb9d32 ffff8800a92bbb78 ffffffff8155cfdf
avril 03 17:48:26 callisto kernel:  0000000000000000 0000000000000000 ffff8800a92bbbb8 ffffffff81073a4a
avril 03 17:48:26 callisto kernel:  0000000000000000 ffff8800a92bbcd0 00000000fffffff5 ffff8801b43096a0
avril 03 17:48:26 callisto kernel: Call Trace:
avril 03 17:48:26 callisto kernel:  [<ffffffff8155cfdf>] dump_stack+0x4c/0x6e
avril 03 17:48:26 callisto kernel:  [<ffffffff81073a4a>] warn_slowpath_common+0x8a/0xc0
avril 03 17:48:26 callisto kernel:  [<ffffffff81073b7a>] warn_slowpath_null+0x1a/0x20
avril 03 17:48:26 callisto kernel:  [<ffffffff813eaf42>] _request_firmware+0x662/0xbb0
avril 03 17:48:26 callisto kernel:  [<ffffffff813eb4c5>] request_firmware+0x35/0x50
avril 03 17:48:26 callisto kernel:  [<ffffffffa044f866>] btusb_setup_bcm_patchram+0x86/0x590 [btusb]
avril 03 17:48:26 callisto kernel:  [<ffffffff813e23c7>] ? rpm_idle+0x1b7/0x2c0
avril 03 17:48:26 callisto kernel:  [<ffffffffa053fa11>] hci_dev_do_open+0xe1/0xaa0 [bluetooth]
avril 03 17:48:26 callisto kernel:  [<ffffffff811b6ae6>] ? kfree+0x196/0x1a0
avril 03 17:48:26 callisto kernel:  [<ffffffffa0540bb0>] hci_power_on+0x40/0x200 [bluetooth]
avril 03 17:48:26 callisto kernel:  [<ffffffff8108c0a4>] process_one_work+0x144/0x3f0
avril 03 17:48:26 callisto kernel:  [<ffffffff8108c6cb>] worker_thread+0x4b/0x460
avril 03 17:48:26 callisto kernel:  [<ffffffff8108c680>] ? init_pwq.part.23+0x10/0x10
avril 03 17:48:26 callisto kernel:  [<ffffffff81091748>] kthread+0xd8/0xf0
avril 03 17:48:26 callisto kernel:  [<ffffffff81091670>] ? kthread_create_on_node+0x1c0/0x1c0
avril 03 17:48:26 callisto kernel:  [<ffffffff81562758>] ret_from_fork+0x58/0x90
avril 03 17:48:26 callisto kernel:  [<ffffffff81091670>] ? kthread_create_on_node+0x1c0/0x1c0
avril 03 17:48:26 callisto kernel: ---[ end trace fad9177791677400 ]---
avril 03 17:48:26 callisto kernel: bluetooth hci0: firmware: brcm/BCM43142A0-0a5c-21d7.hcd will not be loaded
avril 03 17:48:26 callisto kernel: Bluetooth: hci0: BCM: patch brcm/BCM43142A0-0a5c-21d7.hcd not found
avril 03 17:48:26 callisto kernel: PM: Finishing wakeup.
Comment 8 Michael Lipp 2015-05-18 20:06:07 UTC
Okay, here's my trace.

[  167.502444] ------------[ cut here ]------------
[  167.502455] WARNING: CPU: 6 PID: 3864 at drivers/base/firmware_class.c:1126 _request_firmware+0x558/0x810()
[  167.502547] Modules linked in: rfcomm fuse hidp ccm xt_CHECKSUM ipt_MASQUERADE nf_nat_masquerade_ipv4 tun nf_conntrack_netbios_ns nf_conntrack_broadcast ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 xt_conntrack ebtable_nat ebtable_broute bridge stp llc ebtable_filter ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_security ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw bnep intel_rapl arc4 iosf_mbi x86_pkg_temp_thermal uvcvideo snd_hda_codec_realtek coretemp iwldvm snd_hda_codec_generic kvm_intel videobuf2_vmalloc mac80211 kvm btusb snd_hda_intel videobuf2_core iTCO_wdt iTCO_vendor_support bluetooth snd_hda_controller videobuf2_memops snd_hda_codec
[  167.502549]  v4l2_common videodev snd_hwdep crct10dif_pclmul snd_seq iwlwifi crc32_pclmul snd_seq_device crc32c_intel sdhci_pci snd_pcm cfg80211 ghash_clmulni_intel sdhci media cdc_acm thinkpad_acpi joydev mmc_core snd_timer serio_raw i2c_i801 snd mei_me lpc_ich tpm_tis mei mfd_core shpchp
[  167.502583] PM: Finishing wakeup.
[  167.502589] Restarting tasks ... 
[  167.502589]  soundcore rfkill tpm wmi intel_rst binfmt_misc i915 i2c_algo_bit drm_kms_helper e1000e drm cdc_mbim firewire_ohci cdc_ncm firewire_core usbnet ptp cdc_wdm crc_itu_t pps_core mii video [last unloaded: ipmi_msghandler]
[  167.502618] CPU: 6 PID: 3864 Comm: kworker/u17:0 Not tainted 3.19.7-200.fc21.x86_64 #1
[  167.502622] Hardware name: LENOVO 24297XG/24297XG, BIOS G4ETA4WW (2.64 ) 03/31/2015
[  167.502648] Workqueue: hci0 hci_power_on [bluetooth]
[  167.502652]  0000000000000000 00000000ccb2203a ffff88021343fb78 ffffffff8176f1f7
[  167.502658]  0000000000000000 0000000000000000 ffff88021343fbb8 ffffffff8109bc1a
[  167.502676]  0000000000000000 ffff88021343fcd0 00000000fffffff5 ffff880213e829c0
[  167.502680] Call Trace:
[  167.502687]  [<ffffffff8176f1f7>] dump_stack+0x45/0x57
[  167.502694]  [<ffffffff8109bc1a>] warn_slowpath_common+0x8a/0xc0
[  167.502698]  [<ffffffff8109bd4a>] warn_slowpath_null+0x1a/0x20
[  167.502703]  [<ffffffff814dc7d8>] _request_firmware+0x558/0x810
[  167.502708]  [<ffffffff814dcac5>] request_firmware+0x35/0x50
[  167.502715]  [<ffffffffa0365886>] btusb_setup_bcm_patchram+0x86/0x590 [btusb]
[  167.502720]  [<ffffffff814d4a46>] ? rpm_idle+0xd6/0x230
[  167.502726] usb 1-4: USB disconnect, device number 2
[  167.502742]  [<ffffffffa0511801>] hci_dev_do_open+0xe1/0xa90 [bluetooth]
[  167.502748]  [<ffffffff810c525d>] ? ttwu_do_activate.constprop.90+0x5d/0x70
[  167.502766]  [<ffffffffa0512980>] hci_power_on+0x40/0x200 [bluetooth]
[  167.502775]  [<ffffffff810b48fc>] process_one_work+0x14c/0x3f0
[  167.502781]  [<ffffffff810b5373>] worker_thread+0x53/0x470
[  167.502787]  [<ffffffff810b5320>] ? rescuer_thread+0x300/0x300
[  167.502793]  [<ffffffff810ba5c8>] kthread+0xd8/0xf0
[  167.502798]  [<ffffffff810ba4f0>] ? kthread_create_on_node+0x1b0/0x1b0
[  167.502806]  [<ffffffff81775958>] ret_from_fork+0x58/0x90
[  167.502811]  [<ffffffff810ba4f0>] ? kthread_create_on_node+0x1b0/0x1b0
[  167.502815] ---[ end trace 0db0055f5709df7f ]---
[  167.502820] bluetooth hci0: firmware: brcm/BCM20702A0-0a5c-21e6.hcd will not be loaded
[  167.502828] Bluetooth: hci0: BCM: patch brcm/BCM20702A0-0a5c-21e6.hcd not found
Comment 9 am1 2015-06-28 21:19:37 UTC
Created attachment 181211 [details]
Firmware for 0A5C:21E6 in HCD

Hi folks!

I converted this firmware from the origin Windows-Driver for a Lenovo ThinkPad X230.

Information-file:
bcbtums-win7x64-brcm.inf

Related origin firmware:
BCM20702A1_001.002.014.0449.0462.hex

Converted firmware:
BCM20702A0-0a5c-21e6.hcd

Location to load:
/lib/firmware/brcm/BCM20702A0-0a5c-21e6.hcd

Output after successful load:
kernel: Bluetooth: hci0: BCM: patching hci_ver=06 hci_rev=11ce lmp_ver=06 lmp_subver=220e
kernel: Bluetooth: hci0: BCM: firmware hci_ver=06 hci_rev=11ce lmp_ver=06 lmp_subver=220e

Enjoy :-)
Comment 10 Michael Lipp 2015-06-29 08:00:26 UTC
> I converted this firmware from the origin Windows-Driver for a Lenovo
> ThinkPad X230.

Nice approach, thanks. But this is not something for the "casual" user. I think we must still get rid of the error message.

My problem isn't with Bluetooth (it work fine without the patch). It's the fact that this error masks all subsequent kernel errors. Due to this being an error (although it really isn't) my kernel gets "tainted" and the reporting of subsequent problems (the ones that really matter to me) is turned off.