summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/base/featctrl.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/base/featctrl.c b/drivers/base/featctrl.c
index abe21698ed..f40b1f04bc 100644
--- a/drivers/base/featctrl.c
+++ b/drivers/base/featctrl.c
@@ -53,10 +53,13 @@ static struct feature_controller *featctrl_get_from_provider(struct of_phandle_a
if (ret < 0)
return ERR_PTR(ret);
+ if (spec->args_count > 1)
+ return ERR_PTR(-EINVAL);
+
/* Check if we have such a controller in our array */
list_for_each_entry(featctrl, &of_feature_controllers, list) {
if (dev_of_node(featctrl->dev) == spec->np) {
- *gateid = spec->args[0];
+ *gateid = spec->args_count ? spec->args[0] : 0;
return featctrl;
}
}