[PATCH] usb: ulpi: Fix debugfs directory leak

Sean Anderson posted 1 patch 1 year, 11 months ago
drivers/usb/common/ulpi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] usb: ulpi: Fix debugfs directory leak
Posted by Sean Anderson 1 year, 11 months ago
The ULPI per-device debugfs root is named after the ulpi device's
parent, but ulpi_unregister_interface tries to remove a debugfs
directory named after the ulpi device itself. This results in the
directory sticking around and preventing subsequent (deferred) probes
from succeeding. Change the directory name to match the ulpi device.

Fixes: bd0a0a024f2a ("usb: ulpi: Add debugfs support")
Cc: stable@vger.kernel.org
Signed-off-by: Sean Anderson <sean.anderson@seco.com>
---

 drivers/usb/common/ulpi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/common/ulpi.c b/drivers/usb/common/ulpi.c
index 84d91b1c1eed..0886b19d2e1c 100644
--- a/drivers/usb/common/ulpi.c
+++ b/drivers/usb/common/ulpi.c
@@ -301,7 +301,7 @@ static int ulpi_register(struct device *dev, struct ulpi *ulpi)
 		return ret;
 	}
 
-	root = debugfs_create_dir(dev_name(dev), ulpi_root);
+	root = debugfs_create_dir(dev_name(&ulpi->dev), ulpi_root);
 	debugfs_create_file("regs", 0444, root, ulpi, &ulpi_regs_fops);
 
 	dev_dbg(&ulpi->dev, "registered ULPI PHY: vendor %04x, product %04x\n",
-- 
2.35.1.1320.gc452695387.dirty
Re: [PATCH] usb: ulpi: Fix debugfs directory leak
Posted by Heikki Krogerus 1 year, 10 months ago
On Fri, Jan 26, 2024 at 05:38:00PM -0500, Sean Anderson wrote:
> The ULPI per-device debugfs root is named after the ulpi device's
> parent, but ulpi_unregister_interface tries to remove a debugfs
> directory named after the ulpi device itself. This results in the
> directory sticking around and preventing subsequent (deferred) probes
> from succeeding. Change the directory name to match the ulpi device.
> 
> Fixes: bd0a0a024f2a ("usb: ulpi: Add debugfs support")
> Cc: stable@vger.kernel.org
> Signed-off-by: Sean Anderson <sean.anderson@seco.com>

Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>

> ---
> 
>  drivers/usb/common/ulpi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/common/ulpi.c b/drivers/usb/common/ulpi.c
> index 84d91b1c1eed..0886b19d2e1c 100644
> --- a/drivers/usb/common/ulpi.c
> +++ b/drivers/usb/common/ulpi.c
> @@ -301,7 +301,7 @@ static int ulpi_register(struct device *dev, struct ulpi *ulpi)
>  		return ret;
>  	}
>  
> -	root = debugfs_create_dir(dev_name(dev), ulpi_root);
> +	root = debugfs_create_dir(dev_name(&ulpi->dev), ulpi_root);
>  	debugfs_create_file("regs", 0444, root, ulpi, &ulpi_regs_fops);
>  
>  	dev_dbg(&ulpi->dev, "registered ULPI PHY: vendor %04x, product %04x\n",
> -- 
> 2.35.1.1320.gc452695387.dirty

-- 
heikki