From b3296ab74bcc4fef3d2429ebbe549c52082116f1 Mon Sep 17 00:00:00 2001 From: Lukasz Majewski Date: Thu, 14 Jun 2012 10:02:25 +0200 Subject: [PATCH] --- yaml --- r: 316911 b: refs/heads/master c: 2b19a52cc8a31ede990323d46a7faeeeba76bb8f h: refs/heads/master i: 316909: 0cb85360ca8cd0e56587fce27ab1f76979aa5f81 316907: f24590b5025b5d79fa2aea0a156bd7362a86370d 316903: 17424bd7e926753e72fbd9a92544f1f0fccd6e9c 316895: 11333413bc32ccc0ac171475a5141be3827e926a v: v3 --- [refs] | 2 +- trunk/drivers/usb/gadget/s3c-hsotg.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 63886c9e90b3..c7f604fc5bd9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 22258f4906aa87e0c0debcad22cb292453e2ebfb +refs/heads/master: 2b19a52cc8a31ede990323d46a7faeeeba76bb8f diff --git a/trunk/drivers/usb/gadget/s3c-hsotg.c b/trunk/drivers/usb/gadget/s3c-hsotg.c index b10791282f15..ee1fe2b8b07f 100644 --- a/trunk/drivers/usb/gadget/s3c-hsotg.c +++ b/trunk/drivers/usb/gadget/s3c-hsotg.c @@ -2988,6 +2988,7 @@ static int s3c_hsotg_udc_stop(struct usb_gadget *gadget, struct usb_gadget_driver *driver) { struct s3c_hsotg *hsotg = to_hsotg(gadget); + unsigned long flags = 0; int ep; if (!hsotg) @@ -3000,6 +3001,8 @@ static int s3c_hsotg_udc_stop(struct usb_gadget *gadget, for (ep = 0; ep < hsotg->num_of_eps; ep++) s3c_hsotg_ep_disable(&hsotg->eps[ep].ep); + spin_lock_irqsave(&hsotg->lock, flags); + s3c_hsotg_phy_disable(hsotg); regulator_bulk_disable(ARRAY_SIZE(hsotg->supplies), hsotg->supplies); @@ -3007,6 +3010,8 @@ static int s3c_hsotg_udc_stop(struct usb_gadget *gadget, hsotg->gadget.speed = USB_SPEED_UNKNOWN; hsotg->gadget.dev.driver = NULL; + spin_unlock_irqrestore(&hsotg->lock, flags); + dev_info(hsotg->dev, "unregistered gadget driver '%s'\n", driver->driver.name);