static const char hcd_name[] = "ehci-msm";
 static struct hc_driver __read_mostly msm_hc_driver;
-static struct usb_phy *phy;
 
 static int ehci_msm_reset(struct usb_hcd *hcd)
 {
 {
        struct usb_hcd *hcd;
        struct resource *res;
+       struct usb_phy *phy;
        int ret;
 
        dev_dbg(&pdev->dev, "ehci_msm proble\n");
                goto put_hcd;
        }
 
+       hcd->phy = phy;
        device_init_wakeup(&pdev->dev, 1);
        /*
         * OTG device parent of HCD takes care of putting
        pm_runtime_disable(&pdev->dev);
        pm_runtime_set_suspended(&pdev->dev);
 
-       otg_set_host(phy->otg, NULL);
+       otg_set_host(hcd->phy->otg, NULL);
 
        /* FIXME: need to call usb_remove_hcd() here? */