Skip to contentSkip to conversation

usb: Clarify expected behavior of dev_bin_attrs_are_visible()

PATCH New Elbert Mai 1 participant 1 message Mar 6, 2024 USB

lore
Share & tools
lore

Elbert Mai

author
#0 lore raw

PATCH 1/1 usb: Clarify expected behavior of dev_bin_attrs_are_visible()

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.

---
I had mistakenly written the entry as if it went into stable/sysfs-bus-usb instead of testing/sysfs-bus-usb, so the "..." shouldn't be there. I see you have already moved and corrected the bos_descriptors documentation, so it should be all OK now.

 drivers/usb/core/sysfs.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
drivers/usb/core/sysfs.c +5 -2
index 777526f59720..f98263e21c2a 100644
@@ -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)
Signature · 1 line
2.34.1