Correct. Modules might be loaded at any order, so the 'sd' module might be loaded prior to the 'sg' module. Also the 'init' function from the 'sd' driver might be called prior to the 'init' function of the 'sg' driver, causing the sd device to appear _before_ the sg device, and the udev rules relying on the sg device to be present will fail.