static irqreturn_t musb_stage0_irq(struct musb *musb, u8 int_usb,
                                u8 devctl)
 {
-       struct usb_otg *otg = musb->xceiv->otg;
        irqreturn_t handled = IRQ_NONE;
 
        dev_dbg(musb->controller, "<== DevCtl=%02x, int_usb=0x%x\n", devctl,
                                break;
                case OTG_STATE_B_PERIPHERAL:
                        musb_g_suspend(musb);
-                       musb->is_active = otg->gadget->b_hnp_enable;
+                       musb->is_active = musb->g.b_hnp_enable;
                        if (musb->is_active) {
                                musb->xceiv->state = OTG_STATE_B_WAIT_ACON;
                                dev_dbg(musb->controller, "HNP: Setting timer for b_ase0_brst\n");
                        break;
                case OTG_STATE_A_HOST:
                        musb->xceiv->state = OTG_STATE_A_SUSPEND;
-                       musb->is_active = otg->host->b_hnp_enable;
+                       musb->is_active = musb->hcd->self.b_hnp_enable;
                        break;
                case OTG_STATE_B_HOST:
                        /* Transition to B_PERIPHERAL, see 6.8.2.6 p 44 */