]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
slimbus: ngd: Fix build error on x86
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Mon, 12 Nov 2018 12:25:25 +0000 (12:25 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 13 Dec 2019 07:51:54 +0000 (08:51 +0100)
[ Upstream commit 458a445deb9c9fb13cec46fe9b179a84d2ff514f ]

on non DT platforms like x86 of_match_node is set to NULL, dereferencing
directly would throw an error.
Fix this by doing this in two steps, get the match then the data.

Reported-by: Greg KH <gregkh@linuxfoundation.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/slimbus/qcom-ngd-ctrl.c

index d72f8eed2e8b708f67c59123b35dd7c26100c7b0..9221ba7b78637b7e5a2f8b5791dff6f39a2dae00 100644 (file)
@@ -1326,11 +1326,12 @@ static int of_qcom_slim_ngd_register(struct device *parent,
 {
        const struct ngd_reg_offset_data *data;
        struct qcom_slim_ngd *ngd;
+       const struct of_device_id *match;
        struct device_node *node;
        u32 id;
 
-       data = of_match_node(qcom_slim_ngd_dt_match, parent->of_node)->data;
-
+       match = of_match_node(qcom_slim_ngd_dt_match, parent->of_node);
+       data = match->data;
        for_each_available_child_of_node(parent->of_node, node) {
                if (of_property_read_u32(node, "reg", &id))
                        continue;