[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