]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
media: uvcvideo: Include streaming interface number in debugfs dir name
authorTorleiv Sundre <torleiv@huddly.com>
Sun, 28 Apr 2019 05:21:13 +0000 (01:21 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Tue, 11 Jun 2019 16:21:58 +0000 (12:21 -0400)
uvcvideo creates a debugfs directory based on the device bus number and
device number. If a device contains more than one uvc function, the
creation of the second and following debugfs directories will fail and
print an info message like this:
  "uvcvideo: Unable to create debugfs 3-2 directory."

This patch includes the uvc streaming interface number in the debugfs
directory name, to make sure it is unique. The directory name format is
changed from "<busnum>-<devnum>" to "<busnum>-<devnum>-<intfnum>"

Signed-off-by: Torleiv Sundre <torleiv@huddly.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/usb/uvc/uvc_debugfs.c

index 8ba54139a08724f7acd13898490999242ae8bf2a..d2b109959d8218cdb0e99406a09685528e1504c1 100644 (file)
@@ -74,12 +74,13 @@ void uvc_debugfs_init_stream(struct uvc_streaming *stream)
 {
        struct usb_device *udev = stream->dev->udev;
        struct dentry *dent;
-       char dir_name[32];
+       char dir_name[33];
 
        if (uvc_debugfs_root_dir == NULL)
                return;
 
-       sprintf(dir_name, "%u-%u", udev->bus->busnum, udev->devnum);
+       snprintf(dir_name, sizeof(dir_name), "%u-%u-%u", udev->bus->busnum,
+                udev->devnum, stream->intfnum);
 
        dent = debugfs_create_dir(dir_name, uvc_debugfs_root_dir);
        if (IS_ERR_OR_NULL(dent)) {