I've found a problem on our ARM based systems where a kexec'd kernel fails coming out of S3. The problem is caused by the re-ordering of the device tree nodes done by kexec (which reconstructs the device tree from the proc file system). The re-ordered DT nodes cause the device registration to change order which in turn changes the suspend/resume order. This is breaking a few of our drivers that have dependencies on other drivers. We ordered the original DT to handle these dependencies but the kexec re-order breaks this. I can fix this by making the dependencies between drivers explicit but I was wondering if anyone had ideas on maintaining the original DT node order on kexec?
Thanks Al