[QUESTION] kexec: ARM: kexec reorders device suspend/resume order

From: Alan Cooper
Date: Wed Aug 03 2016 - 18:38:59 EST


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