[PATCH v2] usb: dwc2: handle return code of dev_read_size() in of to, plat function

Wolfgang Grandegger wg at aries-embedded.de
Sun Mar 13 09:18:41 CET 2022


dev_read_size() returns -EINVAL (-22) if the property "g-tx-fifo-size"
does not exist. If that's the case, we now keep the default value of 0.

Signed-off-by: Wolfgang Grandegger <wg at aries-embedded.de>
---
Changes since  v1:
- removed unrelated changes (missing empty line)
- improved commit message

 drivers/usb/gadget/dwc2_udc_otg.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/gadget/dwc2_udc_otg.c b/drivers/usb/gadget/dwc2_udc_otg.c
index 2748270..12e91bb 100644
--- a/drivers/usb/gadget/dwc2_udc_otg.c
+++ b/drivers/usb/gadget/dwc2_udc_otg.c
@@ -996,8 +996,9 @@ static int dwc2_udc_otg_of_to_plat(struct udevice *dev)
 	plat->rx_fifo_sz = dev_read_u32_default(dev, "g-rx-fifo-size", 0);
 	plat->np_tx_fifo_sz = dev_read_u32_default(dev, "g-np-tx-fifo-size", 0);
 
-	plat->tx_fifo_sz_nb =
-		dev_read_size(dev, "g-tx-fifo-size") / sizeof(u32);
+	ret = dev_read_size(dev, "g-tx-fifo-size");
+	if (ret > 0)
+		platdata->tx_fifo_sz_nb = ret / sizeof(u32);
 	if (plat->tx_fifo_sz_nb > DWC2_MAX_HW_ENDPOINTS)
 		plat->tx_fifo_sz_nb = DWC2_MAX_HW_ENDPOINTS;
 	if (plat->tx_fifo_sz_nb) {
-- 
1.9.1



More information about the U-Boot mailing list