projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix redefinition warning when USB_DEVICE_ONLY is set on an AVR which does not support...
[pub/USBasp.git]
/
Demos
/
Device
/
ClassDriver
/
MassStorage
/
Lib
/
DataflashManager.c
diff --git
a/Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.c
b/Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.c
index
1c584e7
..
5f12d02
100644
(file)
--- a/
Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.c
+++ b/
Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.c
@@
-69,7
+69,11
@@
void DataflashManager_WriteBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, co
Dataflash_SendAddressBytes(0, CurrDFPageByte);
\r
\r
/* Wait until endpoint is ready before continuing */
\r
Dataflash_SendAddressBytes(0, CurrDFPageByte);
\r
\r
/* Wait until endpoint is ready before continuing */
\r
- while (!(Endpoint_IsReadWriteAllowed()));
\r
+ while (!(Endpoint_IsReadWriteAllowed()))
\r
+ {
\r
+ if (USB_DeviceState == DEVICE_STATE_Unattached)
\r
+ return;
\r
+ }
\r
\r
while (TotalBlocks)
\r
{
\r
\r
while (TotalBlocks)
\r
{
\r
@@
-85,7
+89,11
@@
void DataflashManager_WriteBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, co
Endpoint_ClearOUT();
\r
\r
/* Wait until the host has sent another packet */
\r
Endpoint_ClearOUT();
\r
\r
/* Wait until the host has sent another packet */
\r
- while (!(Endpoint_IsReadWriteAllowed()));
\r
+ while (!(Endpoint_IsReadWriteAllowed()))
\r
+ {
\r
+ if (USB_DeviceState == DEVICE_STATE_Unattached)
\r
+ return;
\r
+ }
\r
}
\r
\r
/* Check if end of dataflash page reached */
\r
}
\r
\r
/* Check if end of dataflash page reached */
\r
@@
-197,7
+205,11
@@
void DataflashManager_ReadBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, con
Dataflash_SendByte(0x00);
\r
\r
/* Wait until endpoint is ready before continuing */
\r
Dataflash_SendByte(0x00);
\r
\r
/* Wait until endpoint is ready before continuing */
\r
- while (!(Endpoint_IsReadWriteAllowed()));
\r
+ while (!(Endpoint_IsReadWriteAllowed()))
\r
+ {
\r
+ if (USB_DeviceState == DEVICE_STATE_Unattached)
\r
+ return;
\r
+ }
\r
\r
while (TotalBlocks)
\r
{
\r
\r
while (TotalBlocks)
\r
{
\r
@@
-213,7
+225,11
@@
void DataflashManager_ReadBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, con
Endpoint_ClearIN();
\r
\r
/* Wait until the endpoint is ready for more data */
\r
Endpoint_ClearIN();
\r
\r
/* Wait until the endpoint is ready for more data */
\r
- while (!(Endpoint_IsReadWriteAllowed()));
\r
+ while (!(Endpoint_IsReadWriteAllowed()))
\r
+ {
\r
+ if (USB_DeviceState == DEVICE_STATE_Unattached)
\r
+ return;
\r
+ }
\r
}
\r
\r
/* Check if end of dataflash page reached */
\r
}
\r
\r
/* Check if end of dataflash page reached */
\r