Добрый день! Недавно столкнулся тоже же проблемой MassStorage. Использовался STM32F427 заменил на GD32F450.
В файле usbd_conf.c, в функции "void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd)" вызывается "__HAL_PCD_GATE_PHYCLOCK(hpcd)" для приостановки клока USB. А в функции "void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd)" клок USB не восстанавливался, для того что бы заработало нужно добавить в эту функцию "__HAL_PCD_UNGATE_PHYCLOCK(hpcd)" после функции "USBD_LL_Resume((USBD_HandleTypeDef*)hpcd->pData)".
Может это и не ваш случай, но мне помогло. И еще заметил, что GD32F450 не работает USB если не активировать vbus_sensing_enable и не настроить ногу USB_OTG_FS_VBUS на вход.