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 <[email protected]> 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-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html