Bug#764263: linux-image-3.16-2-amd64: WARNING at drivers/base/firmware_class.c:1109 _request_firmware+0x521/0xaf0() [btusb?]

2017-09-08 Thread Darshaka Pathirana
Hi,

I know, this is a very old bug report but as I am still running
Debian/jessie (and others might too), I thought my findings would
still be helpful and/or lead to closing this bug.

On 10/07/2014 09:18 AM, Bjørn Mork wrote:
> Ben Hutchings  writes:
>> On Mon, 2014-10-06 at 20:15 +0200, Julien Cristau wrote:
>>> Package: src:linux
>>> Version: 3.16.3-2
>>> Severity: normal
>>>
>>> Hi,
>>>
>>> I get the following trace in my kernel log, which I don't think I've
>>> seen in pre-3.16 versions:
>>>
>>> Sep 29 19:12:49 betterave kernel: [ 7696.920600] PM: resume of devices 
>>> complete after 508.149 msecs
>>> Sep 29 19:12:49 betterave kernel: [ 7696.921181] [ cut here 
>>> ]
>>> Sep 29 19:12:49 betterave kernel: [ 7696.921188] WARNING: CPU: 2 PID: 3533 
>>> at /build/linux-P15SNz/linux-3.16.3/drivers/base/firmware_class.c:1109 
>>> _request_firmware+0x521/0xaf0()
>> [...]
>>> Sep 29 19:12:49 betterave kernel: [ 7696.921405]  [] ? 
>>> request_firmware+0x2c/0x40
>>> Sep 29 19:12:49 betterave kernel: [ 7696.921412]  [] ? 
>>> btusb_setup_bcm_patchram+0x85/0x430 [btusb]
>>> Sep 29 19:12:49 betterave kernel: [ 7696.921419]  [] ? 
>>> rpm_check_suspend_allowed+0x6a/0xc0
>> [...]
>>> Sep 29 19:12:49 betterave kernel: [ 7696.921528] bluetooth hci0: firmware: 
>>> brcm/BCM20702A0-0a5c-21e6.hcd will not be loaded
>> [...]
>>
>> This means: btusb tries to load firmware during its resume operation,
>> when userland is not yet available.  This doesn't work if firmware
>> loading depends on the userland firmware agent.
>>
>> The warning won't appear if the firmware is installed in the usual
>> place, as direct loading will work.  And the firmware agent is npw
>> deprecated and not even enabled in Debian kernels.  We could remove this
>> warning, but it would be papering over a driver bug.
> 
> Are you sure about this?  FWIW I've occasionally seen similar warnings
> from another btusb device with firmware (using kernels I've built
> myself, so not reported here of course). And I haven't really bothered to
> look at the root cause before, so I haven't reported it upstream either.
> [...]

I also got this kernel backtrace log, especially after resume from
suspend. So I tested the following configurations:

* Kernel: 3.16.43-2+deb8u2 / without firmware
* Kernel: 3.16.43-2+deb8u2 / with firmware
* Kernel: 4.9.30-2+deb9u2~bpo8+1 / without firmware
* Kernel: 4.9.30-2+deb9u2~bpo8+1 / with firmware

Finding the correct firmware is a complete different story (see
my comments in #801084 for details) but I only got the kernel
backtrace log with the first configuration (Kernel: 3.16.43-2+deb8u2 /
without firmware).

So I think this issue is fixed in the jessie-backports kernel.

If you need more information on this, please let me know. If Julien
can confirm that the kernel log is not shown with the new kernel
version, this bug can be closed.

Regards,
 - Darsha



signature.asc
Description: OpenPGP digital signature


Bug#764263: linux-image-3.16-2-amd64: WARNING at drivers/base/firmware_class.c:1109 _request_firmware+0x521/0xaf0() [btusb?]

2014-10-07 Thread Bjørn Mork
Ben Hutchings b...@decadent.org.uk writes:

 On Mon, 2014-10-06 at 20:15 +0200, Julien Cristau wrote:
 Package: src:linux
 Version: 3.16.3-2
 Severity: normal
 
 Hi,
 
 I get the following trace in my kernel log, which I don't think I've
 seen in pre-3.16 versions:
 
 Sep 29 19:12:49 betterave kernel: [ 7696.920600] PM: resume of devices 
 complete after 508.149 msecs
 Sep 29 19:12:49 betterave kernel: [ 7696.921181] [ cut here 
 ]
 Sep 29 19:12:49 betterave kernel: [ 7696.921188] WARNING: CPU: 2 PID: 3533 
 at /build/linux-P15SNz/linux-3.16.3/drivers/base/firmware_class.c:1109 
 _request_firmware+0x521/0xaf0()
 [...]
 Sep 29 19:12:49 betterave kernel: [ 7696.921405]  [813af8ac] ? 
 request_firmware+0x2c/0x40
 Sep 29 19:12:49 betterave kernel: [ 7696.921412]  [a065f895] ? 
 btusb_setup_bcm_patchram+0x85/0x430 [btusb]
 Sep 29 19:12:49 betterave kernel: [ 7696.921419]  [813a663a] ? 
 rpm_check_suspend_allowed+0x6a/0xc0
 [...]
 Sep 29 19:12:49 betterave kernel: [ 7696.921528] bluetooth hci0: firmware: 
 brcm/BCM20702A0-0a5c-21e6.hcd will not be loaded
 [...]

 This means: btusb tries to load firmware during its resume operation,
 when userland is not yet available.  This doesn't work if firmware
 loading depends on the userland firmware agent.

 The warning won't appear if the firmware is installed in the usual
 place, as direct loading will work.  And the firmware agent is npw
 deprecated and not even enabled in Debian kernels.  We could remove this
 warning, but it would be papering over a driver bug.

Are you sure about this?  FWIW I've occasionally seen similar warnings
from another btusb device with firmware (using kernels I've built
myself, so not reported here of course). And I haven't really bothered to
look at the root cause before, so I haven't reported it upstream either.

But looking at _request_firmware() now it seems to me that this warning
is triggered _before_ we attempt any direct loading:


_request_firmware(const struct firmware **firmware_p, const char *name,
  struct device *device, unsigned int opt_flags)
{

..
if (opt_flags  FW_OPT_NOWAIT) {
timeout = usermodehelper_read_lock_wait(timeout);
if (!timeout) {
dev_dbg(device, firmware: %s loading timed out\n,
name);
ret = -EBUSY;
goto out;
}
} else {
ret = usermodehelper_read_trylock();
if (WARN_ON(ret)) {
dev_err(device, firmware: %s will not be loaded\n,
name);
goto out;
}
}

ret = fw_get_filesystem_firmware(device, fw-priv);

 

That's the WARN_ON() we are hitting, as can be seen by the error message
following the warning.  So we fail to get the usermodehelper read lock
(why do we need that?) and bail out before even attempting the direct
loading.

I will not claim I understand any of this.  But the warning is
definitely triggered on some resumes, with firmware in the usual place
and without the firmware agent being enabled.


Bjørn


--
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/8738b02vr1@nemi.mork.no



Bug#764263: linux-image-3.16-2-amd64: WARNING at drivers/base/firmware_class.c:1109 _request_firmware+0x521/0xaf0() [btusb?]

2014-10-06 Thread Julien Cristau
Package: src:linux
Version: 3.16.3-2
Severity: normal

Hi,

I get the following trace in my kernel log, which I don't think I've
seen in pre-3.16 versions:

Sep 29 19:12:49 betterave kernel: [ 7696.920600] PM: resume of devices complete 
after 508.149 msecs
Sep 29 19:12:49 betterave kernel: [ 7696.921181] [ cut here 
]
Sep 29 19:12:49 betterave kernel: [ 7696.921188] WARNING: CPU: 2 PID: 3533 at 
/build/linux-P15SNz/linux-3.16.3/drivers/base/firmware_class.c:1109 
_request_firmware+0x521/0xaf0()
Sep 29 19:12:49 betterave kernel: [ 7696.921282] Modules linked in: ctr ccm 
bnep binfmt_misc nfsd auth_rpcgss oid_registry nfs_acl nfs lockd fscache sunrpc 
nls_utf8 nls_cp437 vfat fat snd_hda_codec_hdmi snd_hda_codec_realtek 
snd_hda_codec_generic joydev arc4 iwldvm ecb mac80211 x86_pkg_temp_thermal 
intel_powerclamp intel_rapl btusb coretemp bluetooth kvm_intel kvm 6lowpan_iphc 
crc32_pclmul ghash_clmulni_intel iTCO_wdt aesni_intel iTCO_vendor_support 
aes_x86_64 lrw gf128mul glue_helper iwlwifi evdev snd_hda_intel efi_pstore 
ablk_helper psmouse snd_hda_controller cryptd i915 snd_hda_codec cfg80211 
serio_raw snd_hwdep snd_pcm efivars pcspkr thinkpad_acpi snd_timer nvram wmi 
snd drm_kms_helper ac soundcore i2c_i801 tpm_tis mei_me drm rfkill shpchp 
i2c_algo_bit lpc_ich tpm battery mei video i2c_core mfd_core button processor 
loop fuse parport_pc ppdev lp parport autofs4 ext4 crc16 mbcache jbd2 dm_mod sg 
sd_mod crc_t10dif crct10dif_generic ahci crct10dif_pclmul crct10dif_common 
libahci crc32c_intel ehci_pci ehci_hcd xhci_hcd libata sdhci_pci sdhci scsi_mod 
mmc_core e1000e usbcore usb_common ptp pps_core thermal thermal_sys
Sep 29 19:12:49 betterave kernel: [ 7696.921326] ACPI: 
\_SB_.PCI0.LPC_.EC__.BAT1: docking
Sep 29 19:12:49 betterave kernel: [ 7696.921327] 
Sep 29 19:12:49 betterave kernel: [ 7696.921329] PM: Finishing wakeup.
Sep 29 19:12:49 betterave kernel: [ 7696.921333] CPU: 2 PID: 3533 Comm: 
kworker/u17:0 Not tainted 3.16-2-amd64 #1 Debian 3.16.3-2
Sep 29 19:12:49 betterave kernel: [ 7696.921338] Restarting tasks ... 
Sep 29 19:12:49 betterave kernel: [ 7696.921338] Hardware name: LENOVO 
2324CTO/2324CTO, BIOS G2ET92WW (2.52 ) 02/22/2013
Sep 29 19:12:49 betterave kernel: [ 7696.921353] Workqueue: hci0 hci_power_on 
[bluetooth]
Sep 29 19:12:49 betterave kernel: [ 7696.921362]  0009 
81506188  81065707
Sep 29 19:12:49 betterave kernel: [ 7696.921365]  880214b3fd48 
880201fe6d80 880201c25e80 8800d4797600
Sep 29 19:12:49 betterave kernel: [ 7696.921371]  880214b3fd40 
813af2b1 0004ff102100 8800d57bdab8
Sep 29 19:12:49 betterave kernel: [ 7696.921377] Call Trace:
Sep 29 19:12:49 betterave kernel: [ 7696.921386]  [81506188] ? 
dump_stack+0x41/0x51
Sep 29 19:12:49 betterave kernel: [ 7696.921394]  [81065707] ? 
warn_slowpath_common+0x77/0x90
Sep 29 19:12:49 betterave kernel: [ 7696.921400]  [813af2b1] ? 
_request_firmware+0x521/0xaf0
Sep 29 19:12:49 betterave kernel: [ 7696.921405]  [813af8ac] ? 
request_firmware+0x2c/0x40
Sep 29 19:12:49 betterave kernel: [ 7696.921412]  [a065f895] ? 
btusb_setup_bcm_patchram+0x85/0x430 [btusb]
Sep 29 19:12:49 betterave kernel: [ 7696.921419]  [813a663a] ? 
rpm_check_suspend_allowed+0x6a/0xc0
Sep 29 19:12:49 betterave kernel: [ 7696.921428]  [813a7359] ? 
__pm_runtime_idle+0x69/0x80
Sep 29 19:12:49 betterave kernel: [ 7696.921439]  [a060991d] ? 
hci_dev_do_open+0x25d/0x920 [bluetooth]
Sep 29 19:12:49 betterave kernel: [ 7696.921446]  [8109bd4f] ? 
enqueue_task_fair+0x2cf/0xe20
Sep 29 19:12:49 betterave kernel: [ 7696.921454]  [8101b89d] ? 
native_sched_clock+0x2d/0x80
Sep 29 19:12:49 betterave kernel: [ 7696.921465]  [a060a5dc] ? 
hci_power_on+0x2c/0x170 [bluetooth]
Sep 29 19:12:49 betterave kernel: [ 7696.921473]  [81092064] ? 
ttwu_do_wakeup+0x14/0xd0
Sep 29 19:12:49 betterave kernel: [ 7696.921482]  [8107f4a2] ? 
process_one_work+0x172/0x420
Sep 29 19:12:49 betterave kernel: [ 7696.921488]  [8107fb35] ? 
worker_thread+0x115/0x520
Sep 29 19:12:49 betterave kernel: [ 7696.921494]  [8107fa20] ? 
rescuer_thread+0x2d0/0x2d0
Sep 29 19:12:49 betterave kernel: [ 7696.921500]  [81085dcd] ? 
kthread+0xbd/0xe0
Sep 29 19:12:49 betterave kernel: [ 7696.921507]  [81085d10] ? 
kthread_create_on_node+0x180/0x180
Sep 29 19:12:49 betterave kernel: [ 7696.921513]  [8150c1bc] ? 
ret_from_fork+0x7c/0xb0
Sep 29 19:12:49 betterave kernel: [ 7696.921519]  [81085d10] ? 
kthread_create_on_node+0x180/0x180
Sep 29 19:12:49 betterave kernel: [ 7696.921522] ---[ end trace 
6e5c53426f331854 ]---
Sep 29 19:12:49 betterave kernel: [ 7696.921528] bluetooth hci0: firmware: 
brcm/BCM20702A0-0a5c-21e6.hcd will not be loaded
Sep 29 19:12:49 betterave kernel: [ 7696.921534] Bluetooth: hci0: BCM: patch 
brcm/BCM20702A0-0a5c-21e6.hcd not found
Sep 29 

Bug#764263: linux-image-3.16-2-amd64: WARNING at drivers/base/firmware_class.c:1109 _request_firmware+0x521/0xaf0() [btusb?]

2014-10-06 Thread Ben Hutchings
On Mon, 2014-10-06 at 20:15 +0200, Julien Cristau wrote:
 Package: src:linux
 Version: 3.16.3-2
 Severity: normal
 
 Hi,
 
 I get the following trace in my kernel log, which I don't think I've
 seen in pre-3.16 versions:
 
 Sep 29 19:12:49 betterave kernel: [ 7696.920600] PM: resume of devices 
 complete after 508.149 msecs
 Sep 29 19:12:49 betterave kernel: [ 7696.921181] [ cut here 
 ]
 Sep 29 19:12:49 betterave kernel: [ 7696.921188] WARNING: CPU: 2 PID: 3533 at 
 /build/linux-P15SNz/linux-3.16.3/drivers/base/firmware_class.c:1109 
 _request_firmware+0x521/0xaf0()
[...]
 Sep 29 19:12:49 betterave kernel: [ 7696.921405]  [813af8ac] ? 
 request_firmware+0x2c/0x40
 Sep 29 19:12:49 betterave kernel: [ 7696.921412]  [a065f895] ? 
 btusb_setup_bcm_patchram+0x85/0x430 [btusb]
 Sep 29 19:12:49 betterave kernel: [ 7696.921419]  [813a663a] ? 
 rpm_check_suspend_allowed+0x6a/0xc0
[...]
 Sep 29 19:12:49 betterave kernel: [ 7696.921528] bluetooth hci0: firmware: 
 brcm/BCM20702A0-0a5c-21e6.hcd will not be loaded
[...]

This means: btusb tries to load firmware during its resume operation,
when userland is not yet available.  This doesn't work if firmware
loading depends on the userland firmware agent.

The warning won't appear if the firmware is installed in the usual
place, as direct loading will work.  And the firmware agent is npw
deprecated and not even enabled in Debian kernels.  We could remove this
warning, but it would be papering over a driver bug.

Ben.

-- 
Ben Hutchings
The program is absolutely right; therefore, the computer must be wrong.


signature.asc
Description: This is a digitally signed message part