On Thu, Oct 21, 2021 at 4:21 AM Amit Pundir <amit.pundir@xxxxxxxxxx> wrote: > > Hi Saravana, > > This patch broke v5.15-rc6 on RB5 (sm8250 | qcom/qrb5165-rb5.dts). > I can't boot past this point https://www.irccloud.com/pastebin/raw/Nv6ZwHmW. Amit top posting? How did that happen? :) The fact you are seeing this issue is super strange though. The driver literally does nothing other than allowing some sync_state() callbacks to happen. I also grepped for the occurence of "simple-bus" in arch/arm64/boot/dts/qcom/ and the only instance for 8250 is for the soc node. The only thing I can think of is that without my patch some sync_state() callbacks weren't getting called and maybe it was masking some other issue. Can you try to boot with this log (see log patch below) and see if the device hangs right after a sync_state() callback? Also, looking at the different sync_state() implementations in upstream, I'm guessing one of the devices isn't voting for interconnect bandwidth when it should have. Another thing you could do is boot without the simple-bus changes and then look for all instances of "state_synced" in /sys/devices and then see if any of them has the value "0" after boot up is complete. -Saravana -- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -1099,6 +1099,7 @@ static void device_links_flush_sync_list(struct list_head *list, if (dev != dont_lock_dev) device_lock(dev); + dev_info(dev, "Calling sync_state()\n"); if (dev->bus->sync_state) dev->bus->sync_state(dev); else if (dev->driver && dev->driver->sync_state)