mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-31 05:12:33 +01:00 
			
		
		
		
	Minor correction to the DevChapter9.c handling of Set and Clear feature requests -- remote wake up requests now complete correctly rather than stalling the request.
This commit is contained in:
		
							parent
							
								
									a908773a13
								
							
						
					
					
						commit
						2bd88ebc4f
					
				| @ -274,6 +274,8 @@ static void USB_Device_ClearSetFeature(void) | ||||
| 		case REQREC_DEVICE: | ||||
| 			if ((uint8_t)USB_ControlRequest.wValue == FEATURE_REMOTE_WAKEUP) | ||||
| 			  USB_RemoteWakeupEnabled = (USB_ControlRequest.bRequest == REQ_SetFeature); | ||||
| 			else | ||||
| 			  return; | ||||
| 			 | ||||
| 			break;			 | ||||
| #if !defined(CONTROL_ONLY_DEVICE) | ||||
| @ -282,8 +284,9 @@ static void USB_Device_ClearSetFeature(void) | ||||
| 			{ | ||||
| 				uint8_t EndpointIndex = ((uint8_t)USB_ControlRequest.wIndex & ENDPOINT_EPNUM_MASK); | ||||
| 				 | ||||
| 				if (EndpointIndex != ENDPOINT_CONTROLEP) | ||||
| 				{ | ||||
| 				if (EndpointIndex == ENDPOINT_CONTROLEP) | ||||
| 				  return; | ||||
| 
 | ||||
| 				Endpoint_SelectEndpoint(EndpointIndex); | ||||
| 
 | ||||
| 				if (Endpoint_IsEnabled()) | ||||
| @ -299,16 +302,20 @@ static void USB_Device_ClearSetFeature(void) | ||||
| 						Endpoint_StallTransaction();						 | ||||
| 					} | ||||
| 				} | ||||
| 
 | ||||
| 					Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP); | ||||
| 					Endpoint_ClearSETUP(); | ||||
| 					Endpoint_ClearIN(); | ||||
| 				} | ||||
| 			} | ||||
| 			 | ||||
| 			break; | ||||
| #endif | ||||
| 	} | ||||
| 
 | ||||
| 	Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP); | ||||
| 
 | ||||
| 	Endpoint_ClearSETUP(); | ||||
| 
 | ||||
| 	Endpoint_ClearIN(); | ||||
| 
 | ||||
| 	while (!(Endpoint_IsOUTReceived())); | ||||
| 	Endpoint_ClearOUT(); | ||||
| } | ||||
| 
 | ||||
| #endif | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Dean Camera
						Dean Camera