On Fri, Nov 07, 2014 at 07:03:27PM +0100, Sebastian Andrzej Siewior wrote: > On 11/07/2014 06:58 PM, Felipe Balbi wrote: > >> If I put pm_runtime_get_sync() + put in musb_resume() then the problem > > > > shouldn't you have: > > > > pm_runtime_disable(dev); > > pm_runtime_set_active(dev); > > pm_runtime_enable(dev); > > > > in musb_resume() ? > > that might be correct, I am asking for the right thing to do :) > But I also question the purpose of this pm_runtime_.* in musb. It is > done only in probe. So if the device hits idle, we won't restore regs > in ISR, correct? Okay, we may not have an irq because the device is off > (fair point). But what about enqueue + dequeue? I couldn't find out why > we have it except that it got here via omap2430 and then core has been > "balanced out" in case the platform is not using pm_runtime at all. yeah, that part was badly implemented for sure. It was done only for omap2430 without any of the other platforms in mind. I wouldn't be surprised if it's got a few bugs here and there. -- balbi
Attachment:
signature.asc
Description: Digital signature