aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ofw
diff options
context:
space:
mode:
authorNathan Whitehorn <nwhitehorn@FreeBSD.org>2017-11-28 06:31:39 +0000
committerNathan Whitehorn <nwhitehorn@FreeBSD.org>2017-11-28 06:31:39 +0000
commit2bfca5775baf9484bc87f92fc2f75147ba6bda70 (patch)
tree400b5865c2e98d1de359a3fcec0e4c6adafbe403 /sys/dev/ofw
parent1b108b19eded2860f7691b4ec836b7b60b9a2888 (diff)
downloadsrc-2bfca5775baf9484bc87f92fc2f75147ba6bda70.tar.gz
src-2bfca5775baf9484bc87f92fc2f75147ba6bda70.zip
Back out OF module installation in the event of failure. PS3 firmware gives
some ancient FDT version (2) that fails the init check in OFW_FDT. It is still possible to make progress, but not while the OF layer is going crazy.
Notes
Notes: svn path=/head/; revision=326310
Diffstat (limited to 'sys/dev/ofw')
-rw-r--r--sys/dev/ofw/openfirm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/ofw/openfirm.c b/sys/dev/ofw/openfirm.c
index 45545ac34647..dc781d42ad8c 100644
--- a/sys/dev/ofw/openfirm.c
+++ b/sys/dev/ofw/openfirm.c
@@ -201,6 +201,12 @@ OF_install(char *name, int prio)
ofw_def_t *ofwp, **ofwpp;
static int curr_prio = 0;
+ /* Allow OF layer to be uninstalled */
+ if (name == NULL) {
+ ofw_def_impl = NULL;
+ return (FALSE);
+ }
+
/*
* Try and locate the OFW kobj corresponding to the name.
*/