|
@@ -91,9 +91,13 @@ cleanup_alloc:
|
|
devm_kfree(dev, dev->pins);
|
|
devm_kfree(dev, dev->pins);
|
|
dev->pins = NULL;
|
|
dev->pins = NULL;
|
|
|
|
|
|
- /* Only return deferrals */
|
|
|
|
- if (ret != -EPROBE_DEFER)
|
|
|
|
- ret = 0;
|
|
|
|
|
|
+ /* Return deferrals */
|
|
|
|
+ if (ret == -EPROBE_DEFER)
|
|
|
|
+ return ret;
|
|
|
|
+ /* Return serious errors */
|
|
|
|
+ if (ret == -EINVAL)
|
|
|
|
+ return ret;
|
|
|
|
+ /* We ignore errors like -ENOENT meaning no pinctrl state */
|
|
|
|
|
|
- return ret;
|
|
|
|
|
|
+ return 0;
|
|
}
|
|
}
|