From: Majunath Goudar <csmanjuvijay@gmail.com> To: linux-arm-kernel@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org, Greg KH <greg@kroah.com>, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Majunath Goudar <csmanjuvijay@gmail.com>, Ben Dooks <ben-linux@fluff.org>, Kukjin Kim <kgene.kim@samsung.com>, nataraja.km@lge.com Subject: [PATCH 3/6] USB: OHCI: Properly handle ohci-s3c2410 suspend Date: Wed, 13 Nov 2013 17:40:18 +0530 [thread overview] Message-ID: <1384344621-6981-4-git-send-email-csmanjuvijay@gmail.com> (raw) In-Reply-To: <1384344621-6981-1-git-send-email-csmanjuvijay@gmail.com> Suspend scenario in case of ohci-s3c2410 glue was not properly handled as it was not suspending generic part of ohci controller. Alan Stern suggested, properly handle ohci-s3c2410 suspend scenario. Calling explicitly the ohci_suspend() routine in ohci_hcd_s3c2410_drv_suspend() will ensure proper handling of suspend scenario. Signed-off-by: Manjunath Goudar <csmanjuvijay@gmail.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Cc: Greg KH <greg@kroah.com> Cc: Ben Dooks <ben-linux@fluff.org> Cc: Kukjin Kim <kgene.kim@samsung.com> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-usb@vger.kernel.org --- drivers/usb/host/ohci-s3c2410.c | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/drivers/usb/host/ohci-s3c2410.c b/drivers/usb/host/ohci-s3c2410.c index be3429e..b5bf9b7 100644 --- a/drivers/usb/host/ohci-s3c2410.c +++ b/drivers/usb/host/ohci-s3c2410.c @@ -426,28 +426,15 @@ static int ohci_hcd_s3c2410_drv_remove(struct platform_device *pdev) static int ohci_hcd_s3c2410_drv_suspend(struct device *dev) { struct usb_hcd *hcd = dev_get_drvdata(dev); - struct ohci_hcd *ohci = hcd_to_ohci(hcd); struct platform_device *pdev = to_platform_device(dev); - unsigned long flags; + bool do_wakeup = device_may_wakeup(dev); int rc = 0; - /* - * Root hub was already suspended. Disable irq emission and - * mark HW unaccessible, bail out if RH has been resumed. Use - * the spinlock to properly synchronize with possible pending - * RH suspend or resume activity. - */ - spin_lock_irqsave(&ohci->lock, flags); - if (ohci->rh_state != OHCI_RH_SUSPENDED) { - rc = -EINVAL; - goto bail; - } - - clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); + rc = ohci_suspend(hcd, do_wakeup); + if (rc) + return rc; s3c2410_stop_hc(pdev); -bail: - spin_unlock_irqrestore(&ohci->lock, flags); return rc; } -- 1.7.9.5
WARNING: multiple messages have this Message-ID (diff)
From: csmanjuvijay@gmail.com (Majunath Goudar) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 3/6] USB: OHCI: Properly handle ohci-s3c2410 suspend Date: Wed, 13 Nov 2013 17:40:18 +0530 [thread overview] Message-ID: <1384344621-6981-4-git-send-email-csmanjuvijay@gmail.com> (raw) In-Reply-To: <1384344621-6981-1-git-send-email-csmanjuvijay@gmail.com> Suspend scenario in case of ohci-s3c2410 glue was not properly handled as it was not suspending generic part of ohci controller. Alan Stern suggested, properly handle ohci-s3c2410 suspend scenario. Calling explicitly the ohci_suspend() routine in ohci_hcd_s3c2410_drv_suspend() will ensure proper handling of suspend scenario. Signed-off-by: Manjunath Goudar <csmanjuvijay@gmail.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Cc: Greg KH <greg@kroah.com> Cc: Ben Dooks <ben-linux@fluff.org> Cc: Kukjin Kim <kgene.kim@samsung.com> Cc: linux-arm-kernel at lists.infradead.org Cc: linux-samsung-soc at vger.kernel.org Cc: linux-kernel at vger.kernel.org Cc: linux-usb at vger.kernel.org --- drivers/usb/host/ohci-s3c2410.c | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/drivers/usb/host/ohci-s3c2410.c b/drivers/usb/host/ohci-s3c2410.c index be3429e..b5bf9b7 100644 --- a/drivers/usb/host/ohci-s3c2410.c +++ b/drivers/usb/host/ohci-s3c2410.c @@ -426,28 +426,15 @@ static int ohci_hcd_s3c2410_drv_remove(struct platform_device *pdev) static int ohci_hcd_s3c2410_drv_suspend(struct device *dev) { struct usb_hcd *hcd = dev_get_drvdata(dev); - struct ohci_hcd *ohci = hcd_to_ohci(hcd); struct platform_device *pdev = to_platform_device(dev); - unsigned long flags; + bool do_wakeup = device_may_wakeup(dev); int rc = 0; - /* - * Root hub was already suspended. Disable irq emission and - * mark HW unaccessible, bail out if RH has been resumed. Use - * the spinlock to properly synchronize with possible pending - * RH suspend or resume activity. - */ - spin_lock_irqsave(&ohci->lock, flags); - if (ohci->rh_state != OHCI_RH_SUSPENDED) { - rc = -EINVAL; - goto bail; - } - - clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); + rc = ohci_suspend(hcd, do_wakeup); + if (rc) + return rc; s3c2410_stop_hc(pdev); -bail: - spin_unlock_irqrestore(&ohci->lock, flags); return rc; } -- 1.7.9.5
next prev parent reply other threads:[~2013-11-13 12:10 UTC|newest] Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-10-02 10:15 [PATCH 00/11] USB: OHCI:Properly handle ohci_suspend()routine in bus glue Majunath Goudar 2013-10-02 10:15 ` [PATCH 01/11] USB: OHCI: Properly handle OHCI controller suspend Majunath Goudar 2013-10-02 10:15 ` [PATCH 02/11] USB: OHCI: Properly handle ohci-at91 suspend Majunath Goudar 2013-10-02 10:15 ` [PATCH 03/11] USB: OHCI: Properly handle ohci-s3c2410 suspend Majunath Goudar 2013-10-02 10:15 ` [PATCH 04/11] USB: OHCI: Properly handle ohci-da8xx suspend Majunath Goudar 2013-10-02 10:15 ` [PATCH 05/11] USB: OHCI: Properly handle ohci-ep93xx suspend Majunath Goudar 2013-10-14 15:49 ` Olof Johansson 2013-10-14 20:34 ` Alan Stern 2013-10-14 20:41 ` Greg KH 2013-10-14 20:42 ` Hartley Sweeten 2013-10-14 20:50 ` Alan Stern 2013-10-14 21:07 ` Hartley Sweeten 2013-10-15 4:32 ` Olof Johansson [not found] ` <CAKsNYyzFe+o0ctNYyHhL7m71LnAC4WTKbkfN37WHmLBRjgj9+w@mail.gmail.com> 2013-10-15 15:15 ` Greg KH 2013-10-02 10:15 ` [PATCH 06/11] USB: OHCI: Properly handle ohci-exynos suspend Majunath Goudar 2013-10-02 11:34 ` Bartlomiej Zolnierkiewicz 2013-10-02 14:38 ` Alan Stern 2013-10-02 15:10 ` Bartlomiej Zolnierkiewicz 2013-10-02 15:52 ` Alan Stern 2013-10-02 10:15 ` [PATCH 07/11] USB: OHCI: Properly handle ohci-omap suspend Majunath Goudar 2013-10-02 10:15 ` [PATCH 08/11] USB: OHCI: Properly handle ohci-platform suspend Majunath Goudar 2013-10-02 10:15 ` [PATCH 09/11] USB: OHCI: Properly handle ohci-pxa27x suspend Majunath Goudar 2013-10-02 10:15 ` [PATCH 10/11] USB: OHCI: Properly handle ohci-sm501 suspend Majunath Goudar 2013-10-02 10:15 ` [PATCH 11/11] USB: OHCI: Properly handle ohci-spear suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 00/11] USB: OHCI :Properly handle ohci_suspend()routine in bus glue Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 01/11] USB: OHCI: Properly handle OHCI controller suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 02/11] USB: OHCI: Properly handle ohci-at91 suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 03/11] USB: OHCI: Properly handle ohci-s3c2410 suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 04/11] USB: OHCI: Properly handle ohci-da8xx suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 05/11] USB: OHCI: Properly handle ohci-ep93xx suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 06/11] USB: OHCI: Properly handle ohci-exynos suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 07/11] USB: OHCI: Properly handle ohci-omap suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 08/11] USB: OHCI: Properly handle ohci-platform suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 09/11] USB: OHCI: Properly handle ohci-pxa27x suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 10/11] USB: OHCI: Properly handle ohci-sm501 suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 11/11] USB: OHCI: Properly handle ohci-spear suspend Majunath Goudar 2013-10-15 13:19 ` [PATCH V2 0/7] USB: OHCI:Properly handle ohci_suspend()routine in bus glue Majunath Goudar 2013-10-15 13:19 ` [PATCH V2 1/7] USB: OHCI: Properly handle OHCI controller suspend Majunath Goudar 2013-10-15 15:19 ` Greg KH 2013-10-15 13:19 ` [PATCH V2 2/7] USB: OHCI: Properly handle ohci-at91 suspend Majunath Goudar 2013-10-15 13:19 ` [PATCH V2 3/7] USB: OHCI: Properly handle ohci-s3c2410 suspend Majunath Goudar 2013-10-15 13:19 ` [PATCH V2 4/7] USB: OHCI: Properly handle ohci-da8xx suspend Majunath Goudar 2013-10-15 13:20 ` [PATCH V2 5/7] USB: OHCI: Properly handle ohci-ep93xx suspend Majunath Goudar 2013-10-15 15:26 ` Alan Stern 2013-10-15 13:20 ` [PATCH V2 6/7] USB: OHCI: Properly handle ohci-exynos suspend Majunath Goudar 2013-10-15 13:20 ` [PATCH V2 7/7] USB: OHCI: Properly handle ohci-spear suspend Majunath Goudar [not found] ` <1382016913-10872-1-git-send-email-csmanjuvijay@gmail.com> 2013-10-17 13:35 ` [PATCH V3 3/6] USB: OHCI: Properly handle ohci-s3c2410 suspend Majunath Goudar 2013-10-17 13:35 ` Majunath Goudar 2013-10-17 13:35 ` [PATCH V3 5/6] USB: OHCI: Properly handle ohci-exynos suspend Majunath Goudar 2013-10-17 13:35 ` Majunath Goudar [not found] ` <1382094376-31016-1-git-send-email-csmanjuvijay@gmail.com> 2013-10-18 11:06 ` [PATCH V3 3/6] USB: OHCI: Properly handle ohci-s3c2410 suspend Majunath Goudar 2013-10-18 11:06 ` Majunath Goudar 2013-10-18 11:06 ` [PATCH V3 5/6] USB: OHCI: Properly handle ohci-exynos suspend Majunath Goudar 2013-10-18 11:06 ` Majunath Goudar [not found] ` <1382365136-24472-1-git-send-email-csmanjuvijay@gmail.com> 2013-10-21 14:18 ` [PATCH V4 3/6] USB: OHCI: Properly handle ohci-s3c2410 suspend Majunath Goudar 2013-10-21 14:18 ` Majunath Goudar 2013-10-21 14:18 ` [PATCH V4 5/6] USB: OHCI: Properly handle ohci-exynos suspend Majunath Goudar 2013-10-21 14:18 ` Majunath Goudar 2013-10-21 14:18 ` Majunath Goudar 2013-11-13 12:10 ` [PATCH V4 0/6]USB: OHCI:Properly handle ohci_suspend()routine in bus glue Majunath Goudar 2013-11-13 12:10 ` [PATCH V4 1/6] USB: OHCI: Properly handle OHCI controller suspend Majunath Goudar 2013-11-13 12:10 ` [PATCH 2/6] USB: OHCI: Properly handle ohci-at91 suspend Majunath Goudar 2013-11-13 12:10 ` Majunath Goudar [this message] 2013-11-13 12:10 ` [PATCH 3/6] USB: OHCI: Properly handle ohci-s3c2410 suspend Majunath Goudar 2013-11-13 12:10 ` [PATCH 4/6] USB: OHCI: Properly handle ohci-da8xx suspend Majunath Goudar 2013-11-13 12:10 ` [PATCH 5/6] USB: OHCI: Properly handle ohci-exynos suspend Majunath Goudar 2013-11-13 12:10 ` Majunath Goudar 2013-11-13 12:10 ` [PATCH 6/6] USB: OHCI: Properly handle ohci-spear suspend Majunath Goudar
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1384344621-6981-4-git-send-email-csmanjuvijay@gmail.com \ --to=csmanjuvijay@gmail.com \ --cc=ben-linux@fluff.org \ --cc=greg@kroah.com \ --cc=kgene.kim@samsung.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-samsung-soc@vger.kernel.org \ --cc=linux-usb@vger.kernel.org \ --cc=nataraja.km@lge.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.