From: Fabrizio Castro Date: Fri, 1 Mar 2019 11:05:45 +0000 (+0000) Subject: usb: common: Consider only available nodes for dr_mode X-Git-Tag: v5.1-rc3~13^2~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=238e0268c82789e4c107a37045d529a6dbce51a9;p=thirdparty%2Fkernel%2Flinux.git usb: common: Consider only available nodes for dr_mode 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/common/common.c b/drivers/usb/common/common.c index 48277bbc15e4d..73c8e65917461 100644 --- a/drivers/usb/common/common.c +++ b/drivers/usb/common/common.c @@ -145,6 +145,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) {