Booting the espressobin board with an Intel 7260 mini pcie wifi card plugged leads to the following kernel panic: http://sprunge.us/haED
It happens with a bare 4.12 kernel and with the one provided by Arch Linux  which a 4.12 with the following patches (taken from the linux-arm ml) applied:
* ARM64: dts: marvell: armada37xx: Fix timer interrupt specifiers
* ARM64: dts: marvell: armada37xx: Fix GIC maintenance interrupt
* ARM64: dts: marvell: armada37xx: Enable memory-mapped GIC CPU interface
* ARM64: dts: marvell: armada37xx: Wire PMUv3
* ARM64: dts: marvell: armada37xx: Enable USB2 on espressobin
* arm64: dts: marvell: Enable second SDHCI controller in Armada 37xx
* arm64: dts: marvell: Add microsd card definition for the ESPRESSObin
* arm64: marvell: armada37xx: Add eth0 alias
I found out that the marvell tree  have some fixes for the Aardvark PCI driver:
Applying those patches to a 4.12 kernel (plus the patches that uses Arch Linux) fixes the kernel panic and the wifi card work properly. The kernel configuration I used is:
* make defconfig
* enable cfg80211 extensions compatibility
* enable network DSA
* enable marvell DSA specific drivers
* enable iwlwifi
Let me know if you need more information.
Here is a branch with the mentionned patches applied:
Created attachment 257473 [details]
Captured from http://sprunge.us/haED so we don't have to worry about that site staying around.
Thanks a lot Matthieu for this bug report. Do you know which of those 4 commits specifically fixes your issue? Indeed it's quite important to distinguish the fixes from the improvements, so that only the appropriate commits gets backported into LTS kernel releases.
I have sent a patch series with those fixes, and a few other Aardvark patches: https://marc.info/?l=linux-pci&m=150486444201879&w=2
Hello Matthieu! Could you or somebody else check if this problem with Intel 7260 card still happens on 5.6 kernel?
I would like to know if Intel 7260 wifi card on aardvark pci controller still needs to disable ASPM L0S state on 5.6 kernel as this is the last patch from this bugzilla ticket which is not present in 5.6 kernel.
Kernel 5.8 contains change after which aardvark pcie driver does not touch ASPM L0s registers anymore.
Kernel ASPM code then take care about ASPM states and enable or disable them as needed.
So now all patches from this bugzilla ticket are in some form included in mainline kernel.