diff --git a/config/redbear-device-services.toml b/config/redbear-device-services.toml index 04d897677c..ec4308c1ab 100644 --- a/config/redbear-device-services.toml +++ b/config/redbear-device-services.toml @@ -6,7 +6,11 @@ redbear-quirks = {} pciids = {} fatd = {} -driver-manager = {} +# driver-manager intentionally not included: it is the intended future +# replacement for pcid-spawner but is not yet ready (driver config migration +# pending) and was previously packaged-but-unused — its service launched +# pcid-spawner instead of driver-manager. Consolidated on pcid-spawner for +# now; the recipe source is kept for when the migration is completed. # Firmware fallback chain configs [[files]] @@ -478,8 +482,11 @@ priority = 70 command = ["/usr/bin/redbear-usbaudiod"] """ -# Profiles that include this fragment should start `driver-manager` instead of -# `pcid-spawner`; the manager performs the PCI bind/channel handoff itself. +# PCI driver spawning is performed by pcid-spawner (the base recipe's +# 00_pcid-spawner.service, oneshot_async). driver-manager is the intended +# future replacement but is not yet ready; do NOT create a separate +# 00_driver-manager.service here — it previously duplicated pcid-spawner +# (two async instances of the same spawner racing to spawn drivers). # Firmware fallback chain configs [[files]] path = "/etc/firmware-fallbacks.d/00-amdgpu.toml" @@ -508,19 +515,11 @@ data = """ pattern = "i915/adlp_dmc_ver2_16.bin" chain = ["i915/adlp_dmc_ver2_14.bin", "i915/adlp_dmc_ver2_12.bin"] """ -[[files]] -path = "/etc/init.d/00_driver-manager.service" -data = """ -[unit] -description = "PCI driver spawner" -requires_weak = [ - "00_base.target", -] -[service] -cmd = "pcid-spawner" -type = "oneshot_async" -""" +# There must be exactly one PCI driver spawner service in the image: the +# base recipe's 00_pcid-spawner.service (oneshot_async). Do not add a +# second, differently-named service that also launches pcid-spawner — two +# async instances race to spawn the same drivers. # Firmware fallback chain configs [[files]] @@ -786,7 +785,7 @@ path = "/etc/init.d/13_driver-params.service" data = """ [unit] description = "Driver parameter scheme" -requires_weak = ["00_driver-manager.service"] +requires_weak = ["00_pcid-spawner.service"] [service] cmd = "/usr/bin/driver-params"