From: Felipe Balbi <balbi@ti.com>
Date: Fri, 17 Oct 2014 16:25:50 +0000 (-0500)
Subject: usb: gadget: udc: s3c-hsudc: do not rely on 'driver' argument
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=82891b959cbb2cd1827bc2713d46840fcf8dbe14;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

usb: gadget: udc: s3c-hsudc: do not rely on 'driver' argument

future patches will remove the extra 'driver'
argument to ->udc_stop(), in order to do that,
we must make sure that our UDC does not rely
on it first.

Signed-off-by: Felipe Balbi <balbi@ti.com>
---

diff --git a/drivers/usb/gadget/udc/s3c-hsudc.c b/drivers/usb/gadget/udc/s3c-hsudc.c
index f658f69567bd..f3bb2fa25115 100644
--- a/drivers/usb/gadget/udc/s3c-hsudc.c
+++ b/drivers/usb/gadget/udc/s3c-hsudc.c
@@ -1199,11 +1199,7 @@ static int s3c_hsudc_stop(struct usb_gadget *gadget,
 	if (!hsudc)
 		return -ENODEV;
 
-	if (!driver || driver != hsudc->driver)
-		return -EINVAL;
-
 	spin_lock_irqsave(&hsudc->lock, flags);
-	hsudc->driver = NULL;
 	hsudc->gadget.speed = USB_SPEED_UNKNOWN;
 	s3c_hsudc_uninit_phy();
 
@@ -1222,7 +1218,9 @@ static int s3c_hsudc_stop(struct usb_gadget *gadget,
 	regulator_bulk_disable(ARRAY_SIZE(hsudc->supplies), hsudc->supplies);
 
 	dev_info(hsudc->dev, "unregistered gadget driver '%s'\n",
-			driver->driver.name);
+			hsudc->driver->driver.name);
+	hsudc->driver = NULL;
+
 	return 0;
 }