Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Oct 2019 12:47:05 +0000 (UTC)
From:      Kyle Evans <kevans@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r353041 - in stable: 11/sys/dev/fdt 12/sys/dev/fdt
Message-ID:  <201910031247.x93Cl5gm080664@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kevans
Date: Thu Oct  3 12:47:05 2019
New Revision: 353041
URL: https://svnweb.freebsd.org/changeset/base/353041

Log:
  MFC r352863: fdt_slicer: bump to SI_ORDER_THIRD following r347183
  
  r347183 bumped GEOM classes to SI_ORDER_SECOND to resolve a race between
  them and the initialization of devsoftc.mtx in devinit, but missed this
  dependency on g_flashmap that may now lose the race against GEOM
  classes/g_init.
  
  There's a great comment that describes the situation that has also been
  updated with the new ordering of GEOM classes.

Modified:
  stable/12/sys/dev/fdt/fdt_slicer.c
Directory Properties:
  stable/12/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/11/sys/dev/fdt/fdt_slicer.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/12/sys/dev/fdt/fdt_slicer.c
==============================================================================
--- stable/12/sys/dev/fdt/fdt_slicer.c	Thu Oct  3 12:26:55 2019	(r353040)
+++ stable/12/sys/dev/fdt/fdt_slicer.c	Thu Oct  3 12:47:05 2019	(r353041)
@@ -159,12 +159,12 @@ fdt_slicer_cleanup(void)
 }
 
 /*
- * Must be initialized after GEOM classes (SI_SUB_DRIVERS/SI_ORDER_FIRST),
+ * Must be initialized after GEOM classes (SI_SUB_DRIVERS/SI_ORDER_SECOND),
  * i. e. after g_init() is called, due to the use of the GEOM topology_lock
  * in flash_register_slicer().  However, must be before SI_SUB_CONFIGURE.
  */
-SYSINIT(fdt_slicer, SI_SUB_DRIVERS, SI_ORDER_SECOND, fdt_slicer_init, NULL);
-SYSUNINIT(fdt_slicer, SI_SUB_DRIVERS, SI_ORDER_SECOND, fdt_slicer_cleanup, NULL);
+SYSINIT(fdt_slicer, SI_SUB_DRIVERS, SI_ORDER_THIRD, fdt_slicer_init, NULL);
+SYSUNINIT(fdt_slicer, SI_SUB_DRIVERS, SI_ORDER_THIRD, fdt_slicer_cleanup, NULL);
 
 static int
 mod_handler(module_t mod, int type, void *data)
@@ -181,5 +181,5 @@ static moduledata_t fdt_slicer_mod = {
 	"fdt_slicer", mod_handler, NULL
 };
 
-DECLARE_MODULE(fdt_slicer, fdt_slicer_mod, SI_SUB_DRIVERS, SI_ORDER_SECOND);
+DECLARE_MODULE(fdt_slicer, fdt_slicer_mod, SI_SUB_DRIVERS, SI_ORDER_THIRD);
 MODULE_VERSION(fdt_slicer, 1);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201910031247.x93Cl5gm080664>