diff mbox series

usb: ulpi: Fix debugfs directory leak

Message ID 20240126223800.2864613-1-sean.anderson@seco.com (mailing list archive)
State Accepted
Commit 3caf2b2ad7334ef35f55b95f3e1b138c6f77b368
Headers show
Series usb: ulpi: Fix debugfs directory leak | expand

Commit Message

Sean Anderson Jan. 26, 2024, 10:38 p.m. UTC
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(-)

Comments

Heikki Krogerus Jan. 30, 2024, 2:18 p.m. UTC | #1
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
diff mbox series

Patch

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",