usb: dwc3: Fix remove function if there is no ulpi_reset gpio

As ulpi_reset gpio is now optional, we need to check it when doing
the 'dwc3_generic_remove' function. Check if it is declared before
accessing the ulpi_reset.

Fixes: 237d1f60b1d ("usb: dwc3: Use the devm_gpiod_get_optional()
		     API for reset gpio")

Reported-by: Thomas Nizan <tnizan@witekio.com>
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
diff --git a/drivers/usb/dwc3/dwc3-generic.c b/drivers/usb/dwc3/dwc3-generic.c
index b3ed728..7f0af05 100644
--- a/drivers/usb/dwc3/dwc3-generic.c
+++ b/drivers/usb/dwc3/dwc3-generic.c
@@ -145,7 +145,8 @@
 	struct dwc3 *dwc3 = &priv->dwc3;
 
 	if (CONFIG_IS_ENABLED(DM_GPIO) &&
-	    device_is_compatible(dev->parent, "xlnx,zynqmp-dwc3")) {
+	    device_is_compatible(dev->parent, "xlnx,zynqmp-dwc3") &&
+	    priv->ulpi_reset) {
 		struct gpio_desc *ulpi_reset = priv->ulpi_reset;
 
 		dm_gpio_free(ulpi_reset->dev, ulpi_reset);