1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-17 21:35:44 +03:00

Don't call flashfsGetOffset if device is not found or unsupported. (#5684)

This commit is contained in:
jflyper 2018-04-16 19:32:58 +09:00 committed by Michael Keller
parent 4e024f5467
commit 0cb6205f05

View file

@ -285,20 +285,24 @@ static void serializeSDCardSummaryReply(sbuf_t *dst)
static void serializeDataflashSummaryReply(sbuf_t *dst) static void serializeDataflashSummaryReply(sbuf_t *dst)
{ {
#ifdef USE_FLASHFS #ifdef USE_FLASHFS
const flashGeometry_t *geometry = flashfsGetGeometry(); if (flashfsIsSupported()) {
uint8_t flags = (flashfsIsReady() ? MSP_FLASHFS_FLAG_READY : 0); uint8_t flags = MSP_FLASHFS_FLAG_SUPPORTED;
flags |= (flashfsIsSupported() ? MSP_FLASHFS_FLAG_SUPPORTED : 0); flags |= (flashfsIsReady() ? MSP_FLASHFS_FLAG_READY : 0);
const flashGeometry_t *geometry = flashfsGetGeometry();
sbufWriteU8(dst, flags); sbufWriteU8(dst, flags);
sbufWriteU32(dst, geometry->sectors); sbufWriteU32(dst, geometry->sectors);
sbufWriteU32(dst, geometry->totalSize); sbufWriteU32(dst, geometry->totalSize);
sbufWriteU32(dst, flashfsGetOffset()); // Effectively the current number of bytes stored on the volume sbufWriteU32(dst, flashfsGetOffset()); // Effectively the current number of bytes stored on the volume
#else } else
sbufWriteU8(dst, 0); // FlashFS is neither ready nor supported
sbufWriteU32(dst, 0);
sbufWriteU32(dst, 0);
sbufWriteU32(dst, 0);
#endif #endif
// FlashFS is not configured or valid device is not detected
{
sbufWriteU8(dst, 0);
sbufWriteU32(dst, 0);
sbufWriteU32(dst, 0);
sbufWriteU32(dst, 0);
}
} }
#ifdef USE_FLASHFS #ifdef USE_FLASHFS