v2026.04 crashing on Marvell Armada 3720
Tony Dinh
mibodhi at gmail.com
Tue May 26 06:50:50 CEST 2026
Hi Ben,
This problem sounds familiar. Perhaps Tom can explain this. I recall a
patch recently related to DEVRES.
Commit 217cf65
dm: core: Default to using DEVRES outside of xPL
Added Tom.
All the best,
Tony
On Sun, May 24, 2026 at 6:21 PM Ben Schneider <ben at bens.haus> wrote:
>
> Hi Stefan,
>
> On Monday, May 11th, 2026 at 12:45 PM, Tony Dinh <mibodhi at gmail.com> wrote:
>
> > Added Stefan (MVEBU SoC maintainer).
> >
> > > The first commit to cause problems is actually 217cf65 dm:
> core: Default to using DEVRES outside of xPL.
>
> After a lot of testing, I think I've traced the issue to drivers/pinctrl/mvebu/pinctrl-armada-37xx.c. There are two calls
> to devm_kzalloc that, when I change to kzalloc and remove the dev
> argument, my device boots again.
>
> --- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
> +++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
> @@ -523,8 +523,7 @@ static int armada_37xx_fill_func(struct armada_37xx_pinctrl *info)
> const char **groups;
> int g;
>
> - funcs[n].groups = devm_kzalloc(info->dev, funcs[n].ngroups *
> - sizeof(*(funcs[n].groups)),
> + funcs[n].groups = kzalloc(funcs[n].ngroups * sizeof(*(funcs[n].groups)),
> GFP_KERNEL);
> if (!funcs[n].groups)
> return -ENOMEM;
> @@ -724,7 +723,7 @@ static int armada_37xx_pinctrl_probe(struct udevice *dev)
> * we allocate functions for number of pins and hope there are
> * fewer unique functions than pins available
> */
> - info->funcs = devm_kzalloc(info->dev, pin_data->nr_pins *
> + info->funcs = kzalloc(pin_data->nr_pins *
> sizeof(struct armada_37xx_pmx_func), GFP_KERNEL);
> if (!info->funcs)
> return -ENOMEM;
>
> I cannot explain why these changes resolve the issue so I'd
> appreciate if someone more knowledgeable would review.
> I'm also happy to test other proposed solutions. Thank you!
>
> Ben
More information about the U-Boot
mailing list