[PATCH v2 1/2] musb-new: omap2430: no host data access in gadget mode

Andreas Kemnade andreas at kemnade.info
Mon Jan 9 08:13:30 CET 2023


Avoid accessing structures (usb_bus_priv) only present when musb is
in host mode.

Signed-off-by: Andreas Kemnade <andreas at kemnade.info>
---
 drivers/usb/musb-new/omap2430.c | 34 ++++++++++++++++-----------------
 1 file changed, 16 insertions(+), 18 deletions(-)

diff --git a/drivers/usb/musb-new/omap2430.c b/drivers/usb/musb-new/omap2430.c
index 7d15b94a6c..0d1fb03727 100644
--- a/drivers/usb/musb-new/omap2430.c
+++ b/drivers/usb/musb-new/omap2430.c
@@ -214,37 +214,35 @@ static int omap2430_musb_of_to_plat(struct udevice *dev)
 
 static int omap2430_musb_probe(struct udevice *dev)
 {
-#ifdef CONFIG_USB_MUSB_HOST
-	struct musb_host_data *host = dev_get_priv(dev);
-#else
-	struct musb *musbp;
-#endif
 	struct omap2430_musb_plat *plat = dev_get_plat(dev);
-	struct usb_bus_priv *priv = dev_get_uclass_priv(dev);
 	struct omap_musb_board_data *otg_board_data;
 	int ret = 0;
 	void *base = dev_read_addr_ptr(dev);
-
-	priv->desc_before_addr = true;
+	struct musb *musbp;
 
 	otg_board_data = &plat->otg_board_data;
 
-#ifdef CONFIG_USB_MUSB_HOST
-	host->host = musb_init_controller(&plat->plat,
-					  (struct device *)otg_board_data,
-					  plat->base);
-	if (!host->host) {
-		return -EIO;
+	if (CONFIG_IS_ENABLED(USB_MUSB_HOST)) {
+		struct musb_host_data *host = dev_get_priv(dev);
+		struct usb_bus_priv *priv = dev_get_uclass_priv(dev);
+
+		priv->desc_before_addr = true;
+
+		host->host = musb_init_controller(&plat->plat,
+						  (struct device *)otg_board_data,
+						  plat->base);
+		if (!host->host)
+			return -EIO;
+
+		return musb_lowlevel_init(host);
 	}
 
-	ret = musb_lowlevel_init(host);
-#else
 	musbp = musb_register(&plat->plat, (struct device *)otg_board_data,
 			      plat->base);
 	if (IS_ERR_OR_NULL(musbp))
 		return -EINVAL;
-#endif
-	return ret;
+
+	return 0;
 }
 
 static int omap2430_musb_remove(struct udevice *dev)
-- 
2.30.2



More information about the U-Boot mailing list