Hi, The brcmfmac driver needs a firmware to work. With a Samsung Galaxy SIII (GT-I9300) that runs GNU/Linux (and an out of tree u-boot), when the brcmfmac is builtin the kernel (=y), when brcmfmac is probed, the root filesystem (that is on a partition of the internal eMMC) isn't mounted yet. So the brcmfmac driver fails to find its firmware, even if a firmware is present at the right location in the root filesystem. I've tried to set brcmfmac_module_init to late_initcall and late_initcall_sync but that didn't change much. I also looked a bit in init/main.c and init/do_mount.c and I didn't find any generic way that would already be used in drivers/ to wait for the rootfs to be mounted. I've attached the dmesg, .config (as config) and defconfig used to reproduce the bug if needed. For testing I used the following commit linux/master[1]: > commit 4b93c544e90e2b28326182d31ee008eb80e02074 (thunderbolt: test: > split up test cases in tb_test_credit_alloc_all) What would be the proper way of fixing that? References: ----------- [1]https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Denis.
Attachment:
defconfig
Description: Binary data
Attachment:
config
Description: Binary data
Attachment:
dmesg
Description: Binary data
Attachment:
pgpSjEvMxWPBB.pgp
Description: OpenPGP digital signature