From patchwork Thu Sep 21 02:17:23 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Suneel Garapati X-Patchwork-Id: 816641 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Q7wKdBOF"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3xyKy851SKz9sNc for ; Thu, 21 Sep 2017 12:17:36 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 74B13C21D90; Thu, 21 Sep 2017 02:17:33 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 135FCC21D90; Thu, 21 Sep 2017 02:17:31 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 35018C21D90; Thu, 21 Sep 2017 02:17:29 +0000 (UTC) Received: from mail-pg0-f68.google.com (mail-pg0-f68.google.com [74.125.83.68]) by lists.denx.de (Postfix) with ESMTPS id AFFBAC21C73 for ; Thu, 21 Sep 2017 02:17:27 +0000 (UTC) Received: by mail-pg0-f68.google.com with SMTP id i130so2635679pgc.0 for ; Wed, 20 Sep 2017 19:17:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=lJUFoGyJ0i5S4odyBiPvoRq5h87qEUM36sqEXSkVTS0=; b=Q7wKdBOFOxoLgtW7QO+LpsICAY2160zc2UlFQSNHJOSxn08Z+OWdheZfmKmel4Di06 Y/1K9x/3nQ/6Gs9Y1ZRT3wtp2yalildRSxGOL7bEdI+VA74tLfo8fs56U4tvYhRCkD2M EFyZ/rPmpavQg1ZBLj+pQiMeJEqtUjZ8hX3/G79omgMXaTwSUqximUSz2h6RHHZCNlJg baHSbr2H860yivXpL+vAnnbB2i6x3decHy2MoHtZtOYGr8HyXUG6mlI9uMxOcA3djq51 SiZDpH1g1wNlI9ylrYJISfRjWKbODUDmrBtBU1Ji+1PO5J/6piykeGMeFbAQpIMwmvAe z/xQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=lJUFoGyJ0i5S4odyBiPvoRq5h87qEUM36sqEXSkVTS0=; b=ojOHcQoaTFGvVdZ5hrlsYIesqmPvn1FfrBq+uZVAdj/zB8jixzMoZfuKotw417djsg Qz7AQdMyYNvGeg7VvWxOq6iuXNyKeTVNrWurQjWAgAODuMk8czUJ7Rd13TDfAsA7SiW/ kUpy/+cF21FFPbgsXwB/SF4nkXhAeZJoEgVytJCmY3jD5Nm6H1dRWHc+By1r3a8Jst7N swkPM7gKxwmJYhDCsr/XqIN35tOOhZTq+xs9s2eBBYd8xIJiANj0JAJuhtA/ksYhjAhX zQ1DMY+qnLBxEhE82czAxifoa9FNmJMCjwfFEiZ8KS4OV3OsmTm6zaLYLfgcKtibmNN1 beVQ== X-Gm-Message-State: AHPjjUhDSH4oZVDry9KK5XhuTNz21xAaP03ho7SfC+2i3Ao4EvoyxKHD cdk/BSPpC7TQi69gr20UlBo= X-Google-Smtp-Source: AOwi7QAJNRfRLHBFkfjWKQeif0NVYMUcefVPxyitVj53n8Kd5omrTm1JNgpqc1aZzvbO0UKx2qAPSw== X-Received: by 10.98.70.221 with SMTP id o90mr4154106pfi.277.1505960246210; Wed, 20 Sep 2017 19:17:26 -0700 (PDT) Received: from suneel.hsd1.ca.comcast.net ([2601:646:8e00:e521:4455:49dd:f6fa:f394]) by smtp.gmail.com with ESMTPSA id g25sm311571pfg.166.2017.09.20.19.17.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 20 Sep 2017 19:17:25 -0700 (PDT) From: Suneel Garapati To: Stefan Roese Date: Wed, 20 Sep 2017 19:17:23 -0700 Message-Id: <1505960243-16704-1-git-send-email-suneelglinux@gmail.com> X-Mailer: git-send-email 2.7.4 Cc: u-boot@lists.denx.de, Michal Simek Subject: [U-Boot] [PATCH v4] cmd: usb: add blk devices to ignore list in tree graph X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" 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. Signed-off-by: Suneel Garapati Reviewed-by: Bin Meng Tested-by: Bin Meng --- Changes v4: - do not set preamble if child is block device for mass storage Changes v3: - remove 'check on parent uclass' in description 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 | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/cmd/usb.c b/cmd/usb.c index d95bcf5..d64561e 100644 --- a/cmd/usb.c +++ b/cmd/usb.c @@ -349,6 +349,16 @@ static void usb_show_tree_graph(struct usb_device *dev, char *pre) printf(" %s", pre); #ifdef CONFIG_DM_USB has_child = device_has_active_children(dev->dev); + if (device_get_uclass_id(dev->dev) == UCLASS_MASS_STORAGE) { + struct udevice *child; + + for (device_find_first_child(dev->dev, &child); + child; + device_find_next_child(&child)) { + if (device_get_uclass_id(child) == UCLASS_BLK) + has_child = 0; + } + } #else /* check if the device has connected children */ int i; @@ -414,8 +424,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, 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 +619,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); }