]> git.baikalelectronics.ru Git - kernel.git/commitdiff
of: base: Avoid console probe delay when fw_devlink.strict=1
authorSaravana Kannan <saravanak@google.com>
Thu, 23 Jun 2022 08:03:43 +0000 (01:03 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Jun 2022 14:52:25 +0000 (16:52 +0200)
Commit 6a649ad15f44 ("driver core: Set fw_devlink.strict=1 by default")
enabled iommus and dmas dependency enforcement by default. On some
systems, this caused the console device's probe to get delayed until the
deferred_probe_timeout expires.

We need consoles to work as soon as possible, so mark the console device
node with FWNODE_FLAG_BEST_EFFORT so that fw_delink knows not to delay
the probe of the console device for suppliers without drivers. The
driver can then make the decision on where it can probe without those
suppliers or defer its probe.

Fixes: 6a649ad15f44 ("driver core: Set fw_devlink.strict=1 by default")
Reported-by: Sascha Hauer <sha@pengutronix.de>
Reported-by: Peng Fan <peng.fan@nxp.com>
Tested-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Saravana Kannan <saravanak@google.com>
Link: https://lore.kernel.org/r/20220623080344.783549-3-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/of/base.c

index d4f98c8469ed89b24c5026a1044f0e48af1373b3..a19cd0c73644f61b0c14b48be67c298d9de5f529 100644 (file)
@@ -1919,6 +1919,8 @@ void of_alias_scan(void * (*dt_alloc)(u64 size, u64 align))
                        of_property_read_string(of_aliases, "stdout", &name);
                if (name)
                        of_stdout = of_find_node_opts_by_path(name, &of_stdout_options);
+               if (of_stdout)
+                       of_stdout->fwnode.flags |= FWNODE_FLAG_BEST_EFFORT;
        }
 
        if (!of_aliases)