Re: [PATCH 5/5 v4] mfd: omap: usb: Runtime PM support
From: "Menon, Nishanth" <nm@ti.com>
Date: 2011-08-12 23:19:52
Also in:
lkml
On Fri, Aug 12, 2011 at 16:30, Todd Poynor [off-list ref] wrote:
On Fri, Aug 12, 2011 at 12:20:21PM +0530, Munegowda, Keshava wrote:quoted
On Wed, Aug 10, 2011 at 10:01 PM, Todd Poynor [off-list ref] wrote:quoted
quoted
@@ -913,12 +598,15 @@ static int usbhs_enable(struct device *dev)(pdata->ehci_data->reset_gpio_port[1], 1); } -end_count: - omap->count++; + pm_runtime_put_sync(dev); spin_unlock_irqrestore(&omap->lock, flags);Is pm_runtime_irq_safe() needed (else I think runtime PM callbacks may re-enable IRQs... or there's the new *_suspend runtime PM calls that may avoid this)?pm_runtime_irq_safe() is not required; usbhs does not have a parent and it is the parent driver of ehci and ohci drivers.But the above expects IRQs to be disabled during the pm_runtime_put_sync, and synchronous calls can turn IRQs back on in rpm_idle: if (callback) { spin_unlock_irq(&dev->power.lock); callback(dev); I see other folks who know this better than me are discussing USB run time PM and might_sleep contexts, so I'll note this concern and let others chime in if they think there's a real problem here.
It is rather easy with the following patch applied to pull this bug out! https://patchwork.kernel.org/patch/1001572/ Regards, Nishanth Menon -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html