2014-11-17 23:05 GMT+03:00 Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx>: > 2014-11-17 21:44 GMT+03:00 Robert Jarzmik <robert.jarzmik@xxxxxxx>: >> Guess what, Russell's remark on i2c and serial made me cross-check. And there >> is a case where this will be called in irq context too ... >> >> See : >> -> do_IRQ >> -> lubbock_vbus_irq() >> -> pxa25x_udc_vbus_session() >> -> pullup() >> -> clk_prepare_enable() >> -> CRACK >> >> Note that your patch is not really the faulty one, I think a threaded irq >> instead of the "raw" irq should do the trick. And it is granted on UDC api that >> vbus function is called in a "sleeping" context (Felipe correct me if I'm >> wrong), so a patch to fix this before your current code would be fine. > > OK, I will take a look. It seems the correct way would be to strip this code > away to a phy, like gpio-vbus or nop phys. Do you have access to lubbock > (or maybe Daniel, Haojian or Russell has?)? I have sketched a compile-tested only PHY for the Lubbock platform. Could you please take a look and test. The following changes since commit fc14f9c1272f62c3e8d01300f52467c0d9af50f9: Linux 3.18-rc5 (2014-11-16 16:36:20 -0800) are available in the git repository at: git://git.infradead.org/users/dbaryshkov/zaurus.git lubbock for you to fetch changes up to 67d7e1e57af0a42d86476cd2e73fd154b590d3f8: usb: gadget: drop lubbock-specific code from pxa25x_udc (2014-11-18 02:43:03 +0300) ---------------------------------------------------------------- Dmitry Eremin-Solenikov (3): ARM: pxa: lubbock: add declaration of vbus tranceiver usb: phy: add lubbock phy driver usb: gadget: drop lubbock-specific code from pxa25x_udc arch/arm/mach-pxa/lubbock.c | 6 +++ drivers/usb/gadget/udc/pxa25x_udc.c | 61 ----------------------- drivers/usb/phy/Kconfig | 10 ++++ drivers/usb/phy/Makefile | 1 + drivers/usb/phy/phy-lubbock.c | 225 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 242 insertions(+), 61 deletions(-) create mode 100644 drivers/usb/phy/phy-lubbock.c -- With best wishes Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html