]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
usb: common: Consider only available nodes for dr_mode
authorFabrizio Castro <fabrizio.castro@bp.renesas.com>
Fri, 1 Mar 2019 11:05:45 +0000 (11:05 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Apr 2019 04:24:19 +0000 (06:24 +0200)
commit 238e0268c82789e4c107a37045d529a6dbce51a9 upstream.

There are cases where multiple device tree nodes point to the
same phy node by means of the "phys" property, but we should
only consider those nodes that are marked as available rather
than just any node.

Fixes: 98bfb3946695 ("usb: of: add an api to get dr_mode by the phy node")
Cc: stable@vger.kernel.org # v4.4+
Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/common/common.c

index 5ef8da6e67c3fbc1ab82f8e7e24550ff4ef05ca1..64c76403a542b8bd629b0aa7c4e73c0c8e565036 100644 (file)
@@ -148,6 +148,8 @@ enum usb_dr_mode of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0)
 
        do {
                controller = of_find_node_with_property(controller, "phys");
+               if (!of_device_is_available(controller))
+                       continue;
                index = 0;
                do {
                        if (arg0 == -1) {