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

Marek Vasut marex at denx.de
Sat Mar 12 22:27:26 CET 2022


On 3/12/22 18:22, Wolfgang Grandegger wrote:
> dev_read_size() returns -EINVAL (-22) if the property does not exist.

Which property ?

> Signed-off-by: Wolfgang Grandegger <wg at aries-embedded.de>
> ---
>   drivers/usb/gadget/dwc2_udc_otg.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/usb/gadget/dwc2_udc_otg.c b/drivers/usb/gadget/dwc2_udc_otg.c
> index 2748270..00f7e8e 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 ret <= 0, then platdata->tx_fifo_sz_nb is now uninitialized ?

>   	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) {
> @@ -1052,7 +1053,6 @@ static int dwc2_udc_otg_reset_init(struct udevice *dev,
>   		return ret;
>   
>   	ret = reset_assert_bulk(resets);
> -
>   	if (!ret) {
>   		udelay(2);
>   		ret = reset_deassert_bulk(resets);

This shouldn't be part of the patch ?


More information about the U-Boot mailing list