Closed jjakob closed 4 years ago
This is a known problem introduced when the PCI code was being cleaned up. I think it started failing about Linux Commit 745eeeac68d7 ("staging: mt7621-pci: factor out 'mt7621_pcie_enable_port' function") but when I was trying to dig deeper into it, I couldn't make it fail reliably, so I found find out exactly what caused the regression.
I could repeat this 3 times in a row once. I think it's how I do the shutdowns: poweroff from system, then as it halts or starts rebooting in u-boot, turn off power switch, wait ~2-3s, power on again. As I said, last time I did this, I had to hard power off 3 times as it hung on the pci init each time.
Looking at the commit you referenced, https://github.com/neilbrown/linux/commit/745eeeac68d7 I see an obvious difference in order and timing between the old and new code. Does reverting that commit fix the issue? I might try if it fixes the issue on my end (I need to get some time to assemble a 2nd Gnubee as the one I tested on is now in use)
I believe this is now fixed, as of my 5.6.3 kernels (hopefully the fix will be in mainline soon). So I'll close this bug now. If you still have problems with 5.6.3 or later, please re-open.
Boot hangs and requires another hard power cycle: