svn commit: r327298 - head/stand/fdt

Kyle Evans kevans at FreeBSD.org
Thu Dec 28 21:09:38 UTC 2017


Author: kevans
Date: Thu Dec 28 21:09:36 2017
New Revision: 327298
URL: https://svnweb.freebsd.org/changeset/base/327298

Log:
  stand/fdt: Fix loading of multiple fdt_overlays
  
  fdt_load_dtb_overlays was written to unload previous overlay when a new
  valid one is come across. fdt_apply_overlays further down is written to
  iterate over all .dtbo's currently loaded and apply them one-by-one. Correct
  fdt_load_dtb_overlays to stop dropping valid overlays that were previously
  loaded and match expectations.
  
  Reviewed by:	gonzo, imp
  Differential Revision:	https://reviews.freebsd.org/D13659

Modified:
  head/stand/fdt/fdt_loader_cmd.c

Modified: head/stand/fdt/fdt_loader_cmd.c
==============================================================================
--- head/stand/fdt/fdt_loader_cmd.c	Thu Dec 28 20:40:56 2017	(r327297)
+++ head/stand/fdt/fdt_loader_cmd.c	Thu Dec 28 21:09:36 2017	(r327298)
@@ -281,14 +281,12 @@ fdt_load_dtb_file(const char * filename)
 static int
 fdt_load_dtb_overlay(const char * filename)
 {
-	struct preloaded_file *bfp, *oldbfp;
+	struct preloaded_file *bfp;
 	struct fdt_header header;
 	int err;
 
 	debugf("fdt_load_dtb_overlay(%s)\n", filename);
 
-	oldbfp = file_findfile(filename, "dtbo");
-
 	/* Attempt to load and validate a new dtb from a file. */
 	if ((bfp = file_loadraw(filename, "dtbo", 1)) == NULL) {
 		printf("failed to load file '%s'\n", filename);
@@ -309,10 +307,6 @@ fdt_load_dtb_overlay(const char * filename)
 			    fdt_strerror(err));
 		return (1);
 	}
-
-	/* A new dtb was validated, discard any previous file. */
-	if (oldbfp)
-		file_discard(oldbfp);
 
 	return (0);
 }


More information about the svn-src-head mailing list