Reported by Nikolaus Schaller, Nov 10, 2017
it appears as if WiFi support broke between 4.6 and 4.7 and something additional happened around 4.12.
Comment 1 by Nikolaus Schaller, Sep 24, 2019
New analysis shows that the (first) problem occurs between letux-4.6 and letux-4.7-rc1. Probably one line in one of ca. 9500 changed files.
Comment 2 by Nikolaus Schaller, Sep 25, 2019
The problematic commit between letux-4.6 and letux-4.7-rc1 has been identified: #81eef6ca92014845d40e3f1310e42b7010303acc is the first bad commit commit #81eef6ca92014845d40e3f1310e42b7010303acc Author: Peter Ujfalusi <firstname.lastname@example.org> Date: Fri Apr 29 16:06:18 2016 +0300 mmc: omap_hsmmc: Use dma_request_chan() for requesting DMA channel The reason for the problem is that this change assumes that dma_request_chan() has a dev->of_node pointer to the device tree node. This is not the case on the OpenPandora where a pdata-quirk initializes a special omap_hsmmc.2 interface instead of taking what the device tree defines as mmc3. Hence, dev->of_node is NULL in dma_request_chan() and the dma driver can't be found.
Comment 3 by Nikolaus Schaller, Sep 26, 2019
A revert of the offending commit makes it work with 4.7-rc1 but here is a better solution: http://git.goldelico.com/?p=letux-kernel.git;a=shortlog;h=refs/heads/ letux-base-4.7/pandora-wifi This eliminates the pdata-quirks and replaces them with proper device tree entries and a hack in omap_hsmmc.c It is planned to port this to 4.14, 4.19, 5.2, 5.3 and upstream. For that we have to find out if it can be ported or if there are additional bugs (around 4.12?).
Comment 4 by Nikolaus Schaller, Sep 27, 2019
The reason why it was formulated as "and something additional happened around 4.12" is that the letux kernel did not boot at all (no activity after Starting Kernel...) between letux-4.11-rc1 and letux-4.12-rc4. Before that (letux-4.10), there was some w1251 activity and after (letux-4.12-rc5) there was none. So the exact location where something happened to the mmc3 /wl1251 subsystem was hidden by some bigger problem.
Comment 5 by Nikolaus Schaller, Sep 29, 2019
There was a bug (at least since letux-4.5) in the pandora device tree which did mix the pincontrol multiplexer domains. That was fixed by a patch which we introduced in letux-4.12-rc5: http://git.goldelico.com/?p=letux-kernel.git;a=commit;h=a03e288dee841 ee35ef5d4c1c841652ba07cd854 This should/could be backported to earlier kernels. The exact reason why it did not break before letux-4.11-rc1 is not known (maybe the code before was a little more robust). Anyways, we can now bisect the WiFi problem which was hidden between letux-4.11-rc1 and letux-4.12-rc4 so far.
Comment 6 by Nikolaus Schaller, Oct 11, 2019
Bisect has finally found the issue. There was a mixup of the sdio-quirks which did not take into account that there are different VENDOR_ID for wl1251 and wl1271. A patch set has been developed and applied to the letux kernel tree. Now it is ready for upstreaming.