Thread (5 messages) read the whole thread 5 messages, 3 authors, 2017-09-16

Re: WARNING: CPU: 3 PID: 2952 at drivers/base/firmware_class.c:1225 _request_firmware+0x329/0x890

From: Kai-Heng Feng <hidden>
Date: 2017-08-17 09:28:01
Subsystem: driver core, kobjects, debugfs and sysfs, the rest · Maintainers: Greg Kroah-Hartman, "Rafael J. Wysocki", Danilo Krummrich, Linus Torvalds

On Wed, Aug 16, 2017 at 11:26 PM, Chris Murphy [off-list ref] wrote:
Found this thread google searching.


4.13.0-0.rc4.git1.1.fc27.x86_64  Problem sometimes happens with this kernel.
This translates to git 623ce3456671.

4.13.0-0.rc3.git0.1.fc27.x86_64 But not this kernel, which translates
to the actual rc3 release (clean).

It seems to be a regression between those two. The problem only
happens when waking from suspend to RAM, but it doesn't always happen.
My theory is that if you request firmware when firmware_class is in
cache mode consecutively, and the device is changed, you will hit this
issue.
Can you give this patch a try?
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
index bfbe1e154128..910dce498f53 100644
--- a/drivers/base/firmware_class.c
+++ b/drivers/base/firmware_class.c
@@ -1177,6 +1177,9 @@ _request_firmware_prepare(struct firmware
**firmware_p, const char *name,

        ret = fw_lookup_and_allocate_buf(name, &fw_cache, &buf, dbuf, size);

+       if (!firmware_enabled() && device && (ret == 0 || ret == 1))
+               fw_add_devm_name(device, buf->fw_id);
+
        /*
         * bind with 'buf' now to avoid warning in failure path
         * of requesting firmware.


    Product Name: HP Spectre Notebook
    SKU Number: W2K28UA#ABA


dmesg, with bluetooth firmware warning and call trace only
https://drive.google.com/open?id=0B_2Asp8DGjJ9eDFsbHNMelVzelE

dmesg, normal boot
https://drive.google.com/open?id=0B_2Asp8DGjJ9X3gzYTdTNE4ydm8


--
Chris Murphy
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help