X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/a765f717273728139966f97c634ccffe52d218df..559ca2ba046e47faa54f0845339f0385a5cfbb26:/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.c?ds=inline diff --git a/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.c b/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.c index d9fe47d3b..57aba4599 100644 --- a/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.c +++ b/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.c @@ -150,11 +150,16 @@ int main(void) printf("Vendor \"%.8s\", Product \"%.16s\"\r\n", InquiryData.VendorID, InquiryData.ProductID); printf("Waiting until ready...\r\n"); - bool DeviceReady; - do + for (;;) { - if (MS_Host_TestUnitReady(&FlashDisk_MS_Interface, 0, &DeviceReady)) + uint8_t ErrorCode = MS_Host_TestUnitReady(&FlashDisk_MS_Interface, 0); + + if (!(ErrorCode)) + break; + + /* Check if an error other than a logical command error (device busy) received */ + if (ErrorCode != MS_ERROR_LOGICAL_CMD_FAILED) { printf("Error waiting for device to be ready.\r\n"); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); @@ -162,7 +167,6 @@ int main(void) break; } } - while (!(DeviceReady)); printf("Retrieving Capacity... ");