v2026.04 crashing on Marvell Armada 3720

Ben Schneider ben at bens.haus
Mon May 25 03:21:48 CEST 2026


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