4.16-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Yoshihiro Shimoda <yoshihiro.shimoda...@renesas.com>

commit 1990cf7c21ea185cec98c6d45a82c04481261e35 upstream.

This patch fixes an issue that this driver doesn't remove its debugfs.

Fixes: 43ba968b00ea ("usb: gadget: udc: renesas_usb3: add debugfs to set the 
b-device mode")
Cc: <sta...@vger.kernel.org> # v4.14+
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda...@renesas.com>
Reviewed-by: Simon Horman <horms+rene...@verge.net.au>
Signed-off-by: Felipe Balbi <felipe.ba...@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
 drivers/usb/gadget/udc/renesas_usb3.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

--- a/drivers/usb/gadget/udc/renesas_usb3.c
+++ b/drivers/usb/gadget/udc/renesas_usb3.c
@@ -333,6 +333,7 @@ struct renesas_usb3 {
        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;
@@ -2393,8 +2394,12 @@ static void renesas_usb3_debugfs_init(st
 
        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 ------------------------------------------------*/
@@ -2402,6 +2407,7 @@ static int renesas_usb3_remove(struct pl
 {
        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);


Reply via email to