Skip to contentSkip to conversation

cmd: usb: add blk devices to ignore list in tree graph

PATCH Superseded Suneel Garapati 3 participants 4 messages Sep 19, 2017

v2 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 cmd: usb: add blk devices to ignore list in tree graph

add blk child devices to ignore list while displaying usb tree graph, otherwise usb tree and info commands may cause crash treating blk as usb device.

---

Changes v2:
- remove check on parent uclass
Changes v1:
- add separate check on blk uclass
- modify description
- add separate check on parent uclass as usb

 cmd/usb.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
cmd/usb.c +8 -3
index d95bcf5..eb31353 100644
@@ -414,8 +414,12 @@ static void usb_show_tree_graph(struct usb_device *dev, char *pre)
 
 		udev = dev_get_parent_priv(child);
 
-		/* Ignore emulators, we only want real devices */
-		if (device_get_uclass_id(child) != UCLASS_USB_EMUL) {
+		/*
+		 * Ignore emulators and block child devices, with check on
+		 * parent uclass as usb, we only want real devices
+		 */
+		if ((device_get_uclass_id(child) != UCLASS_USB_EMUL) &&
+		    (device_get_uclass_id(child) != UCLASS_BLK)) {
 			usb_show_tree_graph(udev, pre);
 			pre[index] = 0;
 		}
@@ -605,7 +609,8 @@ static void usb_show_info(struct usb_device *udev)
 	for (device_find_first_child(udev->dev, &child);
 	     child;
 	     device_find_next_child(&child)) {
-		if (device_active(child)) {
+		if (device_active(child) &&
+		    (device_get_uclass_id(child) != UCLASS_BLK)) {
 			udev = dev_get_parent_priv(child);
 			usb_show_info(udev);
 		}
Signature · 1 line
2.7.4
#1 lore raw

PATCH v2 1/1 cmd: usb: add blk devices to ignore list in tree graph

Hi Suneel,

Quoted 22 lines · Suneel Garapati

add blk child devices to ignore list while displaying usb tree graph, otherwise usb tree and info commands may cause crash treating blk as usb device.

---

Changes v2:
- remove check on parent uclass
Changes v1:
- add separate check on blk uclass
- modify description
- add separate check on parent uclass as usb

 cmd/usb.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
cmd/usb.c +0 -0
index d95bcf5..eb31353 100644

cmd/usb.c static void usb_show_tree_graph(struct usb_device *dev, char *pre) · line 419

Quoted 8 lines
cmd/usb.c +3 -2
@@ -414,8 +414,12 @@ static void usb_show_tree_graph(struct usb_device *dev, char *pre)
 
                udev = dev_get_parent_priv(child);
 
-               /* Ignore emulators, we only want real devices */
-               if (device_get_uclass_id(child) != UCLASS_USB_EMUL) {
+               /*
+                * Ignore emulators and block child devices, with check on
+                * parent uclass as usb, we only want real devices

nits: please remove the comment of "with check on parent uclass as usb".

Quoted 7 lines
cmd/usb.c +3 -0
+                */
+               if ((device_get_uclass_id(child) != UCLASS_USB_EMUL) &&
+                   (device_get_uclass_id(child) != UCLASS_BLK)) {
                        usb_show_tree_graph(udev, pre);
                        pre[index] = 0;
                }

cmd/usb.c static void usb_show_info(struct usb_device *udev)

Quoted 10 lines
cmd/usb.c +2 -2
@@ -605,7 +609,8 @@ static void usb_show_info(struct usb_device *udev)
        for (device_find_first_child(udev->dev, &child);
             child;
             device_find_next_child(&child)) {
-               if (device_active(child)) {
+               if (device_active(child) &&
+                   (device_get_uclass_id(child) != UCLASS_BLK)) {
                        udev = dev_get_parent_priv(child);
                        usb_show_info(udev);
                }
--

Regards,
Bin

#2 lore raw

PATCH v2 1/1 cmd: usb: add blk devices to ignore list in tree graph

In reply to Suneel Garapati
Quoted 5 lines · Suneel Garapati

add blk child devices to ignore list while displaying usb tree graph, otherwise usb tree and info commands may cause crash treating blk as usb device.

This patch fixes the crash I've experienced with "usb tree" sometimes, so:

Thanks,
Stefan

#3 lore raw

PATCH v2 1/1 cmd: usb: add blk devices to ignore list in tree graph

Thanks Bin and Stefan. I have sent the v3.

Regards,
Suneel

Quoted 16 lines · Stefan Roese
Quoted 6 lines · Suneel Garapati

add blk child devices to ignore list while displaying usb tree graph, otherwise usb tree and info commands may cause crash treating blk as usb device.

This patch fixes the crash I've experienced with "usb tree" sometimes, so:

Thanks,
Stefan