In the case where omap glue is loaded and musb core is not, glue->status wont have a valid status if the phy drivers call omap_musb_mailbox. So fixed the conditions here. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> --- drivers/usb/musb/omap2430.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c index 78bfc50..28a0220 100644 --- a/drivers/usb/musb/omap2430.c +++ b/drivers/usb/musb/omap2430.c @@ -236,13 +236,10 @@ void omap_musb_mailbox(enum omap_musb_vbus_id_status status) { struct omap2430_glue *glue = _glue; - if (glue && glue_to_musb(glue)) { - glue->status = status; - } else { - pr_err("%s: musb core is not yet ready\n", __func__); + if (!glue) return; - } + glue->status = status; schedule_work(&glue->omap_musb_mailbox_work); } EXPORT_SYMBOL_GPL(omap_musb_mailbox); @@ -307,7 +304,9 @@ static void omap_musb_mailbox_work(struct work_struct *mailbox_work) { struct omap2430_glue *glue = container_of(mailbox_work, struct omap2430_glue, omap_musb_mailbox_work); - omap_musb_set_mailbox(glue); + + if (glue_to_musb(glue)) + omap_musb_set_mailbox(glue); } static irqreturn_t omap2430_musb_interrupt(int irq, void *__hci) -- 1.7.10.4 -- 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