usb: Clarify expected behavior of dev_bin_attrs_are_visible()
authorElbert Mai <code@elbertmai.com>
Wed, 6 Mar 2024 00:15:03 +0000 (16:15 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 6 Mar 2024 11:35:26 +0000 (11:35 +0000)
The commit "usb: Export BOS descriptor to sysfs" added a binary attribute
group to sysfs. It doesn't check if the descriptors attribute should be
visible, which is by design and not an oversight. Update a comment so that
it better explains this in the dev_bin_attrs_are_visible() function.

Signed-off-by: Elbert Mai <code@elbertmai.com>
Link: https://lore.kernel.org/r/20240306001503.313028-1-code@elbertmai.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/sysfs.c

index 777526f5972064dd43bd26168c05e17b9628269e..f98263e21c2a71104664ad21b33e0a2dc2d612cf 100644 (file)
@@ -929,8 +929,11 @@ static umode_t dev_bin_attrs_are_visible(struct kobject *kobj,
        struct device *dev = kobj_to_dev(kobj);
        struct usb_device *udev = to_usb_device(dev);
 
-       /* All USB devices have a device descriptor, so the descriptors
-        * attribute always exists. No need to check for its visibility.
+       /*
+        * There's no need to check if the descriptors attribute should
+        * be visible because all devices have a device descriptor. The
+        * bos_descriptors attribute should be visible if and only if
+        * the device has a BOS, so check if it exists here.
         */
        if (a == &bin_attr_bos_descriptors) {
                if (udev->bos == NULL)