From 3aba92c9dd2302a91b56d49791041766dcc7dfeb Mon Sep 17 00:00:00 2001 From: Richard Habeeb Date: Mon, 24 Jul 2023 15:45:25 -0400 Subject: [PATCH] usb: xhci: Fix double free on failure drivers/core/device.c will call `device_free()` after xhci_register already frees the private device data. This can cause a crash later during the boot process, observed on aarch64 RPi4b as a synchronous exception. All callers of xhci_register use priv_auto, so this won't lead to memory leaks. Signed-off-by: Richard Habeeb Reviewed-by: Bin Meng Reviewed-by: Simon Glass --- drivers/usb/host/xhci.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index 9e33c5d855..5cacf0769e 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c @@ -1418,7 +1418,6 @@ int xhci_register(struct udevice *dev, struct xhci_hccr *hccr, return 0; err: - free(ctrl); debug("%s: failed, ret=%d\n", __func__, ret); return ret; } -- 2.39.5