Recently when developing a Linux device that presents itself as USB Drive to Windows, with a filesystem created every mount using mkfs.fat, however when mounted (via g_mass_storage) and presented to Windows it always shows the message "There might be a problem with some files on this device or disc. This can happen if you remove the device or disc before all files have been written to it."
After letting windows fix it, Windows reports that there were no errors found.
What causes Windows to report "there is a problem with this drive"?