usb-core: Add a usb_ep_find_packet_by_id() helper function
Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
		
							parent
							
								
									cc40997489
								
							
						
					
					
						commit
						c13a9e6136
					
				
							
								
								
									
										2
									
								
								hw/usb.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								hw/usb.h
									
									
									
									
									
								
							@ -377,6 +377,8 @@ void usb_ep_set_max_packet_size(USBDevice *dev, int pid, int ep,
 | 
				
			|||||||
                                uint16_t raw);
 | 
					                                uint16_t raw);
 | 
				
			||||||
int usb_ep_get_max_packet_size(USBDevice *dev, int pid, int ep);
 | 
					int usb_ep_get_max_packet_size(USBDevice *dev, int pid, int ep);
 | 
				
			||||||
void usb_ep_set_pipeline(USBDevice *dev, int pid, int ep, bool enabled);
 | 
					void usb_ep_set_pipeline(USBDevice *dev, int pid, int ep, bool enabled);
 | 
				
			||||||
 | 
					USBPacket *usb_ep_find_packet_by_id(USBDevice *dev, int pid, int ep,
 | 
				
			||||||
 | 
					                                    uint64_t id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void usb_attach(USBPort *port);
 | 
					void usb_attach(USBPort *port);
 | 
				
			||||||
void usb_detach(USBPort *port);
 | 
					void usb_detach(USBPort *port);
 | 
				
			||||||
 | 
				
			|||||||
@ -726,3 +726,18 @@ void usb_ep_set_pipeline(USBDevice *dev, int pid, int ep, bool enabled)
 | 
				
			|||||||
    struct USBEndpoint *uep = usb_ep_get(dev, pid, ep);
 | 
					    struct USBEndpoint *uep = usb_ep_get(dev, pid, ep);
 | 
				
			||||||
    uep->pipeline = enabled;
 | 
					    uep->pipeline = enabled;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					USBPacket *usb_ep_find_packet_by_id(USBDevice *dev, int pid, int ep,
 | 
				
			||||||
 | 
					                                    uint64_t id)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    struct USBEndpoint *uep = usb_ep_get(dev, pid, ep);
 | 
				
			||||||
 | 
					    USBPacket *p;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    while ((p = QTAILQ_FIRST(&uep->queue)) != NULL) {
 | 
				
			||||||
 | 
					        if (p->id == id) {
 | 
				
			||||||
 | 
					            return p;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return NULL;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user