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);
 }
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to