struct extcon_dev *extcon;
        struct work_struct extcon_work;
        struct phy *phy;
+       struct dentry *dentry;
 
        struct renesas_usb3_ep *usb3_ep;
        int num_usb3_eps;
 
        file = debugfs_create_file("b_device", 0644, root, usb3,
                                   &renesas_usb3_b_device_fops);
-       if (!file)
+       if (!file) {
                dev_info(dev, "%s: Can't create debugfs mode\n", __func__);
+               debugfs_remove_recursive(root);
+       } else {
+               usb3->dentry = root;
+       }
 }
 
 /*------- platform_driver ------------------------------------------------*/
 {
        struct renesas_usb3 *usb3 = platform_get_drvdata(pdev);
 
+       debugfs_remove_recursive(usb3->dentry);
        device_remove_file(&pdev->dev, &dev_attr_role);
 
        usb_del_gadget_udc(&usb3->gadget);