aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorSakethram Bommisetti <sakethram.bommisetti@stericsson.com>2010-11-09 12:33:59 +0530
committerSundar Iyer <sundar.iyer@stericsson.com>2010-11-29 16:47:28 +0530
commit041223060ed205eec893e0095f54a8d03700b29a (patch)
treeafc7d42b3b9c8ca32c6c00e4232a3698a594527e /drivers/usb
parente49b3a0edc2dcad6b5fea0f155a1698614bf4b92 (diff)
Generic:USB:Suspend and Resume from USB
When the usb cable is connected system is not allow to suspend. Code clean up in musb_db8500.c ST-Ericsson ID: 276518 Change-Id: I4294b13d47dc416da12b4b6714baee5677db4228 Signed-off-by: Sakethram Bommisetti <sakethram.bommisetti@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/8814 Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/musb/musb_core.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index e18eb3bf84e..b956e61315a 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -2457,13 +2457,27 @@ static int musb_suspend(struct device *dev)
spin_lock_irqsave(&musb->lock, flags);
if (is_peripheral_active(musb)) {
- /* FIXME force disconnect unless we know USB will wake
+ /*
+ * FIXME force disconnect unless we know USB will wake
* the system up quickly enough to respond ...
+ * For ux500 platform if usb is connected return busy
+ * state
*/
+ if (musb->is_active == 1) {
+ spin_unlock_irqrestore(&musb->lock, flags);
+ return -EBUSY;
+ }
} else if (is_host_active(musb)) {
- /* we know all the children are suspended; sometimes
+ /*
+ * we know all the children are suspended; sometimes
* they will even be wakeup-enabled.
+ * For ux500 platform if usb is connected return busy
+ * state
*/
+ if (musb->is_active == 1) {
+ spin_unlock_irqrestore(&musb->lock, flags);
+ return -EBUSY;
+ }
}
musb_save_context(musb);