Messages in this thread Patch in this message | | | From | Saravana Kannan <> | Date | Mon, 15 Aug 2022 17:43:19 -0700 | Subject | Re: boot stuck at starting kernel, due to __genpd_dev_pm_attach? |
| |
On Mon, Aug 15, 2022 at 5:28 PM Colin Foster <colin.foster@in-advantage.com> wrote: > > On Mon, Aug 15, 2022 at 08:23:07PM +0200, Pavel Machek wrote: > > Hi! > > > > > You might have already gotten this report, but I tried running v6.0-rc1 > > > on my BeagleBone Black and it gets stuck right after "Starting kernel > > > ..." from U-Boot. > > > > > > A bisect pointed me to commit 5a46079a9645 ("PM: domains: Delete usage > > > of driver_deferred_probe_check_state()"). > > > > > > I don't have much more detail than that, other than I'm using the > > > in-tree am335x-boneblack.dts device tree and I believe I had tested with > > > the multi-v7-defconfig for this verification. I'm happy to test anything > > > that might offer more information. > > > > Well, standart next step is reverting 5a46079a9645 on top of v6.0-rc1, > > and if it starts working, either you get fix in your inbox, or you ask > > Linus to revert :-). > > I was able to revert 5a46079a9645 and 9cbffc7a5956 and successfully boot > v6.0-rc1 on the Beaglebone Black. > > I still don't know whether the root cause is the patch, or perhaps an > invalid boneblack DTS. I'll try and dig to get more info about what > might be failing. But I do think anyone using a Beaglebone will have > this issue, and I also think I'm not the only using the BBB. >
Hi Colin,
Thanks for the report. There have been other reports like this. This commit in question is probably the cause. I have two series going.
One [1] is to revert these patches. Probably more suited for 5.19.xxx releases.
The other [2] is to actually fix the issues you are seeing without reverting these patches (long term we do want to keep the patch that's causing the issue for you -- not going into the details here). Can you give this series[2] a shot and tell me if it fixes the issue? You might need to pull in this additional diff on top of [2] (I'll roll it into v2 of the series once I get some tests on this)
diff --git a/drivers/base/core.c b/drivers/base/core.c index 2f012e826986..866755d8ad95 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -2068,7 +2068,11 @@ static int fw_devlink_create_devlink(struct device *con, device_links_write_unlock(); }
- sup_dev = get_dev_from_fwnode(sup_handle); + if (sup_handle->flags & FWNODE_FLAG_NOT_DEVICE) + sup_dev = fwnode_get_next_parent_dev(sup_handle); + else + sup_dev = get_dev_from_fwnode(sup_handle); + if (sup_dev) { /* * If it's one of those drivers that don't actually bind to Thanks, Saravana
[1] - https://lore.kernel.org/lkml/20220727185012.3255200-1-saravanak@google.com/ [2] - https://lore.kernel.org/lkml/20220810060040.321697-1-saravanak@google.com/
| |