[Letux-kernel] [PATCH v2] musb: omap2430: do not assume balanced enable()/disable()
andreas at kemnade.info
Thu Aug 4 22:59:29 CEST 2016
On Thu, 4 Aug 2016 16:49:30 +0200
"H. Nikolaus Schaller" <hns at goldelico.com> wrote:
> > Rationale:
> > The charger driver calls pm_runtime_get_sync(bci->transceiver->dev);
> > which should indirectly call twl4030_usb_set_mode to set the
> > POWER_CTRL_OTG_ENAB bit. This enables the prescaler hardware
> > for ADC8 (VBUS) channel. But this does not happen for reasons
> > outside the charger driver.
how should that work?
I only have seen the call trace from the musb/omap2430.c glue though
the phy subsystem (via phy_ops) to twl4030_phy_power_on (which sets
the important bit).
And the phy subsystem has its own power refcounting system which
is brought into disorder by unbalanced calls from the musb system...
More information about the Letux-kernel