[PATCH] usb: gadget: udc: bcm63xx: Propagate iudma_init() error code
From: Xiangwu Lai
Date: Mon Nov 02 2026 - 20:45:15 EST
bcm63xx_init_udc_hw() calls iudma_init() and stores the return code
in rc, but then returns 0 unconditionally. When iudma_init() fails,
the hardware has already been torn down by bcm63xx_uninit_udc_hw(),
yet the probe believes initialization succeeded and goes on to
register a gadget controller with non-functional IUDMA channels.
Return rc so the probe fails and reports the real error.
Fixes: 613065e53cb1 ("usb: gadget: bcm63xx UDC driver")
Signed-off-by: Xiangwu Lai <laixiangwu@xxxxxxxxxxxxxxxxxxxx>
---
drivers/usb/gadget/udc/bcm63xx_udc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/bcm63xx_udc.c b/drivers/usb/gadget/udc/bcm63xx_udc.c
index ba91b1ebb..250bb7685 100644
--- a/drivers/usb/gadget/udc/bcm63xx_udc.c
+++ b/drivers/usb/gadget/udc/bcm63xx_udc.c
@@ -1012,7 +1012,7 @@ static int bcm63xx_init_udc_hw(struct bcm63xx_udc *udc)
if (rc)
bcm63xx_uninit_udc_hw(udc);
- return 0;
+ return rc;
}
/***********************************************************************