On Sun, 4 Dec 2011 21:58:59 +1100 NeilBrown <neilb@xxxxxxx> wrote: > On Sun, 04 Dec 2011 11:56:44 +0200 Igor Grinberg <grinberg@xxxxxxxxxxxxxx> > wrote: > > > Hi Neil, > > > > On 12/03/11 03:35, NeilBrown wrote: > > > On Sun, 27 Nov 2011 11:42:17 +0200 Igor Grinberg <grinberg@xxxxxxxxxxxxxx> > > > wrote: > > > > > >> ping! > > > > > > pong ... > > > > > > > > > Hi, > > > I've been trying this patch out on my GTA04 with 3.2-rc4 and it doesn't > > > work :-( > > > > Probably, v3.2-rc4 is not the best to try things out... > > This patch is based on v3.1, can you try v3.1, so at least we can > > check the that the patch itself has no problems? > > Also, CC'ing linux-omap. > > I think I'll be able to give 3.1 a try - I'll let you know. > Yes, works fine with 3.1 I've managed to find the problem. commit af8db1508f2c9f3b6e633e2d2d906c6557c617f9 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Nov 15 21:52:29 2011 +0100 PM / driver core: disable device's runtime PM during shutdown .... @@ -1742,6 +1743,8 @@ void device_shutdown(void) */ list_del_init(&dev->kobj.entry); spin_unlock(&devices_kset->list_lock); + /* Disable all device's runtime power management */ + pm_runtime_disable(dev); if (dev->bus && dev->bus->shutdown) { dev_dbg(dev, "shutdown\n"); Removing this call allows power-off to work. It seems that omap_i2c.1 is normally in runtime suspend. omap_i2c_xfer wakes it up, performs the xfer, then puts it back to sleep. So this pm_runtime_disable is called while the device is asleep, so it stays asleep. omap_i2c_xfer cannot wake it up and so cannot xfer anything. I'll start a new thread including the people responsible for that patch. Thanks for your time, NeilBrown
Attachment:
signature.asc
Description: PGP signature