USB connection isn't disabled temporary between running bootloader and running main program

The USB pullup isn’t disabled when exiting the bootloader. This could give problems with some operating systems as the USB disconnect/connect time is almost zero. This might not actually match the USB specifications. For Windows this means that the USB disconnect/connect sounds are not properly played back, which is not a real problem, but can be confusing. I have fixed this by changing this code in Nuttx file stm32_otgfsdev.c, function usbdev_register:

stm32_pullup(&priv->usbdev, false);
usleep(1500000);
stm32_pullup(&priv->usbdev, true);

Perhaps there is a better solution to this, which can be applied to the main branch?
Thanks a lot.