Hi, On Sun, Aug 16, 2009 at 11:47:31AM +0300, Jarkko Nikula wrote: > On Sun, 16 Aug 2009 11:25:14 +0300 > Felipe Balbi <me@xxxxxxxxxxxxxxx> wrote: > > > NOP should not be necessary, beagle uses twl4030-usb as its transceiver, > > unlike evm, which uses isp1504, if I'm not wrong. > > > > Could you try the following patch ? > > > No help but thanks to Koen's hint, I was able to capture the oops. I > compiled the kernel using your defconfig change and set the DEBUG_LL. if you: $ arm-linux-gdb vmlinux (gdb) l *(musb_platform_suspend + 0x34) you'll see that ends up in otg_set_suspend() basically when it checks: if (otg->set_suspend) so the problem is still related to the missing otg transceiver could you printk twl4030_usb_probe() to see what's going on ? check whether otg_set_transceiver() is being successfully called. The following will give some hint (maybe) ================= cut here ========================== diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c index 3487520..6733da9 100644 --- a/drivers/usb/musb/omap2430.c +++ b/drivers/usb/musb/omap2430.c @@ -213,6 +213,7 @@ int __init musb_platform_init(struct musb *musb) * which needs a driver, drivers aren't always needed. */ musb->xceiv = otg_get_transceiver(); + printk(KERN_INFO "%s: xceiv %p\n", __func__, musb->xceiv); if (!musb->xceiv) { pr_err("HS USB OTG: no transceiver configured\n"); return -ENODEV; diff --git a/drivers/usb/otg/twl4030-usb.c b/drivers/usb/otg/twl4030-usb.c index 9e3e7a5..6d994cf 100644 --- a/drivers/usb/otg/twl4030-usb.c +++ b/drivers/usb/otg/twl4030-usb.c @@ -687,6 +687,7 @@ static int __devinit twl4030_usb_probe(struct platform_device *pdev) kfree(twl); return err; } + print(KERN_INFO "%s: xceiv %p\n", __func__, &twl->otg); otg_set_transceiver(&twl->otg); platform_set_drvdata(pdev, twl); -- balbi -- 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