mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-11-04 07:12:33 +01:00 
			
		
		
		
	Fixed MassStorage demo not clearing the reset flag when a Mass Storage Reset is issued while not processing a command.
This commit is contained in:
		
							parent
							
								
									a3a04aa671
								
							
						
					
					
						commit
						bb23e55f11
					
				@ -218,9 +218,6 @@ void MassStorage_Task(void)
 | 
			
		||||
					Endpoint_ClearStall();
 | 
			
		||||
					Endpoint_SelectEndpoint(MASS_STORAGE_IN_EPNUM);
 | 
			
		||||
					Endpoint_ClearStall();
 | 
			
		||||
 | 
			
		||||
					/* Clear the abort transfer flag */
 | 
			
		||||
					IsMassStoreReset = false;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				/* Indicate ready */
 | 
			
		||||
@ -232,6 +229,9 @@ void MassStorage_Task(void)
 | 
			
		||||
				LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/* Clear the abort transfer flag */
 | 
			
		||||
		IsMassStoreReset = false;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -90,6 +90,7 @@ static uint8_t MassStore_SendCommand(void)
 | 
			
		||||
	/* Send the data in the OUT pipe to the attached device */
 | 
			
		||||
	Pipe_ClearOUT();
 | 
			
		||||
	
 | 
			
		||||
	/* Wait until command has been sent */
 | 
			
		||||
	while(!(Pipe_IsOUTReady()));
 | 
			
		||||
 | 
			
		||||
	/* Freeze pipe after use */
 | 
			
		||||
 | 
			
		||||
@ -131,11 +131,11 @@ void MS_Device_USBTask(USB_ClassInfo_MS_Device_t* MSInterfaceInfo)
 | 
			
		||||
				Endpoint_ClearStall();
 | 
			
		||||
				Endpoint_SelectEndpoint(MSInterfaceInfo->Config.DataINEndpointNumber);
 | 
			
		||||
				Endpoint_ClearStall();
 | 
			
		||||
 | 
			
		||||
				MSInterfaceInfo->State.IsMassStoreReset = false;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	MSInterfaceInfo->State.IsMassStoreReset = false;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static bool MS_Device_ReadInCommandBlock(USB_ClassInfo_MS_Device_t* MSInterfaceInfo)
 | 
			
		||||
 | 
			
		||||
@ -48,8 +48,7 @@ bool Pipe_ConfigurePipe(const uint8_t Number, const uint8_t Type, const uint8_t
 | 
			
		||||
	UPCFG0X = ((Type << EPTYPE0) | Token | ((EndpointNumber & PIPE_EPNUM_MASK) << PEPNUM0));
 | 
			
		||||
	UPCFG1X = ((1 << ALLOC) | Banks | Pipe_BytesToEPSizeMask(Size));
 | 
			
		||||
 | 
			
		||||
	if (Token == PIPE_TOKEN_IN)
 | 
			
		||||
	  Pipe_SetInfiniteINRequests();
 | 
			
		||||
	Pipe_SetInfiniteINRequests();
 | 
			
		||||
 | 
			
		||||
	return Pipe_IsConfigured();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -31,9 +31,11 @@
 | 
			
		||||
  *  - Added new USE_INTERNAL_SERIAL define for using the unique serial numbers in some AVR models as the USB device's serial number,
 | 
			
		||||
  *    added NO_INTERNAL_SERIAL compile time option to turn off new serial number reading code
 | 
			
		||||
  *  - Fixed ADC driver for the ATMEGA32U4 and ATMEGA16U4 (thanks to Opendous Inc.)
 | 
			
		||||
  *  - Fixed CDCHost demo unfreezing the pipes at the point of configuration, rather than use
 | 
			
		||||
  *  - Pipe stream functions now automatically set the correct pipe token, so that bidirectional pipes can be used
 | 
			
		||||
  *  - Pipe_ConfigurePipe() now automatically defaults IN pipes to accepting infinite IN requests, this can still be changed by calling
 | 
			
		||||
  *    the existing \ref Pipe_SetFiniteINRequests() function
 | 
			
		||||
  *  - Fixed MassStorage demo not clearing the reset flag when a Mass Storage Reset is issued while not processing a command
 | 
			
		||||
  *
 | 
			
		||||
  *
 | 
			
		||||
  *  \section Sec_ChangeLog090605 Version 090605
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user